实现个人收款是一件很麻烦的事,可以通过 paybob 注册个人收款接口,帮助签约个人支付宝,微信支付接口(不需要营业执照),几分钟就可以开通,申请开通后,获取商户号和通信密钥,然后开始对接,本章主要说一下扫码支付
扫码支付请求步骤:
1. 构建请求参数
2. POST 参数到请求地址
3. 根据返回内容展示二维码
4. 用户支付成功后接收异步通知
扫码对接
php代码如下:
```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://paybob.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 参数,那么在支付完成后,服务器会收到支付成功的异步通知。可自行进一步进行业务逻辑的触发和处理。
- 最后和大家分享一下签名生成的通用步骤如下:(详细举例)
1. 设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
2. 在stringA最后拼接上 &key=密钥 得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值
以后会陆续和大家分享收银台模式,jsapi模式的支付,希望能给大家提供更多的参考。