条码支付综合前置平台业务功能
根据商户订单号或者平台订单号查询平台的具体订单信息。
交互模式
后台系统调用交互模式
调用订单查询接口建议:查询6次每隔5秒查询一次(具体的查询次数和时间也可自定义,建议查询时间不低于30秒)6次查询完成,接口仍未返回成功标识(即查询接口返回的trade_state不是SUCCESS)则调用撤销接口;
请求参数列表
请求url:https://qra.95516.com/pay/gateway
通过POST XML 内容体进行请求
字段名 | 变量名 | 必填 | 类型 | 说明 |
接口类型 | service | 是 | String(32) | 接口类型:unified.trade.query |
版本号 | version | 否 | String(8) | 版本号,version默认值是2.0。 |
字符集 | charset | 否 | String(8) | 可选值 UTF-8 ,默认为 UTF-8。 |
签名方式 | sign_type | 否 | String(8) | 签名类型,取值范围: MD5(默认); SM3; |
商户号 | mch_id | 是 | String(15) | 商户号,由平台分配 |
商户订单号 | out_trade_no | 否 | String(32) | 商户系统内部的订单号, out_trade_no和transaction_id至少一个必填,同时存在时transaction_id优先 |
平台订单号 | transaction_id | 否 | String(32) | 平台交易号, out_trade_no和transaction_id至少一个必填,同时存在时transaction_id优先。 |
授权交易机构 | sign_agentno | 否 | String(12) | 授权交易的服务商机构代码,商户授权给服务商交易的情况下返回,签名使用服务商的密钥 |
连锁商户号 | groupno | 否 | String(15) | 连锁商户为其下门店发交易的情况返回,签名使用连锁商户的密钥 |
随机字符串 | nonce_str | 是 | String(32) | 随机字符串,不长于 32 位 |
签名 | sign | 是 | String(32) | MD5签名结果,详见“安全规范” |
返回结果
数据按XML的格式实时返回
字段名 | 变量名 | 必填 | 类型 | 说明 |
版本号 | version | 是 | String(8) | 版本号,version默认值是2.0。 |
字符集 | charset | 是 | String(8) | 可选值 UTF-8 ,默认为 UTF-8。 |
签名方式 | sign_type | 否 | String(8) | 签名类型,取值范围: MD5(默认); SM3; |
授权交易机构 | sign_agentno | 否 | String(12) | 授权交易的服务商机构代码,商户授权给服务商交易的情况下返回,签名使用服务商的密钥 |
连锁商户号 | groupno | 否 | String(15) | 连锁商户为其下门店发交易的情况返回,签名使用连锁商户的密钥 |
返回状态码 | status | 是 | String(16) | 0表示成功,非0表示失败此字段是通信标识,非交易标识,交易是否成功需要查看 result_code 、pay_result共同来判断 |
返回信息 | message | 否 | String(128) | 返回信息,如非空,为错误原因签名失败参数格式校验错误 |
网关返回码 | code | 否 | String(32) | 网关返回码 |
以下字段在 status 为 0的时候有返回 | ||||
业务结果 | result_code | 是 | String(16) | 0表示成功,非0表示失败(非交易失败,表示交易状态未明确,需参考err_code判断是否继续查询),交易终态请参考trade_state,银联二维码交易终态也可参考err_code |
商户号 | mch_id | 是 | String(15) | 商户号,由平台分配 |
设备号 | device_info | 否 | String(32) | 终端设备号 |
随机字符串 | nonce_str | 是 | String(32) | 随机字符串,不长于 32 位 |
错误代码 | err_code | 否 | String(32) | 具体错误码请看文档最后错误码列表 其中USERPAYING代表用户输密中,需要继续查询; 其中银联二维码的err_code为两位数字,含义较特殊: 00 表示交易 成功 04和06 代表交易需要继续查询 其他应答码都是明确代表交易失败 |
错误代码描述 | err_msg | 否 | String (128) | 结果信息描述 |
签名 | sign | 是 | String(32) | MD5签名结果,详见“安全规范” |
以下字段在 status 和 result_code 都为 0的时候有返回 | ||||
交易状态 | trade_state | 是 | String(32) | SUCCESS—支付成功 (支付结果以此字段为准) |
交易状态描述 | trade_state_desc | 否 | String(256) | 对当前查询订单状态的描述 |
以下字段在 trade_state为 SUCCESS的时候有返回 | ||||
交易类型 | trade_type | 是 | String(32) | pay.weixin.micropay——微信被扫支付 |
商户appid | appid | 否 | String | 受理商户appid |
微信用户全局标识 | user_id | 否 | String(128) | 微信用户唯一标识码 |
子商户appid | sub_appid | 否 | String | 子商户appid |
用户标识 | openid | 否 | String(128) | 用户在受理商户 appid 下的唯一标识 |
用户标识 | sub_openid | 否 | String(128) | 用户在子商户appid下的唯一标识 |
是否关注公众账号 | is_subscribe | 否 | String(1) | 用户是否关注公众账号,Y-关注,N-未关注,仅在公众账号类型支付有效 |
是否关注公众账号 | sub_is_subscribe | 否 | String(1) | 用户是否关注公众账号,Y-关注,N-未关注,仅在公众账号类型支付有效(子商户公众账号) |
平台订单号 | transaction_id | 是 | String(32 | 平台交易号 |
第三方交易号 | out_transaction_id | 是 | String(32) | 第三方交易号 |
商户订单号 | out_trade_no | 是 | String(32) | 商户系统内部的定单号,32个字符内、可包含字母 |
总金额 | total_fee | 是 | Int | 总金额,以分为单位,不允许包含任何字、符号 |
现金支付金额【微信】 | cash_fee | 否 | Int | |
优惠详情【微信】 | promotion_detail | 否 | String(6000) | |
优惠详情【银联】 | unionpay_discount | 否 | String | 优惠详情,银联二维码交易返回{"couponInfo":[{"id":"1201201901265194","desc":"宁城农商行超市二维码满50减10","type":"CP01","spnsrId":"QRA194853315031","offstAmt":"1000"}]} |
开票金额 【支付宝】 | invoice_amount | 否 | String(11) | 用户在交易中支付的可开发票的金额 |
买家支付宝账号【支付宝】 | buyer_logon_id | 否 | String(64) | 买家支付宝账号 |
买家付款金额【支付宝】 | buyer_pay_amount | 否 | Price | 买家付款的金额,单位为元,两位小数。 |
买家支付宝用户ID【支付宝】 | buyer_user_id | 否 | String(28) | 买家在支付宝的用户id |
集分宝付款金额【支付宝】 | point_amount | 否 | Price | 使用集分宝付款的金额,单位为元,两位小数。 |
实收金额【支付宝】 | receipt_amount | 否 | Price | 实收金额,单位为元,两位小数。 |
交易支付使用的资金渠道 【支付宝】 | fund_bill_list | 是 | String | 示例值{"amount":"0.01","fundChannel":"PCREDIT"} |
优惠详情【支付宝】 | discount_goods_detail | 否 | String(1024) | |
现金券金额 | coupon_fee | 否 | Int | 现金券支付金额<=订单总金额, 订单总金额-现金券金额为现金支付金额,以分为单位 |
免充值优惠金额 | mdiscount | 否 | Int | 免充值优惠金额,以分为单位 |
货币种类 | fee_type | 否 | String(8) | 货币类型,符合 ISO 4217 标准的三位字母代码,默认人民币:CNY |
附加信息 | attach | 否 | String(127) | 商家数据包,原样返回 |
付款银行 | bank_type | 否 | String(16) | 银行类型 |
银行订单号 | bank_billno | 否 | String(32) | 银行订单号,若为微信支付则为空 |
支付完成时间 | time_end | 是 | String(14) | 支付完成时间,格式为yyyyMMddhhmmss,如2009年12月27日9点10分10秒表示为20091227091010。时区为GMT+8 beijing。该时间取自平台服务器 |
银联交易主键 | settle_key | 否 | String(38) | 仅银联二维码交易有该字段信息,该字段的值里可能存在空格 |