发起支付API默认对接文档
发布时间:2024-11-24 21:27
发起支付API(POST/GET):
支付请求地址:请登录平台后在对接接口信息处获取支付网关地址
字段名称 | 字段类型 | 必填 | 字段说明 |
pid | string | 是 | 商户PID(商户后台获取) |
type | string | 是 | 支付类型:alipay:支付宝,weixin:微信支付,qq:QQ支付,usdt:USDT支付 |
record | string | 是 | 附加参数(可传入您网站的订单号或用户名等唯一参数) |
money | float(2) | 是 | 商品金额(注意:强制转换2位小数后提交) |
refer | string | 是 | 同步跳转地址(页面转跳通知地址) |
notify | string | 是 | 异步回调地址(服务器异步通知地址) |
mid | string | 否 | 收款账号MID(为空则随机轮询账号) |
json | string | 否 | json=1(返回JSON格式输出,为空直接转跳支付页面) |
sign | string | 是 | 数据签名(签名方法见下文) |
异步通知API(POST/GET):
字段名称 | 字段类型 | 字段说明 |
type | string | 支付方式(alipay) |
money | float(2) | 商品金额(1.00) |
order | string | 支付平台创建的云端订单号 |
record | string | 附加参数(发起支付传递的您网站的订单号或用户名等唯一参数) |
sign | string | 数据签名(签名算法与支付宝签名算法相同) |
数据签名算法:
请对参数按照键名进行降序排序(a-z),sign 和空值不进行签名!。 排序后请操作参数生成或拼接一个url请求字符串 例如 a=b&c=d&e=f (Url值不能携带参数!不要进行urlencode) 再将拼接好的请求字符串与平台生成的Key进行MD5加密得出sign 签名参数 md5 ( a=b&c=d&e=f + KEY ) (注意:+ 为各语言的拼接符!不是字符!),md5为小写 $api = array( "pid" => $api['pid'],//商户ID "type" => $api['type'],//支付方式 "record"=> $api['record'],//附加参数 "money" => $api['money'],//付款金额 "refer" => $api['refer'],//同步跳转地址 "notify" => $api['notify'],//异步通知地址 ); ksort($api); //排序GET和POST参数 reset($api); //内部指针指向数组中的第一个元素 $sign = '';//初始化 foreach ($api AS $key => $val) { //遍历附加参数 if ($val == '' || $key == 'sign') continue; //跳过这些不签名 if ($sign) $sign .= '&'; //第一个字符串签名不加& 其他加&连接起来参数 $sign .= "$key=$val"; //拼接为url参数形式 } $sign_ok = md5($sign . 您的商户密匙KEY);//md5加密参数
支付成功返回参数:
参数内容 | 参数类型 | 参数说明 |
ok | string | 不区分大小写 |
success | string | 不区分大小写 |
成功 | string | 中文返回参数 |