AppleController.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. /**
  3. * AppleController.php UTF-8
  4. * 苹果订单处理
  5. *
  6. * @date : 2018/3/17 15:29
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : wuyonghong <wyh@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace api\sdk\controller\v8;
  13. use api\common\controller\V2ApiBaseController;
  14. use huo\controller\pay\ApplePay;
  15. use huolib\status\OrderStatus;
  16. use huolib\tool\StrUtils;
  17. use think\Log;
  18. use think\Request;
  19. class AppleController extends V2ApiBaseController {
  20. public function __construct(Request $request = null) {
  21. parent::__construct($request);
  22. }
  23. public function _initialize() {
  24. parent::_initialize();
  25. }
  26. /**
  27. * 苹果验单
  28. * http://doc.1tsdk.com/138?page_id=2910
  29. * 【域名】/v8/apple/check
  30. */
  31. public function check() {
  32. $_order_data = get_val($this->rq_data, 'order', []);
  33. $_game_rq = $this->setGameData();
  34. $_device_rq = $this->setDeviceData();
  35. if (empty($_order_data)) {
  36. $_code = OrderStatus::INVALID_PARAMS;
  37. $this->error(OrderStatus::getMsg($_code), [], $_code);
  38. }
  39. if (empty($_order_data['product_id']) || empty($_order_data['trans_id'])
  40. || empty($_order_data['receipt_data'])
  41. || !isset($_order_data['order_id'])
  42. || !isset($_order_data['sandbox'])) {
  43. $_code = OrderStatus::INVALID_PARAMS;
  44. $this->error(OrderStatus::getMsg($_code), [], $_code);
  45. }
  46. $_receipt_data = (new StrUtils())->trimAll($_order_data['receipt_data']);
  47. $_rs = (new ApplePay())->orderQuery(
  48. $_order_data['order_id'], $_order_data['trans_id'], $_receipt_data, $_order_data['sandbox'],
  49. $_device_rq->getMac(), $_game_rq->getAppleId()
  50. );
  51. $this->returnData($_rs);
  52. }
  53. }