协议规则
传输方式:HTTP
数据格式:JSON
签名算法:MD5
字符编码:UTF-8
[API]查询商户信息
URL地址://yun.xbyzf.xyz/api.php?act=query&pid={商户ID}&key={商户密钥}
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 操作类型 | act | 是 | String | query | 此API固定值 |
| 商户ID | pid | 是 | Int | 10001234567890 | |
| 商户密钥 | key | 是 | String | 89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i |
返回结果:
| 字段名 | 变量名 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| 返回状态码 | code | Int | 1 | 1为成功,其它值为失败 |
| 商户ID | pid | Int(14) | 1001 | 所创建的商户ID |
| 商户密钥 | key | String(32) | 89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i | 所创建的商户密钥 |
| 绑定QQ号 | Int | 1 | 商户绑定的腾讯QQ号 | |
| 商户状态 | active | Int | 1 | 1为正常,0为封禁 |
| 商户余额 | money | String | 0.00 | 商户所拥有的余额 |
| 结算账号 | account | String | pay@cccyun.cn | 结算的支付宝账号 |
| 结算姓名 | username | String | 张三 | 结算的支付宝姓名 |
| 分润比例 | rate | String | 96 | 如果不存在,则默认系统统一的分润比例 |
| 是否实名认证 | issmrz | Int | 1 | 1为认证,其他值则是未认证 |
[API]查询单个订单
URL地址://yun.xbyzf.xyz/api.php?act=order&pid={商户ID}&key={商户密钥}&out_trade_no={商户订单号}
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 操作类型 | act | 是 | String | order | 此API固定值 |
| 商户ID | pid | 是 | Int | 1001 | |
| 商户密钥 | key | 是 | String | 89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i | |
| 商户订单号 | out_trade_no | 是 | String | 20160806151343349 |
返回结果:
| 字段名 | 变量名 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| 返回状态码 | code | Int | 1 | 1为成功,其它值为失败 |
| 返回信息 | msg | String | 查询订单号成功! | |
| 码支付订单号 | trade_no | String | 2016080622555342651 | 码支付订单号 |
| 商户订单号 | out_trade_no | String | 20160806151343349 | 商户系统内部的订单号 |
| 支付方式 | type | String | alipay | alipay:支付宝,tenpay:财付通,wxpay:微信支付 |
| 商户ID | pid | Int | 1001 | 发起支付的商户ID |
| 创建订单时间 | addtime | String | 2016-08-06 22:55:52 | |
| 完成交易时间 | endtime | String | 2016-08-06 22:55:52 | |
| 商品名称 | name | String | VIP会员 | |
| 商品金额 | money | String | 1.00 | |
| 支付状态 | status | Int | 0 | 1为支付成功,0为未支付 |
[API]批量查询订单
URL地址://yun.xbyzf.xyz/api.php?act=orders&pid={商户ID}&key={商户密钥}
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 操作类型 | act | 是 | String | orders | 此API固定值 |
| 商户ID | pid | 是 | Int | 1001 | |
| 商户密钥 | key | 是 | String | 89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i | |
| 查询订单数量 | limit | 否 | Int | 20 | 返回的订单数量,最大50 |
返回结果:
| 字段名 | 变量名 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| 返回状态码 | code | Int | 1 | 1为成功,其它值为失败 |
| 返回信息 | msg | String | 查询结算记录成功! | |
| 订单列表 | data | Array | 订单列表 |
发起支付请求
URL地址://yun.xbyzf.xyz/submit.php?pid={商户ID}&type={支付方式}&out_trade_no={商户订单号}¬ify_url={服务器异步通知地址}&return_url={页面跳转通知地址}&name={商品名称}&money={金额}&sitename={网站名称}&sign={签名字符串}&sign_type=MD5
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 商户ID | pid | 是 | Int | 1001 | |
| 支付方式 | type | 是 | String | alipay | alipay:支付宝,tenpay:财付通, qqpay:QQ钱包,wxpay:微信支付 |
| 商户订单号 | out_trade_no | 是 | String | 20160806151343349 | |
| 异步通知地址 | notify_url | 是 | String | //yun.xbyzf.xyz/notify_url.php | 服务器异步通知地址 |
| 跳转通知地址 | return_url | 是 | String | //yun.xbyzf.xyz/return_url.php | 页面跳转通知地址 |
| 商品名称 | name | 是 | String | VIP会员 | |
| 商品金额 | money | 是 | String | 1.00 | |
| 网站名称 | sitename | 否 | String | 彩虹云任务 | |
| 签名字符串 | sign | 是 | String | 202cb962ac59075b964b07152d234b70 | 签名算法与支付宝签名算法相同 (money={商品金额}&name={商品名称}& notify_url={异步通知地址}&out_trade_no={商户订单号}&pid={商户ID}&return_url={同步通知地址}&sitename={站点名称}&type={支付方式}{商户密匙}) |
| 签名类型 | sign_type | 是 | String | MD5 | 默认为MD5 |
[API]服务端下单(mapi)
URL地址://yun.xbyzf.xyz/mapi.php
请求方式:POST(推荐,application/x-www-form-urlencoded),也兼容 GET。由商户服务器发起请求,不要在买家浏览器前端调用,以免泄露商户密钥。
请求参数说明(与 submit.php 一致,可额外携带 clientip、device 等扩展参数参与签名):
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 商户ID | pid | 是 | Int | 1001 | |
| 支付方式 | type | 是 | String | alipay | alipay:支付宝,wxpay:微信支付,qqpay:QQ钱包 |
| 商户订单号 | out_trade_no | 是 | String | 20160806151343349 | 仅允许字母、数字、点、下划线、中划线 |
| 异步通知地址 | notify_url | 是 | String | //yun.xbyzf.xyz/notify_url.php | 支付成功后服务器异步通知地址 |
| 跳转通知地址 | return_url | 是 | String | //yun.xbyzf.xyz/return_url.php | 买家支付完成后的页面跳转地址 |
| 商品名称 | name | 是 | String | VIP会员 | |
| 商品金额 | money | 是 | String | 1.00 | 单位:元,需在系统最小/最大支付金额范围内 |
| 网站名称 | sitename | 否 | String | 彩虹云任务 | |
| 签名字符串 | sign | 是 | String | 202cb962ac59075b964b07152d234b70 | 生成规则见下方"签名算法" |
| 签名类型 | sign_type | 是 | String | MD5 | 仅支持MD5 |
签名算法:
1、将全部请求参数(不含 sign、sign_type,值为空的参数也不参与)按参数名 ASCII 字典序(ksort)从小到大排序;
2、拼接成 URL 键值对字符串(不做 urlencode):money=1.00&name=VIP会员¬ify_url=...&out_trade_no=...&pid=1001&type=alipay;
3、字符串末尾直接拼接商户密钥后做 MD5,小写:
sign = md5(排序后的字符串 . 商户密钥)。注:本接口同时兼容 submit.php 的固定顺序签名(money、name、notify_url、out_trade_no、pid、return_url、sitename、type 顺序拼接),两种签名通过任意一种即可。
返回结果(JSON):
| 字段名 | 变量名 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| 返回状态码 | code | Int | 1 | 1为下单成功,-1为失败(失败原因见msg) |
| 返回信息 | msg | String | 下单成功 | 失败时为具体原因,如"签名校验失败""商户额度不足"等 |
| 平台订单号 | orderid | String | 2026092218501312345 | 本站生成的订单号(即异步通知中的 trade_no) |
| 实付金额 | money | String | 1.00 | 买家实际需要支付的金额 |
| 原生收款码 | qrcode | String | https://qr.alipay.com/fkx123 | 非空时可直接用此内容生成二维码,买家扫码即在支付宝/微信内打开付款页;为空时请改用 payurl |
| APP唤起链接 | urlscheme | String | alipays://platformapi/startapp?... | 非空时,手机端可直接通过该链接唤起支付APP(仅支付宝返回) |
| 收银台地址 | payurl | String | //yun.xbyzf.xyz/Submit/Mcode_Pay.php?trade_no=... | qrcode为空(通道暂未出码或金额避让)时,应将买家浏览器跳转到此地址继续支付 |
成功返回示例:
{"code":1,"msg":"下单成功","type":"json","payurl":"https:\/\/yun.xbyzf.xyz\/Submit\/Mcode_Pay.php?trade_no=2026092218501312345","qrcode":"https:\/\/qr.alipay.com\/fkx123","urlscheme":"alipays:\/\/platformapi\/startapp?saId=10000007&qrcode=...","orderid":"2026092218501312345","money":"1.00"}
失败返回示例:
{"code":-1,"msg":"签名校验失败,请检查商户PID/KEY"}
注意事项:
1、同一商户订单号(out_trade_no)在订单有效期内重复请求不会重复建单,接口直接返回原订单信息,因此遇到网络超时可安全重试;
2、请将商户服务器 cURL 连接超时设置为 10 秒以上、总超时 20 秒以上,避免订单已创建但响应超时;
3、支付结果一律以 支付结果异步通知(notify_url) 为准,不要以本接口返回作为到账依据。
支付结果通知
通知类型:服务器异步通知(notify_url)、页面跳转通知(return_url)
请求方式:GET
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 商户ID | pid | 是 | Int | 1001 | |
| 码支付订单号 | trade_no | 是 | String | 20160806151343349021 | 码支付订单号 |
| 商户订单号 | out_trade_no | 是 | String | 20160806151343349 | 商户系统内部的订单号 |
| 支付方式 | type | 是 | String | alipay | alipay:支付宝,qqpay:QQ钱包,wxpay:微信支付 |
| 商品名称 | name | 是 | String | VIP会员 | PS:可能会过滤空格或违法名称 |
| 商品金额 | money | 是 | String | 1.00 | PS:实际付款金额可能跟商品金额不一致 |
| 支付状态 | trade_status | 是 | String | TRADE_SUCCESS | |
| 签名字符串 | sign | 是 | String | 202cb962ac59075b964b07152d234b70 | 签名算法与支付宝签名算法相同 |
| 签名类型 | sign_type | 是 | String | MD5 | 默认为MD5 |
SDK下载
Php_Sdk.zip
SDK版本:V1.0