thinkphp对接招行微信统一支付下单接口demo,国密SM2withSM3的加密

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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值