虎皮椒个人免签支付插件,实现网站自动收款。
首先声明:写该插件的原因是正好用到了,虎皮椒开通支付功能是收费的,官方地址https://www.xunhupay.com/,先看一下介绍再考虑是否用我这款插件。
使用方法:
1、上传插件到对应目录,直接进行安装,安装完之后配置一下基础信息。
2、插件目录中有基础订单表的cmf_order.sql,进行安装后即可使用,也可以在此基础上修改。
3、需要在使用的应用目录下新建hooks.php 文件,内容如下:
return [ 'pay' => [ "type" => 2,//钩子类型(默认为应用钩子;2:应用钩子;3:模板钩子;4:后台模板钩子) "name" => '虎皮椒发起支付', // 钩子名称 "description" => "虎皮椒发起支付钩子", //钩子描述 "once" => 0 // 是否只执行一次 ], 'check_hash' => [ "type" => 2,//钩子类型(默认为应用钩子;2:应用钩子;3:模板钩子;4:后台模板钩子) "name" => '虎皮椒Hash校验', // 钩子名称 "description" => "虎皮椒异步回调Hash校验", //钩子描述 "once" => 0 // 是否只执行一次 ], ];
4、后台插件中心-钩子管理-同步钩子
5、插件列表中对插件进行设置
表单中的信息去虎皮椒官网申请即可,异步回调地址填写自己编写的,相关文档需要参看官方文档。
发起支付的简单示例,钩子的使用
// 示例参数 $params = [ 'trade_order_id' => $data['trade_order_id'], // 网站生成的订单编号 'total_fee' => $data['total_fee'],// 订单金额 'title' => $data['order_title'], // 订单标题 'time' => $data['time'], // 时间戳 'nonce_str' => $data['nonce_str'] // str_shuffle(time()) ]; $result = hook('pay',$params); $xunhupay_res = json_decode($result[0],true); if ($xunhupay_res['errcode'] == 0) { // 返回必要的数据 $xunhupay_res['trade_order_id'] = $trade_order_id; $xunhupay_res['price'] = $total_fee; $this->success('success','',$xunhupay_res); } else { $this->error($xunhupay_res['errmsg']); }
再写一个异步回调的例子
public function notify_url() { $data = $_POST; if (!isset($data['hash']) || !isset($data['trade_order_id'])) { echo 'failed'; exit; } $res = hook('check_hash',$data); if (!$res) { // 签名验证失败 echo 'failed'; exit; } // 商户订单ID $trade_order_id = $data['trade_order_id']; if ($data['status'] == 'OD') { $up_data = [ 'transaction_id' => !empty($data['transaction_id']) ? $data['transaction_id'] : '', 'open_order_id' => !empty($data['open_order_id']) ? $data['open_order_id'] : '', 'status' => $data['status'], 'appid' => !empty($data['appid']) ? $data['appid'] : '', 'hash' => !empty($data['hash']) ? $data['hash'] : '', ]; // 更新订单数据和状态 Db::name('order')->where('trade_order_id',$trade_order_id)->data($up_data)->update(); } echo 'success'; exit; }
如有问题可以联系我!第一次发插件,写的比较啰嗦,就想让大家轻松用上免签的个人支付插件。
ThinkCMF模板插件交流群:550851374 ,领取阿里云1000通用代金券