设置支付地址
你如果自己有微信或者支付宝的接口,那么可以使用自己的支付接口来对接八图片平台。
在“api接口”页面,设置自己的支付地址后,再上传并生成的图片,扫码将跳转到你自己设置的支付地址。
这样,用户支付的金额直接进入你自己的接口账户,不经过八图片平台。
这种方式下,每完成一次交易,八图片平台仅收取0.1元的服务费。无论交易金额是多少(不管是1元还是10元),都是统一收取0.1元的服务费。
服务费直接从账户余额中扣除,如果账户余额不足,可以在“api接口”页面中进行充值。
……
对接说明
付款请求
设置了支付地址后,当用户扫描二维码,八图片平台将发送付款请求到支付地址。
示例:
{你的支付地址}?orderid=27_274_1_18966986&fee=10&picurl=http://test.8tupian.com/1a1b1.pg0
请求方式:GET
请求参数:
参数名 | 类型 | 说明 | 示例值 |
---|---|---|---|
fee | int | 支付金额,即图片价格(单位:分) | 10 |
orderid | string | 八图片平台的订单号 | 27_274_1_18966986 |
picurl | string | 图片的网络地址 | http://test.8tupian.com/1a1b1.pg0 |
……
发送通知
当用户在你自己的支付系统中完成支付后,需要再发送一个通知给八图片平台,八图片平台收到通知后,会开放相应的权限给用户。
通知URL地址:
http://web.8tupian.com/api/notify.php
示例:
http://web.8tupian.com/api/notify.php?orderid=27_274_1_18966986&fee=10&sign=202cb962ac59075b964b07152d234b70
通知方式:GET
通知参数:
参数名 | 类型 | 说明 | 示例值 |
---|---|---|---|
fee | int | 支付金额,即图片价格(单位:分) | 10 |
orderid | string | 发起付款请求时,传递的八图片平台的订单号 | 27_274_1_18966986 |
sign | string | 以“api接口”页面中的key作为秘钥,生成数据签名。请参见下面的签名算法 | 202cb962ac59075b964b07152d234b70 |
返回值: success 表示成功,fail 表示失败
PHP 示例代码:
//八图片平台的订单号
$orderid = $out_trade_no;
//支付金额,单位:分
$fee = $price * 100;
$postdata = array(
'orderid' => $orderid,
'fee' => $fee
);
//生成签名,请参见后面的签名算法
$sign = sign($postdata, ‘98800e620e693c95d4f08b7992971c3d’);
$url = sprintf("http://web.8tupian.com/api/notify.php?orderid=%s&fee=%d&sign=%s", $orderid, $fee , $sign);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
$response = trim($response, "\xEF\xBB\xBF");
if($response == "success")
{
echo "成功!";
}
else
{
echo "失败!";
}
……
签名算法
签名生成的通用步骤如下:
第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
第二步,在stringA最后拼接上 &key=密钥 得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,得到sign值
PHP 示例代码:
function sign($data, $key) {
ksort($data);
$sign = md5(urldecode(http_build_query($data)).'&key='.$key);
return $sign;
}
……
支付Demo
Demo源码供参考,也可以简单配置后直接使用。
源码采用的接口类型:支付宝手机网站支付,微信JSAPI支付,支付宝当面付
……