xieruidong 2 years ago
parent
commit
f86cc68ccd

+ 7 - 4
application/common/library/upacp_demo_b2c/demo/api_01_gateway/Form_6_2_FrontConsume.php

@@ -22,7 +22,10 @@ include_once __DIR__ . '/../../sdk/acp_service.php';
  *       2)交易状态查询交易(Form_6_5_Query)建议调用机制:前台类交易建议间隔(5分、10分、30分、60分、120分)发起交易查询,如果查询到结果成功,则不用再查询。(失败,处理中,查询不到订单均可能为中间状态)。也可以建议商户使用payTimeout(支付超时时间),过了这个时间点查询,得到的结果为最终结果。
  */
 
-function ylUnifyOrder($orderId,$amount){
+function ylUnifyOrder($orderId,$amount,$expire,$backUrl,$frontUrl=null){
+    if(is_null($frontUrl)){
+        $frontUrl=request()->domain();
+    }
     $params = array(
         //以下信息非特殊情况不需要改动
         'version' => com\unionpay\acp\sdk\SDKConfig::getSDKConfig()->version,                 //版本号
@@ -30,8 +33,8 @@ function ylUnifyOrder($orderId,$amount){
         'txnType' => '01',				      //交易类型
         'txnSubType' => '01',				  //交易子类
         'bizType' => '000201',				  //业务类型
-        'frontUrl' =>  com\unionpay\acp\sdk\SDKConfig::getSDKConfig()->frontUrl,  //前台通知地址
-        'backUrl' => com\unionpay\acp\sdk\SDKConfig::getSDKConfig()->backUrl,	  //后台通知地址
+        'frontUrl' =>  $frontUrl,  //前台通知地址
+        'backUrl' => $backUrl,	  //后台通知地址
         'signMethod' => com\unionpay\acp\sdk\SDKConfig::getSDKConfig()->signMethod,	              //签名方法
         'channelType' => '08',	              //渠道类型,07-PC,08-手机
         'accessType' => '0',		          //接入类型
@@ -47,7 +50,7 @@ function ylUnifyOrder($orderId,$amount){
         // 超过此时间后,除网银交易外,其他交易银联系统会拒绝受理,提示超时。 跳转银行网银交易如果超时后交易成功,会自动退款,大约5个工作日金额返还到持卡人账户。
         // 此时间建议取支付时的北京时间加15分钟。
         // 超过超时时间调查询接口应答origRespCode不是A6或者00的就可以判断为失败。
-        'payTimeout' => date('YmdHis', strtotime('+15 minutes')),
+        'payTimeout' => date('YmdHis', $expire),
 
         'riskRateInfo' =>'{commodityName=测试商品名称}',
 

+ 1 - 1
application/common/service/OrderPayService.php

@@ -105,7 +105,7 @@ class OrderPayService{
    }
    public function bankUnion(){
         require __DIR__.'/../library/upacp_demo_b2c/demo/api_01_gateway/Form_6_2_FrontConsume.php';
-        $html=ylUnifyOrder($this->payment->order_no,$this->getAmount('f'));
+        $html=ylUnifyOrder($this->payment->order_no,$this->getAmount('f'),$this->expire,$this->notifyUrl(),$this->returnUrl());
         return [
             'html'=>$html
         ];

+ 1 - 1
application/common/validate/KillService.php

@@ -14,7 +14,7 @@ class KillService extends Validate
         }
         return [
             'open'=>$open,
-            'endtime'=>$endtime,
+            'endtime'=>strtotime($endtime),
         ];
     }