- 页面跳转支付
- API接口支付
- 支付结果通知
- MD5签名算法
- 查询单个订单
- 批量查询订单
- SDK下载

- 此接口可用于用户前台直接发起支付，使用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

支付方式（type）不传会跳转到收银台支付

- 此接口可用于服务器后端发起支付请求，会返回支付二维码链接或支付跳转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

收到异步通知后，需返回success以表示服务器接收到了订单通知

- 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查看。

- [API]查询单个订单

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 |  | 默认留空

- [API]批量查询订单

URL地址： URL/api.php?act=orders&pid={PID}&key={密钥}

请求方式： GET

请求参数说明：

字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述
--- | --- | --- | --- | --- | ---
操作类型 | act | 是 | String | orders | 此API固定值
PID | pid | 是 | String | 1001 |
密钥 | key | 是 | String | 89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i | alipay 支付宝 | wxpay 微信支付 | qqpay QQ钱包 | usdt USDT
查询订单数量 | limit | 否 | Int | 20 | 返回的订单数量，最大50
页码 | page | 否 | Int | 1 | 当前查询的页码

返回结果（json）：

字段名 | 变量名 | 类型 | 示例值 | 描述
--- | --- | --- | --- | ---
返回状态码 | code | Int | 1 | 1为成功，其它值为失败
返回信息 | msg | String | 查询结算记录成功！ |
订单列表 | data | Array |  | 订单列表

- SDK下载

> SDK.zip
> SDK版本：V1.3