设置支付地址

你如果自己有微信或者支付宝的接口,那么可以使用自己的支付接口来对接八图片平台。

在“api接口”页面,设置自己的支付地址后,再上传并生成的图片,扫码将跳转到你自己设置的支付地址。

这样,用户支付的金额直接进入你自己的接口账户,不经过八图片平台。
这种方式下,每完成一次交易,八图片平台仅收取0.1元的服务费。无论交易金额是多少(不管是1元还是10元),都是统一收取0.1元的服务费。
服务费直接从账户余额中扣除,如果账户余额不足,可以在“api接口”页面中进行充值。


……

对接说明

付款请求

设置了支付地址后,当用户扫描二维码,八图片平台将发送付款请求到支付地址。
示例:

{你的支付地址}?orderid=27_274_1_18966986&fee=10&picurl=http://test.8tupian.com/1a1b1.pg0
请求方式:GET

请求参数:

参数名类型说明示例值
feeint支付金额,即图片价格(单位:分)10
orderidstring八图片平台的订单号27_274_1_18966986
picurlstring图片的网络地址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
通知参数:

参数名类型说明示例值
feeint支付金额,即图片价格(单位:分)10
orderidstring发起付款请求时,传递的八图片平台的订单号27_274_1_18966986
signstring以“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_RETURNTRANSFER, 1);
$response = curl_exec($ch);

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支付,支付宝当面付

点击下载支付DEMO源码

……