支付 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 签名算法

  1. 将发送或接收到的所有参数按照参数名 ASCII 码从小到大排序(a-z),sign、sign_type、和空值不参与签名!
  2. 将排序后的参数拼接成 URL 键值对的格式,例如 a=b&c=d&e=f,参数值不要进行 url 编码。
  3. 再将拼接好的字符串与密钥 KEY 进行 MD5 加密得出 sign 签名参数,sign = md5 ( a=b&c=d&e=f + KEY ) (注意:+ 为各语言的拼接符,不是字符!),md5 结果为小写。
  4. 具体签名与发起支付的示例代码可下载 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 订单列表

SDK 下载

SDK.zip

SDK 版本:V1.3