实现个人收款是一件很麻烦的事,可以通过 PAYJX 支付平台 注册个人收款接口,帮助签约个人支付宝,微信支付接口(不需要营业执照),几分钟就可以开通,申请开通后,获取商户号和通信密钥,然后开始对接,上一章讲了收银台模式支付,本章主要说一下扫码支付
扫码支付请求步骤:
1.构建请求参数
2.POST 参数到请求地址
3.根据返回内容展示二维码
4.用户支付成功后接收异步通知
5.扫码对接
php代码如下:
<?php
$order = [ 'mchid' => 'xxxxxxxxxxx', 'body' => 'test', // 订单标题
'out_trade_no' => time(), // 订单号
'total_fee' => 120, // 金额,单位:分
];
$order['sign'] = sign($order);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://payjx.cn/api/native');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $order);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
$rst = curl_exec($ch);
curl_close($ch);
print_r($rst); function sign(array $attributes) {
ksort($attributes);
$sign = strtoupper(md5(urldecode(http_build_query($attributes)) . '&key=' . 'xxxxxxxxxxxx')); return $sign;
}
把上面的商户号和通信密钥换成自己的。最终即可打印出扫码接口返回结果。
扫码接口返回的结果中,其中的 code_url 是二维码内容,可通过二维码生成的类转化为二维码。或者接口返回的 qrcode 参数即是二维码的图片地址,把该二维码展示给用户,用户可通过手机微信的扫一扫功能,进行扫码支付。
需要注意的是,上面演示代码中未演示异步通知。如果需要异步通知,可以增加一个 notify_url 参数,那么在支付完成后,服务器会收到支付成功的异步通知。可自行进一步进行业务逻辑的触发和处理。
最后和大家分享一下签名生成的通用步骤如下:(详细举例)
设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
在stringA最后拼接上 &key=密钥 得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值
有疑问加站长微信联系(非本文作者)