preorder-wechat.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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('WECHAT');
  17. $request->setTransType('41');
  18. $request->setTotalAmount('10000'); // 单位分
  19. $request->setLocationInfo($tradeLocationInfo);
  20. $request->setSubject('通过微信支付');
  21. // 非必填参数
  22. $request->setBusiMode('');
  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\TradePreorderWechaAccBusiFields();
  32. $acc_busi_fields->setTimeoutExpress('');
  33. $acc_busi_fields->setSubAppid('');
  34. $acc_busi_fields->setUserId('2843132323');
  35. $acc_busi_fields->setDetail('');
  36. $acc_busi_fields->setGoodsTag('');
  37. $acc_busi_fields->setAttach('');
  38. $acc_busi_fields->setDeviceInfo('');
  39. $acc_busi_fields->setLimitPay('');
  40. $acc_busi_fields->setSceneInfo('');
  41. $acc_busi_fields->setLimitPayer('');
  42. $detail = new \Lakala\OpenAPISDK\V3\Model\TradePreorderWechaDetail;
  43. $detail->setCostPrice('100');
  44. $detail->setReceiptId('');
  45. $goods_detail = new \Lakala\OpenAPISDK\V3\Model\TradePreorderWechaGoodsDetail;
  46. $goods_detail->setGoodsId('3452234');
  47. $goods_detail->setWxpayGoodsId('');
  48. $goods_detail->setGoodsName('');
  49. $goods_detail->setQuantity('');
  50. $goods_detail->setPrice('');
  51. $detail->setGoodsDetail([$goods_detail]);
  52. $acc_busi_fields->setDetail($detail);
  53. // 账户端业务信息
  54. $request->setAccBusiFields($acc_busi_fields);
  55. try {
  56. $response = $api->transPreorder($request);
  57. if ($response->getRespData()) {
  58. print_r($response->getRespData());
  59. print_r($response->getAccRespFields());
  60. }
  61. else {
  62. print_r($response);
  63. }
  64. echo $response->getCode();
  65. # 响应头信息
  66. print_r($response->getHeaders());
  67. # 响应原文
  68. echo $response->getOriginalText();
  69. } catch (\Lakala\OpenAPISDK\V3\ApiException $e) {
  70. echo $e->getMessage();
  71. }