فهرست منبع

跨境商品支付接入

kevin 1 سال پیش
والد
کامیت
d39b3deb66
2فایلهای تغییر یافته به همراه18 افزوده شده و 7 حذف شده
  1. 12 0
      common/models/ShopGoods.php
  2. 6 7
      frontendApi/modules/v1/controllers/ShopController.php

+ 12 - 0
common/models/ShopGoods.php

@@ -66,6 +66,13 @@ class ShopGoods extends \common\components\ActiveRecord
         ],
     ];
 
+    const BANK_CODE = [
+        'WECHAT'        => 'WeChat',
+        'WAPWECHAT'     => 'WeChat',
+        'ALIPAY'        => 'ALiPay',
+        'WEBSITEALIPAY' => 'ALiPay',
+    ];
+
     const GOODS_TYPE = [
         1 =>[
             'name'=>'国内商品',
@@ -253,4 +260,9 @@ class ShopGoods extends \common\components\ActiveRecord
 
         return $result;
     }
+
+    public static function getBankCode($payCode)
+    {
+        return self::BANK_CODE[$payCode];
+    }
 }

+ 6 - 7
frontendApi/modules/v1/controllers/ShopController.php

@@ -300,20 +300,19 @@ class ShopController extends BaseController {
 
             $post['type'] = DeclarationForm::TYPE_FX;
             if ($formModel->load($post, '') && $order = $formModel->add()) {
-                // 银行代码
-                $bankCode = \Yii::$app->request->post('bankCode');
                 // 订单商品
                 $orderProducts = ApproachOrderGoods::findOneAsArray(['ORDER_SN' => $order->SN]);
                 // 支付报文
                 $payload = [
                     "version" => "2.0.0",   // 版本号.定值2.0.0
                     "trade_code" => "PAY",  // 交易代码
-                    "bank_code" => $bankCode, // 银行代码
+                    "bank_code" => $post['payType'], // 银行代码
                     "agencyId" => \Yii::$app->params['UPOP']['agencyId'], // 商户号
                     "child_merchant_no" => \Yii::$app->params['UPOP']['childMerchantId'], // 子商户号
                     "terminal_no" => \Yii::$app->params['UPOP']['terminalId'], // 商户终端号
                     "order_no" => $order->SN . mt_rand(0, 10000000),   // 第三方订单号
-                    "amount" => number_format($order['PAY_AMOUNT'], 2),   // 交易金额(元) 2位小数
+//                    "amount" => number_format($order['PAY_AMOUNT'], 2),   // 交易金额(元) 2位小数
+                    "amount" => number_format('0.01', 2),   // 交易金额(元) 2位小数
                     "currency_type" => "HKD",   // 交易币种 HKD(港币)
                     "sett_currency_type" => "HKD",  // 清算币种 HKD(港币)
                     "product_name" => $orderProducts['GOODS_TITLE'], // 产品名称
@@ -324,7 +323,7 @@ class ShopController extends BaseController {
                 // 预支付
                 $response = (new PaySign())->sendEncodeData($payload, \Yii::$app->params['UPOP']['backPayUrl']);
                 // 预支付结果写入表
-                ApproachOrder::updateAll(['REMARK' => json_encode($response)], 'SN=:SN', [':SN' => $order->SN]);
+                ApproachOrder::updateAll(['REMARK' => json_encode($response['pay'] = ShopGoods::getBankCode($post['payType']))], 'SN=:SN', [':SN' => $order->SN]);
 
                 return static::notice($response);
             } else {
@@ -724,12 +723,12 @@ class ShopController extends BaseController {
         // 订单ID
 //        $refNo = \Yii::$app->request->post('refNo');
         // 银行代码
-//        $bankCode = \Yii::$app->request->post('bankCode');
+        $bankCode = \Yii::$app->request->post('bankCode');
 
         // 订单ID
         $refNo = 'OS202310198286872118';
         // 银行代码
-        $bankCode = "WAPALIPAY";
+//        $bankCode = "WAPALIPAY";
 
         // 订单
         $order = ApproachOrder::findOneAsArray(['SN' => $refNo]);