协议规则

传输方式:HTTP

数据格式:JSON

签名算法:MD5

字符编码:UTF-8


[API]查询商户信息

URL地址://yun.xbyzf.xyz/api.php?act=query&pid={商户ID}&key={商户密钥}

请求参数说明:

字段名变量名必填类型示例值描述
操作类型act是Stringquery此API固定值
商户IDpid是Int10001234567890
商户密钥key是String89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i

返回结果:

字段名变量名类型示例值描述
返回状态码codeInt11为成功,其它值为失败
商户IDpidInt(14)1001所创建的商户ID
商户密钥keyString(32)89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i所创建的商户密钥
绑定QQ号qqInt1商户绑定的腾讯QQ号
商户状态activeInt11为正常,0为封禁
商户余额moneyString0.00商户所拥有的余额
结算账号accountStringpay@cccyun.cn结算的支付宝账号
结算姓名usernameString张三结算的支付宝姓名
分润比例rateString96如果不存在,则默认系统统一的分润比例
是否实名认证issmrzInt11为认证,其他值则是未认证

[API]查询单个订单

URL地址://yun.xbyzf.xyz/api.php?act=order&pid={商户ID}&key={商户密钥}&out_trade_no={商户订单号}

请求参数说明:

字段名变量名必填类型示例值描述
操作类型act是Stringorder此API固定值
商户IDpid是Int1001
商户密钥key是String89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i
商户订单号out_trade_no是String20160806151343349

返回结果:

字段名变量名类型示例值描述
返回状态码codeInt11为成功,其它值为失败
返回信息msgString查询订单号成功!
码支付订单号trade_noString2016080622555342651码支付订单号
商户订单号out_trade_noString20160806151343349商户系统内部的订单号
支付方式typeStringalipayalipay:支付宝,tenpay:财付通,wxpay:微信支付
商户IDpidInt1001发起支付的商户ID
创建订单时间addtimeString2016-08-06 22:55:52
完成交易时间endtimeString2016-08-06 22:55:52
商品名称nameStringVIP会员
商品金额moneyString1.00
支付状态statusInt01为支付成功,0为未支付

[API]批量查询订单

URL地址://yun.xbyzf.xyz/api.php?act=orders&pid={商户ID}&key={商户密钥}

请求参数说明:

字段名变量名必填类型示例值描述
操作类型act是Stringorders此API固定值
商户IDpid是Int1001
商户密钥key是String89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i
查询订单数量limit否Int20返回的订单数量,最大50

返回结果:

字段名变量名类型示例值描述
返回状态码codeInt11为成功,其它值为失败
返回信息msgString查询结算记录成功!
订单列表dataArray订单列表

发起支付请求

URL地址://yun.xbyzf.xyz/submit.php?pid={商户ID}&type={支付方式}&out_trade_no={商户订单号}&notify_url={服务器异步通知地址}&return_url={页面跳转通知地址}&name={商品名称}&money={金额}&sitename={网站名称}&sign={签名字符串}&sign_type=MD5

请求参数说明:

字段名变量名必填类型示例值描述
商户IDpid是Int1001
支付方式type是Stringalipayalipay:支付宝,tenpay:财付通,
qqpay:QQ钱包,wxpay:微信支付
商户订单号out_trade_no是String20160806151343349
异步通知地址notify_url是String//yun.xbyzf.xyz/notify_url.php服务器异步通知地址
跳转通知地址return_url是String//yun.xbyzf.xyz/return_url.php页面跳转通知地址
商品名称name是StringVIP会员
商品金额money是String1.00
网站名称sitename否String彩虹云任务
签名字符串sign是String202cb962ac59075b964b07152d234b70签名算法与支付宝签名算法相同
(money={商品金额}&name={商品名称}& notify_url={异步通知地址}&out_trade_no={商户订单号}&pid={商户ID}&return_url={同步通知地址}&sitename={站点名称}&type={支付方式}{商户密匙})
签名类型sign_type是StringMD5默认为MD5

[API]服务端下单(mapi)

URL地址://yun.xbyzf.xyz/mapi.php

请求方式:POST(推荐,application/x-www-form-urlencoded),也兼容 GET。由商户服务器发起请求,不要在买家浏览器前端调用,以免泄露商户密钥。

请求参数说明(与 submit.php 一致,可额外携带 clientip、device 等扩展参数参与签名):

字段名变量名必填类型示例值描述
商户IDpid是Int1001
支付方式type是Stringalipayalipay:支付宝,wxpay:微信支付,qqpay:QQ钱包
商户订单号out_trade_no是String20160806151343349仅允许字母、数字、点、下划线、中划线
异步通知地址notify_url是String//yun.xbyzf.xyz/notify_url.php支付成功后服务器异步通知地址
跳转通知地址return_url是String//yun.xbyzf.xyz/return_url.php买家支付完成后的页面跳转地址
商品名称name是StringVIP会员
商品金额money是String1.00单位:元,需在系统最小/最大支付金额范围内
网站名称sitename否String彩虹云任务
签名字符串sign是String202cb962ac59075b964b07152d234b70生成规则见下方"签名算法"
签名类型sign_type是StringMD5仅支持MD5

签名算法:

1、将全部请求参数(不含 sign、sign_type,值为空的参数也不参与)按参数名 ASCII 字典序(ksort)从小到大排序;

2、拼接成 URL 键值对字符串(不做 urlencode):money=1.00&name=VIP会员&notify_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):

字段名变量名类型示例值描述
返回状态码codeInt11为下单成功,-1为失败(失败原因见msg)
返回信息msgString下单成功失败时为具体原因,如"签名校验失败""商户额度不足"等
平台订单号orderidString2026092218501312345本站生成的订单号(即异步通知中的 trade_no)
实付金额moneyString1.00买家实际需要支付的金额
原生收款码qrcodeStringhttps://qr.alipay.com/fkx123非空时可直接用此内容生成二维码,买家扫码即在支付宝/微信内打开付款页;为空时请改用 payurl
APP唤起链接urlschemeStringalipays://platformapi/startapp?...非空时,手机端可直接通过该链接唤起支付APP(仅支付宝返回)
收银台地址payurlString//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

请求参数说明:


判断 MD5(money={支付金额}&name=测试商品&out_trade_no={商户订单号}&pid={商户ID}&trade_no={支付平台订单号}&trade_status=TRADE_SUCCESS&type={支付方式}) 是否跟 返回签名 一致
字段名变量名必填类型示例值描述
商户IDpid是Int1001
码支付订单号trade_no是String20160806151343349021码支付订单号
商户订单号out_trade_no是String20160806151343349商户系统内部的订单号
支付方式type是Stringalipayalipay:支付宝,qqpay:QQ钱包,wxpay:微信支付
商品名称name是StringVIP会员PS:可能会过滤空格或违法名称
商品金额money是String1.00PS:实际付款金额可能跟商品金额不一致
支付状态trade_status是StringTRADE_SUCCESS
签名字符串sign是String202cb962ac59075b964b07152d234b70签名算法与支付宝签名算法相同
签名类型sign_type是StringMD5默认为MD5

SDK下载

Php_Sdk.zip
SDK版本:V1.0