php对接招商银行微信统一下单接口demo 对接使用国密SM2加密方式

因为招商银行的加密方式不同于微信/支付宝等出现了一个使用国密SM2withSM3的加密方式,这里我通过在网上寻找各种资料简单的写了一个demo 我使用的是thinkphp6框架 其他框架原理相同

第一步: 通过composer安装对应的拓展,这里我使用的是【lpilp】大神的开源算法git地址,具体方法
composer require lpilp/guomi

这里注意 php版本需要>=7.2同时开启gmp组件支持

第二步:通过招行获取相关参数信息
<?php
return [
  'pay_config' => [
    'get_url' => '', // 请求地址 主要是域名
    'app_id' => '', // 招行提供 appid
    'secrt' => '', // 招行提供 appscript
    'merId' => '', // 商户号:
    'userId' => '', // 收银员编号
    'encoding' => 'UTF-8', // 文档对应
    'version' => '0.0.1', // 文档对应
    'signMethod' => '02', // 02 = SM2国密方式
    'private_key' => '',  // 私钥
    'pub_key' => '', // 公钥
    't_start' => '', // 公钥头
    'orderBackUrl' => '' // 回调地址
  ]
];
第三步:进入正式的支付demo
<?php
declare(strict_types=1);
namespace app\xxxxx\controller;
// 引入 composer的国密算法
use Rtgm\sm\RtSm2;
use think\facade\Db;
// 公共类
use app\BaseController;
// 订单相关model
use app\common\model\xxxx as xxxxModel;/**
 * @xk 招商银行支付
 */
class Unipay extends BaseController
{
    /**
     * @xk 进行付款预分配
     * @method          goPay
     * @param           array $order_data  [description]
     * @return          [type] [description]
     * @Version:V6.0
     */
    public static function goPay($order_data = [])
    {
        $orderModel &#

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部