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