preorder-alipay.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. /**
  3. * 主扫交易示例 - 支付宝
  4. */
  5. require_once '../../vendor/autoload.php';
  6. $config = new \Lakala\OpenAPISDK\V3\Configuration();
  7. $tradeLocationInfo = new \Lakala\OpenAPISDK\V3\Model\TradeLocationInfo('106.37.232.115');
  8. // 主扫交易Api
  9. $api = new \Lakala\OpenAPISDK\V3\Api\TransPreorderApi($config);
  10. // 主扫交易参数
  11. $request = new \Lakala\OpenAPISDK\V3\Model\TransPreorderRequest();
  12. // 必填参数
  13. $request->setMerchantNo('822290070111135');
  14. $request->setTermNo('29034705');
  15. $request->setOutTradeNo(date('YmdHis', time()));
  16. $request->setAccountType('ALIPAY');
  17. $request->setTransType('41');
  18. $request->setTotalAmount('10000'); // 单位分
  19. $request->setLocationInfo($tradeLocationInfo);
  20. // 非必填参数
  21. $request->setBusiMode('');
  22. $request->setSubject('');
  23. $request->setPayOrderNo('');
  24. $request->setNotifyUrl('https://www.test.com/lakela_order_payment_callback.php');
  25. $request->setSettleType('');
  26. $request->setRemark('');
  27. $request->setPromoInfo('');
  28. $request->setOutOrderNo('');
  29. $request->setPnrInsIdCd('');
  30. // 支付宝主扫场景 - 账户端业务信息
  31. $acc_busi_fields = new \Lakala\OpenAPISDK\V3\Model\TradePreorderAlipayAccBusiFields();
  32. $acc_busi_fields->setUserId('2843132323');
  33. $acc_busi_fields->setTimeoutExpress('');
  34. $acc_busi_fields->setQuitUrl('');
  35. $acc_busi_fields->setStoreId('');
  36. $acc_busi_fields->setDisablePayChannels('');
  37. $acc_busi_fields->setBusinessParams('');
  38. $acc_busi_fields->setMinAge('');
  39. // 支付宝主扫场景 - extend_params
  40. $extend_params = new \Lakala\OpenAPISDK\V3\Model\TradePreorderAlipayExtendParams();
  41. $extend_params->setSysServiceProviderId('12121');
  42. $extend_params->setHbFqNum('');
  43. $extend_params->setHbFqSellerPercent('');
  44. $extend_params->setFoodOrderType('');
  45. $acc_busi_fields->setExtendParams($extend_params);
  46. // 支付宝主扫场景 - 商品信息
  47. $goods_detail = new \Lakala\OpenAPISDK\V3\Model\TradePreorderAlipayGoodsDetail();
  48. $goods_detail->setGoodsId('1042e1e1e');
  49. $goods_detail->setAlipayGoodsId('');
  50. $goods_detail->setGoodsName('');
  51. $goods_detail->setQuantity('');
  52. $goods_detail->setPrice('');
  53. $goods_detail->setGoodsCategory('');
  54. $goods_detail->setCategoriesTree('');
  55. $goods_detail->setBody('');
  56. $goods_detail->setShowUrl('');
  57. $goods_detail1 = new \Lakala\OpenAPISDK\V3\Model\TradePreorderAlipayGoodsDetail();
  58. $goods_detail1->setGoodsId('37024242');
  59. $goods_detail1->setAlipayGoodsId('');
  60. $goods_detail1->setGoodsName('');
  61. $goods_detail1->setQuantity('');
  62. $goods_detail1->setPrice('');
  63. $goods_detail1->setGoodsCategory('');
  64. $goods_detail1->setCategoriesTree('');
  65. $goods_detail1->setBody('');
  66. $goods_detail1->setShowUrl('');
  67. $acc_busi_fields->setGoodsDetail([$goods_detail, $goods_detail1]);
  68. // 账户端业务信息
  69. $request->setAccBusiFields($acc_busi_fields);
  70. try {
  71. $response = $api->transPreorder($request);
  72. if ($response->getRespData()) {
  73. print_r($response->getRespData());
  74. print_r($response->getAccRespFields());
  75. }
  76. else {
  77. print_r($response);
  78. }
  79. echo $response->getCode();
  80. # 响应头信息
  81. print_r($response->getHeaders());
  82. # 响应原文
  83. echo $response->getOriginalText();
  84. } catch (\Lakala\OpenAPISDK\V3\ApiException $e) {
  85. echo $e->getMessage();
  86. }