zencart商城对接日本支付通道

2024-08-10 14:05:45 浏览数 (2)

前言

当前用zencart商城的比较少了,最近又接到一个新的需求。为zencart商城对接一个日本的本地支付通道。原先为zencart商城开发过一个支付插件,拿来改造一下,记录改造过程。

支付方式支付方式

核心代码

支付方式选择后,组织参数,提交到上游api,均通过unionpaySubmitOrder.php 文件完成。

订单提交

代码语言:javascript复制
//提交参数
$parmsa = array(
    "ShopID"                => $data['MerNo'],
        "ShopPass"              => $data['Md5Key'],
        "OrderID"               => $data['BillNo'],
        "JobCd"                 => 'CAPTURE',
        "Amount"                => $data['Amount'],
        "Tax"                   => '0'
        );

$req_api_a = "https://p01.mul-pay.jp/payment/EntryTranUnionpay.idPass";

//获取支付链接
$resa = curlRemote($req_api_a, $parmsa);

//将返回转换为数组
$resa_data = stringToArray($resa);

//构造函数
$parmsb = array(
        "ShopID"                => $data['MerNo'],
        "ShopPass"              => $data['Md5Key'],
        "OrderID"               => $data['BillNo'],
        "AccessID"              => $resa_data['AccessID'],
        "AccessPass"            => $resa_data['AccessPass'],
        "RetURL"                => $data['ReturnURL'],
        "ErrorRcvURL"           => $data['ReturnURL'],
);

$req_api_b = 'https://p01.mul-pay.jp/payment/ExecTranUnionpay.idPass';


//获取支付链接
$resb = curlRemote($req_api_b, $parmsb);

//将返回转换为数组
$resb_data = stringToArray($resb);

自动跳转,模版渲染

获取resb_data数据内,含有支付所需的token和一次性使用密钥。通过js提交到响应接口。此功能通过php模版渲染功能完成。

代码语言:javascript复制
      <?php echo varGet($data, 'L_SUBMIT_ORDER_CONFIRM_TITLE'); ?>
      
      
      
      
        
        
        
      
      
    <!--
    function OnLoadEvent() {
        document.UnionpayStartCall.submit();
    }
    //-->

插件设置

插件设置界面

插件设置插件设置

0 人点赞