在众多个人支付接口的产品中,要寻找一个稳定可靠的产品是比较难的,所幸遇到 payjs,感觉逼格较高,非常满足自己的品味。下边是我在对接过程中的一些经验和技巧,分享给大家。
一、申请商户号
申请开通,获取商户号和通信密钥
二、扫码对接
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://payjs.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;
}
- 演示地址: payjs
- 注意把上面的商户号和通信密钥换成自己的。最终即可打印出扫码接口返回结果。
- 扫码接口返回的结果中,其中的 code_url 是二维码内容,可通过二维码生成的类转化为二维码。或者接口返回的 qrcode 参数即是二维码的图片地址
- 把该二维码展示给用户,用户可通过手机微信的扫一扫功能,进行扫码支付。
- 需要注意的是,上面演示代码中未演示异步通知。如果需要异步通知,可以增加一个 notify_url 参数,那么在支付完成后,服务器会收到支付成功的异步通知。可自行进一步进行业务逻辑的触发和处理。