|
|
@@ -4,6 +4,7 @@ namespace SixShop\Lakala\Service;
|
|
|
|
|
|
use SixShop\Lakala\OpenAPISDK\V3\Api\TransPreorderApi;
|
|
|
use SixShop\Lakala\OpenAPISDK\V3\Configuration;
|
|
|
+use SixShop\Lakala\OpenAPISDK\V3\Model\TradeAccBusiFields;
|
|
|
use SixShop\Lakala\OpenAPISDK\V3\Model\TradePreorderWechaAccBusiFields;
|
|
|
use SixShop\Lakala\OpenAPISDK\V3\Model\TradePreorderWechaDetail;
|
|
|
use SixShop\Lakala\OpenAPISDK\V3\Model\TradePreorderWechaGoodsDetail;
|
|
|
@@ -44,12 +45,12 @@ class TransactionService
|
|
|
LocationInfo $locationInfo,
|
|
|
string $accountType = 'WECHAT',
|
|
|
string $transType = '71',
|
|
|
- string $busiMode = '',
|
|
|
+ string $busiMode = 'ACQ',
|
|
|
string $subject = '',
|
|
|
string $payOrderNo = '',
|
|
|
string $settleType = '',
|
|
|
string $remark = '',
|
|
|
- object $accBusiFields = null,
|
|
|
+ TradeAccBusiFields $accBusiFields = null,
|
|
|
)
|
|
|
{
|
|
|
$request = new TransPreorderRequest();
|
|
|
@@ -62,48 +63,16 @@ class TransactionService
|
|
|
$totalAmount = round($totalAmount * 100, 0);
|
|
|
$request->setTotalAmount($totalAmount); // 单位分
|
|
|
$request->setLocationInfo($locationInfo);
|
|
|
- $request->setSubject($subject);
|
|
|
|
|
|
// 非必填参数
|
|
|
$request->setBusiMode($busiMode);
|
|
|
+ $request->setSubject($subject);
|
|
|
$request->setPayOrderNo($payOrderNo);
|
|
|
$request->setNotifyUrl($this->config->notify_url);
|
|
|
$request->setSettleType($settleType);
|
|
|
$request->setRemark($remark);
|
|
|
- // $request->setPromoInfo('');
|
|
|
- // $request->setOutOrderNo('');
|
|
|
- // $request->setPnrInsIdCd('');
|
|
|
-
|
|
|
- // 微信主扫场景 - 账户端业务信息
|
|
|
- $acc_busi_fields = new TradePreorderWechaAccBusiFields();
|
|
|
- $acc_busi_fields->setTimeoutExpress('');
|
|
|
- $acc_busi_fields->setSubAppid('wx1308d811d01639eb');
|
|
|
- $acc_busi_fields->setUserId('oPuRO15wmxv3AwRyEznRfuDLehrk');
|
|
|
- $acc_busi_fields->setDetail('');
|
|
|
- $acc_busi_fields->setGoodsTag('');
|
|
|
- $acc_busi_fields->setAttach('');
|
|
|
- $acc_busi_fields->setDeviceInfo('');
|
|
|
- $acc_busi_fields->setLimitPay('');
|
|
|
- $acc_busi_fields->setSceneInfo('');
|
|
|
- $acc_busi_fields->setLimitPayer('');
|
|
|
-
|
|
|
- $detail = new TradePreorderWechaDetail();
|
|
|
- $detail->setCostPrice($totalAmount);
|
|
|
- $detail->setReceiptId('');
|
|
|
-
|
|
|
- $goods_detail = new TradePreorderWechaGoodsDetail();
|
|
|
- $goods_detail->setGoodsId('3452234');
|
|
|
- $goods_detail->setWxpayGoodsId('');
|
|
|
- $goods_detail->setGoodsName('');
|
|
|
- $goods_detail->setQuantity(1);
|
|
|
- $goods_detail->setPrice($totalAmount);
|
|
|
-
|
|
|
- $detail->setGoodsDetail([$goods_detail]);
|
|
|
-
|
|
|
- $acc_busi_fields->setDetail($detail);
|
|
|
-
|
|
|
- // 账户端业务信息
|
|
|
- $request->setAccBusiFields($acc_busi_fields);
|
|
|
+ $request->setAccBusiFields($accBusiFields);
|
|
|
+ $request->setCompleteNotifyUrl($this->config->complete_notify_url);
|
|
|
|
|
|
try {
|
|
|
$response = $this->transPreorderApi->transPreorder($request);
|