Xpay虚拟货币支付
是全网领先的支付技术解决方案,致力于帮助企业以最低成本快速接入一套稳定可靠的支付系统,并以可视化的数据辅助其完成商业决策。作为一家以数据服务为核心竞争力的支付服务商,我们不仅关注支付系统的高并发高可用,更关注挖掘支付背后的巨大价值,关注每一位伙伴企业的成长。
Xpay API
面向企业应用开发者提供USDT/TRX/ETH/BTC等主流虚拟货币代接入服务,一站式解决支付接入、信息核验、数据分析等交易问题。
同时,我们坚信,支付不仅是交易的结束,更是交易的开始。未来,我们将专注于以数据驱动用户业务的增长,辅助企业商业决策,发挥每一笔支付交易的价值。
传输方式 | 为保证交易安全性,采用HTTPS传输 |
---|---|
提交方式 | 采用POST方法提交 |
数据格式 | 提交和返回数据都为JSON格式 |
字符编码 | 统一采用UTF-8字符编码 |
签名算法 | SHA1WithRSA等 |
签名要求 | 请求和接收数据都需要校验签名 |
授权要求 | 所有API操作都要求使用授权 |
判断逻辑 | 先判断协议字段返回,再判断业务返回,最后判断交易状态 |
1、请求Content-Type:content-type
设置该Header值为JSON格式。例:application/json; charset=UTF-8
2、请求Accept:accept
设置该Header值为JSON格式。例:application/json; charset=UTF-8
3、请求URL地址:x-ca-resturl
设置该Header值为统一下单等请求的URL地址。例:https://pay.xpay88.io/pay/unifiedorder
4、请求时间戳:x-ca-timestamp
设置该Header值为当前请求的毫秒或更高精度时间戳(毫秒/微秒/纳秒)。例:毫秒时间戳 1586007620038
5、请求随机数:x-ca-noncestr
设置该Header值为一个32位系统随机数,防重请求。例:MD5(系统随机数)
6、请求授权KEY:x-ca-auth
设置该Header值为商户申请API接口获取的key
。例:fa1f6903307460e099a92afa9431155a
7、请求签名:x-ca-signature
设置该Header值为使用SHA1WithRSA签名算法计算的签名,该签名将由服务端进行校验。具体算法规则参见下一节
第一步、商户系统API接口会分配key
和支付平台数据公钥platform_pubKey
,使用支付宝RSA签名验签工具自己生成商户数据RSA密钥对(私钥priKey
和公钥pubKey
,注:非JAVA适用 2048 pkcs1s):
key
:商户系统API接口对应的key
priKey
:对商户系统请求数据进行签名的RSA私钥
pubKey
:支付平台对商户系统请求数据进行验签的RSA公钥
platform_pubKey
:商户系统对支付平台返回数据进行验签的RSA公钥
第二步、拼接待签名的字符串string
,规则如下:
string
=UTF8格式的URI值 UTF8格式的URI查询参数值 UTF8格式的x-ca-noncestr Header值 UTF8格式的x-ca-timestamp Header值 UTF8格式的POST请求JSON数据值例:(注:空行是该请求的URI查询参数为空)
string
=/pay/unifiedorder aa7a97e0dc6b913ea2994522168ff0db 1686952313222 {"amount":1.5,"mchid":100000,"out_trade_no":"17062023055153221","subject":"xpay_payment_test","channel":"xpay_pay_usdt_trc20","return_url":"https://xpay88.io/demo.html","currency":"USDT","client_ip":"3.6.93.106","body":"xpay_payment_test","notify_url":"https://pay.xpay88.io/demo/demonotify","userid":"demopay"}
第三步、使用SHA1WithRSA签名算法计算得出x-ca-signature
签名,如下:
1、对待签名字符串
string
进行Base64
运算得到sign
值
2、读取商户私钥priKey
并转换为openssl密钥private key
3、将sign
值和private key
密钥传入SHA1WithRSA签名算法计算出signature
4、对signature
进行Base64
运算得到x-ca-signature
值
第四步、支付平台收到商户系统请求后,将对请求数据进行验签。如果验签不通过,返回失败结果;如果验签通过,执行相应的支付业务逻辑并返回相应的结果。支付平台对返回结果进行了SHA1WithRSA签名算法,返回结果和Header示例如下:
Response Body:
{"result_code":"OK","result_msg":"SUCCESS","charge":{"channel":"xpay_pay_usdt_trc20","out_trade_no":"17062023022949219","client_ip":"3.6.93.106","amount":"1.5","currency":"USDT","subject":"xpay_payment_test","body":"xpay_payment_test","extparam":[],"credential":{"merch_id":"100000","merch_name":"demo","merch_domain":"https://www.demo.com","out_trade_no":"17062023022949219","trade_no":"0c6002169b3e0e21a2dc646025354fd6","currency":"USDT","network":"TRON","pay_amount":1.5,"pay_channel":"xpay_pay_usdt_trc20","pay_account":"TEwcNd2rdQFp6wBYqvcYL7fbNSrfJtyeZk","fiatrate":"0.000","return_url":"https://pay.xpay88.io/demo.html","time":1686943790,"query_signature":"3f8cd3c4040ccb41ea0bd00756e29482980d90e55047f3d6d76e8dba725c9037","cashier_url":"https://pay.xpay88.io/cashier/payusdt?data=MzE=","merchant_wallet":{"uid":"100000","currency":"USDT","total_limit_credits":"0.00","total_security_deposit_credits":"0.00","total_unsettled_credits":"0.00","total_hold_credits":"0.00","total_commission_credits":"4.18","total_available_credits":"135.41"}}}}
Response Header:
x-ca-timestamp: 1686952314478
x-ca-noncestr: CC6D5CA569F0CEBE99206AAF6B25653C
x-ca-signature: bZ59iGF5u3/53nwqULgFwGl9mzOmKppav4mH/W6buq8AL7OHlrl6YPOb83HYpSCkVYARcz1rn1ahpuhjFXj9wQnLqB1a/23uR7z4pTnyv7HNWpbXarUJ8X1fLMdohEkHnIhPPSnL/gsJoJol8qyQfwLNFxOBE3M2gOKFQJ5/d3TeOqvbTpO6E+GJ51VmNwVEaJ3tVLZ3vvDpEWIhyLe4lJ7KgUMkzXKjW4yIZe/ghWXGzBZtbGea6XjehTAnLFmnqzRdFGCvOTQ2HAdO0IhY4g86roTpdWA73KWPmYYlAs4a4pdivy5tEwzn5KEMs1tt3LGhMzQoW5947OrXy7tAFQ==
第五步、商户系统收到返回结果后,为保证支付安全,强烈建议商户对返回数据进行验签后再进行相应的业务处理。验签算法如下:
拼接待验签的字符串
string
,规则如下:
string
=UTF8格式的x-ca-noncestr Header值 UTF8格式的x-ca-timestamp Header值 UTF8格式的返回结果的完整JSON数据值然后对待验签字符串string
进行Base64
运算得到verify
值,传入 返回Header的x-ca-signature
值、verify
值、支付平台数据公钥platform_pubKey
这三个参数执行SHA1WithRSA验签算法。
HTTP状态码 | 错误码 | 错误类型 | 错误提示 | 错误原因 | 解决方案 |
---|---|---|---|---|---|
404 | 100000 | MissException | Global: Your Required Resource Are Not Found | HTTP 404状态码时抛出此异常,即找不到对应请求资源 | 检查请求URL链接是否正确 |
400 | 200000 | OrderException | Order does not exist. | 订单不存在 | 检查订单号是否正确 |
400 | 200003 | OrderException | Order Error. | 订单状态错误 | 检查订单状态 |
400 | 400006 | OrderException | Route Payment Error. [No available channels] | 订单支付通道不可用 | 检查订单的支付通道参数和配置 |
400 | 400008 | OrderException | Route Payment Error. [No available merchants account.] | 订单支付账号不可用 | 检查订单的支付账号参数和配置 |
400 | 400008 | OrderException | Route Payment Error. [No available ma code.] | 订单没有可用的码卡 | 检查码卡状态和配置 |
400 | 400008 | OrderException | Route Payment Error. [Ma code disconnected, Pls reorder.] | 订单选择的码卡突然掉线 | 请重新下单 |
400 | 400008 | OrderException | Route Payment Error. [Payment account was misconfigured.] | 订单支付账号或码卡配置错误 | 检查订单的支付账号配置或码卡状态 |
400 | 100000 | ParameterException | invalid parameters | 请求参数不合法或缺少参数 | 确保传入参数合法性和完整性 |
400 | 400000 | ParameterException | Invalid Request.[ Request header [xxx] Failure.] | 请求Header头 xxx 不合法 | 确保请求Header头 xxx 合法或正确配置 |
400 | 400003 | ParameterException | Invalid Request.[ Auth Key No permission or nexistencet.] | 请求授权Key参数不合法 | 确保请求授权码Key参数合法或正确配置 |
400 | 400003 | ParameterException | Invalid Request.[ Payment Code Does Not Allowed.] | 请求支付通道码参数不合法 | 确保请求支付通道码参数合法或正确配置 |
400 | 400003 | ParameterException | Invalid Request.[ Payment Code Does Not Allowed.] | 请求支付通道码参数不合法 | 确保请求支付通道码参数合法或正确配置 |
403 | 100003 | ForbiddenException | Invalid Request.[ Trigger Restriction And Flow Control.] | 同一IP每秒接口访问频率超过10次限制 | 稍后再试或请联系平台管理员协查 |
403 | 400003 | ForbiddenException | Invalid Request.[ Request IP not authorized.] | 请求IP未授权,被阻止 | 确保请求IP在授权列表中 |
403 | 400003 | SignatureException | Invalid Request.[ Request Data And Sign Verify Failure.] | 商户支付请求数据验签失败 | 仔细阅读API接口文档的接口规则,检查相关请求参数,如还无法解决请联系平台管理员协查 |
404 | 600000 | UserException | User do not exist. | 用户不存在 | 检查用户信息是否正确 |
400 | 999999 | BaseException | Error .[There may be a problem with the system.] | 通用系统错误 | 请联系平台管理员协查 |
支付地址接口,商户系统先调用该接口在支付服务后台生成预支付交易单
URL地址:https://pay.xpay88.io/pay/payaddress 注意: 此接口为测试接口,请向业务人员索要
字段名 | 变量名 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
商户UID | mchid | string | True | 100000 | 商户UID |
商户会员ID | userid | string | True | U123456789 | 商户会员ID,必须唯一 |
支付产品 | channel | string | True | xpay_payout_usdt_trc20 | xpay_address_usdt_trc20 xpay_address_trx |
货币代码 | currency | string | True | USDT | 支付币种: USDT, TRX |
终端IP | client_ip | string | True | 127.0.0.1 | 发起支付IP |
通知地址 | notify_url | string | True | 异步通知地址 | |
回调地址 | return_url | string | False | 同步回调地址 |
以下是下单请求的数据样例
{
"mchid": 100000, # 商户ID
"channel": "xpay_address_usdt_trc20", # 支付产品
"return_url": "https://xpay88.io/demo.html", # 同步回调地址,不强制填写
"currency": "USDT", # 充值币种
"client_ip": "3.6.93.106", # 会员IP
"notify_url": "https://pay.xpay88.io/demo/demonotify", # 异步通知地址
"userid": "demopay" # 商户会员ID,必须唯一
}
字段名 | 变量名 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
错误码 | result_code | string | True | OK | 结果码. OK:成功,其他:失败 |
返回消息 | result_msg | string | True | SUCCESS | 提示信息. SUCCESS:成功 |
数据对象 | charge | object | True | 返回支付对象(请看下方具体数据) |
{
"result_code": "OK", # 结果码
"result_msg": "SUCCESS", # 提示信息
"charge": {
"merch_id": 100000, # 商户ID
"merch_name": "demo", # 商户名称
"merch_domain": "https://www.demo.com", # 商户domain
"userid": "demopay", # 商户会员ID,必须唯一
"currency": "USDT", # 提单币种
"network": "TRON", # 提单网络
"pay_channel": "xpay_address_usdt_trc20", # 支付产品
"pay_account": "TEwcNd2rdQFp6wBYqvcYL7fbNSrfJtyeZk", # 支付地址
"fiatrate": "0.000", # 提单币种和支付币种不同的跨币种汇率
"return_url": "https://xpay88.io/demo.html", # 同步回调地址
"time": 1687148404, # 超时时间戳
"query_signature": "851410233da62d1b3fb3494d8d650a75a73af3cb9c8c6c741089f58970a02942", # 收银页面轮训查询订单状态签名
"cashier_url": "https://pay.xpay88.io/cashier/addressusdt?data=MQ==" # 收银页面URL
}
}
[error] 这里是错误返回信息 在返回错误数据中仅有 error_code 和 error_msg
{
"error_msg": "Invalid Request.[ Request header [authentication] Failure.]",
"error_code": 400000
}
统一下单接口,商户系统先调用该接口在支付服务后台生成预支付交易单
URL地址:https://pay.xpay88.io/pay/unifiedorder 注意: 此接口为测试接口,请向业务人员索要
字段名 | 变量名 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
商户UID | mchid | string | True | 100000 | 商户UID |
商户会员ID | userid | string | True | U123456789 | 商户会员ID,必须唯一 |
商户订单号 | out_trade_no | string | True | 17062023022949219 | 商户订单号 |
商品描述 | subject | string | True | xpay_payment_test | 商品简单描述 |
商品信息 | body | string | True | xpay_payment_test | 支付商品信息 |
支付金额 | amount | float | True | 1111.11 | 支付总金额,两位精度 |
支付产品 | channel | string | True | xpay_payout_usdt_trc20 | (1) 支付方式: xpay_pay_usdt_trc20 xpay_pay_trx (2) 代付方式: xpay_payout_usdt_trc20 xpay_payout_trx |
附加数据 | extparam | string | True | 附加参数:
(1)如果是支付请求,无需附加参数 (2)如果是代付请求,则extparam需要添加crypto/network/address参数,参数格式为json |
|
货币代码 | currency | string | True | USDT | 支付币种: USDT, TRX |
终端IP | client_ip | string | True | 127.0.0.1 | 发起支付IP |
通知地址 | notify_url | string | True | 异步通知地址 | |
回调地址 | return_url | string | False | 同步回调地址 |
[warning] extparam参数说明
当channel是代付请求(xpay_payout_usdt_trc20 或 xpay_payout_trx),则extparam需要添加crypto/network/address参数:
{"address":"TNcsiLztUSgEfXFBvmwCy2iU5TytccUTjY","crypto":"USDT","network":"TRON"}
以下是下单请求的数据样例
{
"extparam": {
"address": "TNcsiLztUSgEfXFBvmwCy2iU5TytccUTjY", # 代付会员收款地址
"crypto": "USDT", # 代付会员收款货币
"network": "TRON" # 代付会员收款网络
},
"amount": 1.11, # 提单金额
"mchid": 100000, # 商户ID
"out_trade_no": "17062023060452453", # 商户订单号
"subject": "xpay_payout_test", # 商品描述
"channel": "xpay_payout_usdt_trc20", # 支付产品
"return_url": "https://xpay88.io/demo.html", # 同步回调地址,不强制填写
"currency": "USDT", # 提单币种
"client_ip": "3.6.93.106", # 会员IP
"body": "xpay_payout_test", # 商品信息
"notify_url": "https://pay.xpay88.io/demo/demonotify", # 异步通知地址
"userid": "demopay" # 商户会员ID,必须唯一
}
字段名 | 变量名 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
错误码 | result_code | string | True | OK | 结果码. OK:成功,其他:失败 |
返回消息 | result_msg | string | True | SUCCESS | 提示信息. SUCCESS:成功 |
数据对象 | charge | object | True | 返回支付对象(请看下方具体数据) |
[success] 这里是成功返回信息 在返回JSON数据中 result_code=OK 和 result_msg= SUCCESS 时才有 charge
{
"result_code": "OK", # 结果码
"result_msg": "SUCCESS", # 提示信息
"charge": {
"out_trade_no": "17062023060452453", # 商户订单号
"trade_no": "3495f19b3b84c5d3db3b61bef94cc681", # 三方订单号
"merchant_wallet": {
"uid": "100000", # 商户ID
"currency": "USDT", # 钱包币种
"total_limit_credits": "0.00", # 信用额度
"total_security_deposit_credits": "0.00", # 保证金
"total_unsettled_credits": "2.11", # 待结金额
"total_hold_credits": "0.00", # 冻结金额
"total_commission_credits": "15.18", # 佣金金额
"total_available_credits": "90.53" # 可用金额
}
}
}
[error] 这里是错误返回信息 在返回错误数据中仅有 error_code 和 error_msg
{
"error_msg": "Invalid Request.[ Request header [authentication] Failure.]",
"error_code": 400000
}
支付完成后,支付中心
会把相关支付结果和相关信息发送给商户,商户需要接收处理,并返回应答。
对后台通知交互时,如果支付中心收到商户的应答不是成功或超时,支付中心则认为通知失败,会在一定的策略定期重新发起通知,尽可能提高通知的成功率,但不保证通知最终能成功。 (通知频率为15/15/30/180/1800/1800/1800/1800/3600
,单位:秒
)
[warning]注意:同样的通知可能会多次发送给商户系统。商户系统必须能够正确处理重复的通知。 推荐的做法是,当收到通知进行处理时,首先检查对应业务数据的状态,判断该通知是否已经处理过,如果没有处理过再进行处理,如果处理过直接返回结果成功。在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱。
[danger]特别提醒:商户系统对于订单回调的内容一定要做签名验证,并校验返回的订单金额是否与商户侧的订单金额一致,防止数据泄漏导致出现“假通知”,造成资金损失。
统一下单接口提交的参数notify_url
设置,如果无法访问链接,您的业务系统将无法接收到支付中心的通知。
字段名 | 变量名 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
返回码 | result_code | string | True | OK | 结果码. OK:成功,其他:失败 |
返回消息 | result_msg | string | True | SUCCESS | 提示信息. SUCCESS:成功 |
数据对象 | charge | object | True | 返回支付对象(请看下方具体数据) |
以下是成功通知的数据样例
[warning]注意:status为订单业务状态
0-关闭订单
1-等待支付
2-支付成功
3-支付失败
4-正在支付
5-结算成功
6-退款成功
7-投诉纠纷
{
"result_code": "OK", # 结果码
"result_msg": "SUCCESS", # 提示信息
"charge": {
"uid": "100000", # 商户ID
"userid": "demopay", # 商户会员ID,必须唯一
"out_trade_no": "17062023060452453", # 商户订单号
"trade_no": "3495f19b3b84c5d3db3b61bef94cc681", # 三方订单号
"in_trade_no": "0744e291231080e3647e6e55b5c3998b", # 上游订单号
"subject": "xpay_payout_test", # 商品描述
"body": "xpay_payout_test", # 商品信息
"channel": "xpay_payout_usdt_trc20", # 支付产品
"paytype": "0", # 代收代付标识,1为代收,0为代付
"account_id": "TNcsiLztUSgEfXFBvmwCy2iU5TytccUTjY", # 收款地址
"extra": "{\"address\":\"TNcsiLztUSgEfXFBvmwCy2iU5TytccUTjY\",\"crypto\":\"USDT\",\"network\":\"TRON\"}", # 提单额外参数
"currency": "USDT", # 提单币种
"amount": "1.110", # 提单金额
"pay_amount": "1.110", # 收银支付金额
"amount_paid": "1.110", # 实际金额
"currency_paid": "USDT", # 实际币种
"network_paid": "TRON", # 实际网络
"keyword": "29850e17900284189a42cce0117956f8b445c3e1bd20ef84ec7b79af47d1b33f", # 关键字-区块链交易ID
"urate": "0.000", # 佣金比例
"ufixed_fee": "1.000", # 单笔费用
"user_in": "2.110", # 商户收入 或 商户费用
"client_ip": "3.6.93.106", # 会员IP
"return_url": "https://xpay88.io/demo.html", # 同步回调地址
"notify_url": "https://pay.xpay88.io/demo/demonotify", # 异步通知地址
"image_list": null, # 凭证图片
"image_text": null, # 凭证内容
"remark": "{\"errno\":0,\"serial\":\"0744e291231080e3647e6e55b5c3998b\",\"balance\":\"77.62\"}", # 备注信息
"create_time": "1686953093", # 订单创建时间戳
"update_time": "1686953106", # 订单更新时间戳
"out_status": "1", # 商户提单状态
"status": 2, # 三方订单状态
"is_status": "0", # 通知状态
"merchant_wallet": {
"uid": "100000", # 商户ID
"currency": "USDT", # 钱包币种
"total_limit_credits": "0.00", # 信用额度
"total_security_deposit_credits": "0.00", # 保证金
"total_unsettled_credits": "0.00", # 待结金额
"total_hold_credits": "0.00", # 冻结金额
"total_commission_credits": "16.18", # 佣金金额
"total_available_credits": "90.53" # 可用金额
}
}
}
以下是成功应答的数据样例
{
"result_code": "OK",
"result_msg": "SUCCESS"
}
以下是失败应答的数据样例
{
"result_code": "OK",
"result_msg": "FAIL"
}
URL地址:https://pay.xpay88.io/pay/orderquery 注意: 此接口为测试接口,请向业务人员索要
字段名 | 变量名 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
商户UID | mchid | string | True | 100000 | 商户UID |
商户订单号 | out_trade_no | string | True | 17062023022949219 | 商户订单号 |
支付产品 | channel | string | True | xpay_payout_usdt_trc20 | (1) 支付方式: xpay_pay_usdt_trc20 xpay_pay_trx (2) 代付方式: xpay_payout_usdt_trc20 xpay_payout_trx |
以下是下单请求的数据样例
{
"mchid": 100000, # 商户ID
"out_trade_no": "17062023045651562", # 商户订单号
"channel": "xpay_payout_usdt_trc20" # 支付产品
}
字段名 | 变量名 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
返回码 | result_code | string | True | OK | 结果码. OK:成功,其他:失败 |
返回消息 | result_msg | string | True | SUCCESS | 提示信息. SUCCESS:成功 |
数据对象 | charge | object | True | 返回支付对象(请看下方具体数据) |
[success] 这里是成功返回信息 在返回JSON数据中 result_code=OK 和 result_msg= SUCCESS 时才有 charge
[warning]注意:status为订单业务状态
0-关闭订单
1-等待支付
2-支付成功
3-支付失败
4-正在支付
5-结算成功
6-退款成功
7-投诉纠纷
{
"result_code": "OK", # 结果码
"result_msg": "SUCCESS", # 提示信息
"charge": {
"uid": "100000", # 商户ID
"userid": "demopay", # 商户会员ID,必须唯一
"out_trade_no": "17062023060452453", # 商户订单号
"trade_no": "3495f19b3b84c5d3db3b61bef94cc681", # 三方订单号
"in_trade_no": "0744e291231080e3647e6e55b5c3998b", # 上游订单号
"subject": "xpay_payout_test", # 商品描述
"body": "xpay_payout_test", # 商品信息
"channel": "xpay_payout_usdt_trc20", # 支付产品
"paytype": "0", # 代收代付标识,1为代收,0为代付
"account_id": "TNcsiLztUSgEfXFBvmwCy2iU5TytccUTjY", # 收款地址
"extra": "{\"address\":\"TNcsiLztUSgEfXFBvmwCy2iU5TytccUTjY\",\"crypto\":\"USDT\",\"network\":\"TRON\"}", # 提单额外参数
"currency": "USDT", # 提单币种
"amount": "1.110", # 提单金额
"pay_amount": "1.110", # 收银支付金额
"amount_paid": "1.110", # 实际金额
"currency_paid": "USDT", # 实际币种
"network_paid": "TRON", # 实际网络
"keyword": "29850e17900284189a42cce0117956f8b445c3e1bd20ef84ec7b79af47d1b33f", # 关键字-区块链交易ID
"urate": "0.000", # 佣金比例
"ufixed_fee": "1.000", # 单笔费用
"user_in": "2.110", # 商户收入 或 商户费用
"client_ip": "3.6.93.106", # 会员IP
"return_url": "https://xpay88.io/demo.html", # 同步回调地址
"notify_url": "https://pay.xpay88.io/demo/demonotify", # 异步通知地址
"image_list": null, # 凭证图片
"image_text": null, # 凭证内容
"remark": "{\"errno\":0,\"serial\":\"0744e291231080e3647e6e55b5c3998b\",\"balance\":\"77.62\"}", # 备注信息
"create_time": "1686953093", # 订单创建时间戳
"update_time": "1686953106", # 订单更新时间戳
"out_status": "1", # 商户提单状态
"status": 2, # 三方订单状态
"is_status": "0", # 通知状态
}
}
[error] 这里是错误返回信息 在返回错误数据中仅有 error_code 和 error_msg
{
"error_msg": "Invalid Request.[ Request header [authentication] Failure.]",
"error_code": 400000
}
URL地址:https://pay.xpay88.io/pay/balancequery 注意: 此接口为测试接口,请向业务人员索要
字段名 | 变量名 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
商户UID | mchid | string | True | 100000 | 商户UID |
货币代码 | currency | string | True | USDT | 支付币种: USDT, TRX |
以下是下单请求的数据样例
{
"mchid": 100000, # 商户ID
"currency": "USDT" # 钱包币种
}
字段名 | 变量名 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
返回码 | result_code | string | True | OK | 结果码. OK:成功,其他:失败 |
返回消息 | result_msg | string | True | SUCCESS | 提示信息. SUCCESS:成功 |
数据对象 | charge | object | True | 返回支付对象(请看下方具体数据) |
[success] 这里是成功返回信息 在返回JSON数据中 result_code=OK 和 result_msg= SUCCESS 时才有 charge
{
"result_code": "OK", # 返回码
"result_msg": "SUCCESS", # 提示信息
"charge": [
{
"uid": "100000", # 商户ID
"currency": "USDT", # 钱包币种
"limit_credits": "0.000", # 信用额度
"security_deposit_credits": "0.000", # 保证金
"unsettled_credits": "0.000", # 待结金额
"hold_credits": "0.000", # 冻结金额
"commission_credits": "13.188", # 佣金金额
"available_credits": "96.862", # 可用金额
}
]
}
[error] 这里是错误返回信息 在返回错误数据中仅有 error_code 和 error_msg
{
"error_msg": "Invalid Request.[ Request header [authentication] Failure.]",
"error_code": 400000
}