支付 API 文档
用户前台直接发起支付
此接口可用于用户前台直接发起支付,使用 form 表单跳转或拼接成 url 跳转。
URL地址: URL/submit.php
请求方式: POST 或 GET(推荐POST,不容易被劫持或屏蔽)
请求参数说明
字段名 |
变量名 |
必填 |
类型 |
示例值 |
描述 |
PID |
pid |
是 |
String |
1001 |
|
支付方式 |
type |
否 |
String |
alipay |
alipay 支付宝 | wxpay 微信支付 | qqpay QQ钱包 | usdt USDT |
商户订单号 |
out_trade_no |
是 |
String |
20160806151343349 |
|
异步通知地址 |
notify_url |
是 |
String |
http://127.0.0.1/notify_url.php |
服务器异步通知地址 |
跳转通知地址 |
return_url |
是 |
String |
http://127.0.0.1/return_url.php |
页面跳转通知地址 |
商品名称 |
name |
是 |
String |
VIP会员 |
如超过127个字节会自动截取 |
商品金额 |
money |
是 |
String |
1.00 |
单位:元,最大2位小数 |
业务扩展参数 |
param |
否 |
String |
没有请留空 |
支付后原样返回 |
账号MID |
mid |
否 |
String |
没有请留空 |
指定账号收款 |
签名字符串 |
sign |
是 |
String |
202cb962ac59075b964b07152d234b70 |
签名算法,请自行查看 |
签名类型 |
sign_type |
是 |
String |
MD5 |
默认为MD5 |
服务器后端发起支付请求
此接口可用于服务器后端发起支付请求,会返回支付二维码链接或支付跳转 url。
URL地址: URL/mapi.php
请求方式: POST 或 GET
请求参数说明
字段名 |
变量名 |
必填 |
类型 |
示例值 |
描述 |
PID |
pid |
是 |
String |
1001 |
|
支付方式 |
type |
是 |
String |
alipay |
alipay 支付宝 | wxpay 微信支付 | qqpay QQ钱包 | usdt USDT |
商户订单号 |
out_trade_no |
是 |
String |
20160806151343349 |
|
异步通知地址 |
notify_url |
是 |
String |
http://127.0.0.1/notify_url.php |
服务器异步通知地址 |
跳转通知地址 |
return_url |
是 |
String |
http://127.0.0.1/return_url.php |
页面跳转通知地址 |
商品名称 |
name |
是 |
String |
VIP会员 |
如超过127个字节会自动截取 |
商品金额 |
money |
是 |
String |
1.00 |
单位:元,最大2位小数 |
业务扩展参数 |
param |
否 |
String |
没有请留空 |
支付后原样返回 |
账号MID |
mid |
否 |
String |
没有请留空 |
指定账号收款 |
用户IP地址 |
clientip |
是 |
String |
192.168.1.100 |
用户发起支付的IP地址 |
浏览类型 |
device |
否 |
String |
pc |
pc 电脑浏览器 | mobile 手机浏览器 | qq 手机QQ内浏览器 | wechat 微信内浏览器 | alipay 支付宝客户端 |
签名字符串 |
sign |
是 |
String |
202cb962ac59075b964b07152d234b70 |
签名算法,请自行查看 |
签名类型 |
sign_type |
是 |
String |
MD5 |
默认为MD5 |
返回结果(json)
字段名 |
变量名 |
类型 |
示例值 |
描述 |
返回状态码 |
code |
Int |
1 |
1为成功,其它值为失败 |
返回信息 |
msg |
String |
失败时返回原因 |
|
订单号 |
trade_no |
String |
20160806151343349 |
支付订单号 |
支付链接 |
pay_url |
String |
http://127.0.0.1/xxx/?trade_no=xxx |
返回该字段,链接跳转到官方支付页面 |
支付参数 |
pay_json |
String |
{"type": "jump","url": "xxx"} |
返回该字段,支付参数json格式 |
支付结果通知
通知类型:服务器异步通知(notify_url)、页面跳转通知(return_url)
请求方式: GET
请求参数说明
字段名 |
变量名 |
必填 |
类型 |
示例值 |
描述 |
PID |
pid |
是 |
String |
1001 |
|
系统订单号 |
trade_no |
是 |
String |
20160806151343349021 |
支付系统内部的订单号 |
商户订单号 |
out_trade_no |
是 |
String |
20160806151343349 |
商户系统内部的订单号 |
支付方式 |
type |
是 |
String |
alipay |
alipay 支付宝 | wxpay 微信支付 | qqpay QQ钱包 | usdt USDT |
商品名称 |
name |
是 |
String |
VIP会员 |
|
商品金额 |
money |
是 |
String |
1.00 |
|
支付状态 |
trade_status |
是 |
String |
TRADE_SUCCESS |
只有TRADE_SUCCESS是成功 |
业务扩展参数 |
param |
否 |
String |
没有请留空 |
支付后原样返回 |
签名字符串 |
sign |
是 |
String |
202cb962ac59075b964b07152d234b70 |
签名算法,请自行查看 |
签名类型 |
sign_type |
是 |
String |
MD5 |
默认为MD5 |
MD5 签名算法
- 将发送或接收到的所有参数按照参数名 ASCII 码从小到大排序(a-z),sign、sign_type、和空值不参与签名!
- 将排序后的参数拼接成 URL 键值对的格式,例如 a=b&c=d&e=f,参数值不要进行 url 编码。
- 再将拼接好的字符串与密钥 KEY 进行 MD5 加密得出 sign 签名参数,sign = md5 ( a=b&c=d&e=f + KEY ) (注意:+ 为各语言的拼接符,不是字符!),md5 结果为小写。
- 具体签名与发起支付的示例代码可下载 SDK 查看。
查询单个订单
URL地址: URL/api.php?act=order&pid={PID}&key={密钥}&out_trade_no={商户订单号}
请求方式: GET
请求参数说明
字段名 |
变量名 |
必填 |
类型 |
示例值 |
描述 |
操作类型 |
act |
是 |
String |
order |
此API固定值 |
PID |
pid |
是 |
String |
1001 |
|
密钥 |
key |
是 |
String |
89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i |
|
系统订单号 |
trade_no |
选择 |
String |
20160806151343312 |
|
商户订单号 |
out_trade_no |
选择 |
String |
20160806151343349 |
|
返回结果(json)
字段名 |
变量名 |
类型 |
示例值 |
描述 |
返回状态码 |
code |
Int |
1 |
1为成功,其它值为失败 |
返回信息 |
msg |
String |
查询订单号成功! |
|
订单号 |
trade_no |
String |
2016080622555342651 |
支付订单号 |
商户订单号 |
out_trade_no |
String |
20160806151343349 |
商户系统内部的订单号 |
第三方订单号 |
api_trade_no |
String |
20160806151343349 |
支付宝微信等接口方订单号 |
支付方式 |
type |
String |
alipay |
alipay 支付宝 | wxpay 微信支付 | qqpay QQ钱包 | usdt USDT |
PID |
pid |
String |
1001 |
|
创建订单时间 |
create_time |
String |
2016-08-06 22:55:52 |
|
完成交易时间 |
end_time |
String |
2016-08-06 22:56:52 |
|
商品名称 |
name |
String |
VIP会员 |
|
商品金额 |
money |
String |
1.00 |
|
支付状态 |
status |
Int |
0 |
1为支付成功,0为未支付 |
业务扩展参数 |
param |
String |
默认留空 |
|
批量查询订单
URL地址: URL/api.php?act=orders&pid={PID}&key={密钥}
请求方式: GET
请求参数说明
字段名 |
变量名 |
必填 |
类型 |
示例值 |
描述 |
操作类型 |
act |
是 |
String |
orders |
此API固定值 |
PID |
pid |
是 |
String |
1001 |
|
密钥 |
key |
是 |
String |
89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i |
|
查询订单数量 |
limit |
否 |
Int |
20 |
返回的订单数量,最大50 |
页码 |
page |
否 |
Int |
1 |
当前查询的页码 |
返回结果(json)
字段名 |
变量名 |
类型 |
示例值 |
描述 |
返回状态码 |
code |
Int |
1 |
1为成功,其它值为失败 |
返回信息 |
msg |
String |
查询结算记录成功! |
|
订单列表 |
data |
Array |
订单列表 |
|