AppleController.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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\apple\controller\v8;
  13. use api\common\controller\AppleApiBaseController;
  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 AppleApiBaseController {
  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. $_receipt_data = urldecode($_receipt_data);
  48. $_rs = (new ApplePay())->orderQuery(
  49. $_order_data['order_id'], $_order_data['trans_id'], $_receipt_data, $_order_data['sandbox'],
  50. $_device_rq->getMac(), $_game_rq->getAppleId()
  51. );
  52. $this->returnData($_rs);
  53. }
  54. }