开发文档

退款查询

应用场景:

提交退款申请后,通过调用该接口查询退款状态。退款有一定延时,用余额支付的退款20分钟内到账,银行卡支付的退款3个工作日后重新查询退款状态。

接口地址:

https://qpay.qq.com/cgi-bin/pay/qpay_refund_query.cgi

是否需要证书:

接口规则

· 为保证交易安全性,采用HTTPS传输

· 采用POST方法提交

· 统一采用UTF-8字符编码

 更多详情见接口规则

 

请求参数:

变量名

字段名

字段类型

必填

描述

示例

appid

应用ID

String(32)

腾讯开放平台或QQ互联平台审核通过的应用APPID

1007033799

mch_id

商户号

String(32)

QQ钱包分配的商户号

1900000109

nonce_str

随机字符串

String(32)

随机字符串,不长于32

3e5a036cb4bc3a677a38ad9d69eb3feb

sign

商户签名

String(128)

商户签名,详见商户签名算法规则

C380BEC2BFD727A4B6845133519F3AD6

refund_id

QQ钱包退款单号

String(32)

41

如果传入,则查询refund_id的退款详情,同时忽略out_refund_no参数

1121218133801201611098791376

out_refund_no

商户退款单号

String(32)

41

refund_id没有传入时,如果传入out_refund_no,则查询out_refund_no的退款详情

2015080612

transaction_id

QQ钱包订单号

String(32)

41

请求30天或更久之前支付的订单时,此参数不能为空。refund_idout_refund_no没有传入时,如果传入transaction_id,则查询transaction_id相关的全部退款详情。transaction_id存在时,则忽略out_trade_no

1353933301461607211903715555

out_trade_no

商户订单号

String(32)

41

在上面3项都没有传入时,则查询transaction_id相关的全部退款详情。以上4项必须传入一个。

20150806125346

示例如下:

    <xml>

    <mch_id>1301278501</mch_id>

    <nonce_str>b3dd0d076baf72459d7ebe5eb3422cb1</nonce_str>

    <out_trade_no>2016061235213696</out_trade_no>

    <sign>cf2e6dde9051d30ed51309531d3ef17c</sign>

    </xml>

 

返回结果:

变量名

字段名

类型

必填

描述

示例

return_code

返回状态码

String(16)

SUCCESS/FAIL

SUCCESS

return_msg

返回信息

String(128)

返回信息,如非空,为错误原因 

签名失败

retcode

Q CGI原始错误码

String(16)

原始错误码

10025

retmsg

Q CGI原始错误信息

String(128)

原始错误信息

系统繁忙

 

下列字段,在return_code为成功时有返回:

变量名

字段名

类型

必填

描述

示例

appid

应用ID

String(32)

腾讯开放平台或QQ互联平台审核通过的应用APPID

1007033799

mch_id

商户号

String(32)

QQ钱包分配的商户号

1900000109

sign

商户签名

String(128)

商户签名,详见商户签名算法规则

5K8264ILTKCH16CQ2502SI8ZNMTM67VS

result_code

业务结果

String(32)

SUCCESS/FAIL

SUCCESS

err_code

错误代码

String(32)

详情见错误代码

SYSTEMERROR

err_code_des

错误代码描述

String(128)

错误返回的信息描述

系统繁忙

nonce_str

随机字符串

String(32)

随机字符串,不长于32位。

3e5a036cb4bc3a677a38ad9d69eb3feb

 

下列字段,在result_code为成功时有返回:

变量名

字段名

类型

必填

描述

示例

transaction_id

QQ钱包订单号

String(32)

QQ钱包订单号

128355470147160281308949397

out_trade_no

商户订单号

String(32)

商户系统内部的订单号,32个字符内、可包含字母。其它说明见商户订单号

20150806125346

total_fee

订单金额

Int

商户订单总金额,单位为分,只能为整数,详见交易金额

888

cash_fee

用户支付金额

Int

用户本次交易中,实际支付的金额

666

fee_type

货币类型定义

String(16)

默认人民币:CNY

CNY

out_refund_no_$n

商户退款单号

String(32)

商户系统内部的退款单号,商户系统内部唯一,同一退款单号多次请求只退一笔

2015080612

refund_id_$n

QQ钱包退款单号

String(32)

QQ钱包退款单号,在成功受理商户的退款申请后,QQ钱包会为本次退款申请生成该 QQ钱包退款单号

1121218133801201611098791376

refund_channel_$n

退款方式

String(16)

ORIGINAL 原路退回    

BALANCE 退款到余额

ORIGINAL

refund_fee_$n

退款申请金额

Int

本次退款申请的退回金额。单位:分  币种:人民币

666

coupon_refund_fee_$n

退款申请金额中,优惠或者立减的金额

Int

退款申请金额中,优惠或者立减的金额。

n 0开始。

666

cash_refund_fee_$n

退款申请中的现金金额

Int

退款申请中的现金金额。

n 0开始。

666

refund_status_$n

退款状态定义

String(16)

SUCCESS—退款成功  

FAIL—退款失败  

PROCESSING—退款发起成功,正在处理中 

CHANGE转入代发,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,可前往商户平台(qpay.qq.com)-交易管理,手动处理此笔退款。$n为下标,从0开始编号。

SUCCESS

refund_recv_accout_$n

退款入账账户

String(64)

取当前退款单的退款入账方

1)退回银行卡:

{银行名称}{卡类型}{卡尾号}

2)退回支付用户余额:

支付用户余额

招商银行信用卡0403


示例如下:

   <xml>

       <retcode><![CDATA[0]]></retcode>

       <retmsg><![CDATA[ok]]></retmsg>

       <appid><![CDATA[]]></appid>

       <cash_fee><![CDATA[1]]></cash_fee>

       <fee_type><![CDATA[CNY]]></fee_type>

       <mch_id><![CDATA[1301278501]]></mch_id>

       <nonce_str><![CDATA[61cf2cec9b8d05a99fe6e58b4df507ba]]></nonce_str>

       <out_trade_no><![CDATA[2016061235213696]]></out_trade_no>

       <refund_count><![CDATA[0]]></refund_count>

       <result_code><![CDATA[SUCCESS]]></result_code>

       <return_code><![CDATA[SUCCESS]]></return_code>

       <return_msg><![CDATA[SUCCESS]]></return_msg>

       <sign><![CDATA[6458D6C3AB3FC334340963782206089F]]></sign>

       <total_fee><![CDATA[1]]></total_fee>

   <transaction_id><![CDATA[1301278501201607143160011208]]></transaction_id>

 </xml>


错误码:

错误码

描述

原因

解决办法

SYSTEMERROR

系统错误

系统错误

请用相同参数再次调用API

REFUNDNOTEXIST

退款订单查询失败

订单号错误或订单状态不正确

请检查订单号是否有误以及订单状态是否正确,如:未支付、已支付未退款

INVALID_TRANSACTIONID

无效transaction_id

请求参数未按指引进行填写

请求参数错误,检查原交易号是否存在或发起支付交易接口返回失败

PARAM_ERROR

参数错误

请求参数未按指引进行填写

请求参数错误,请重新检查再调用退款申请

APPID_NOT_EXIST

APPID不存在

参数中缺少APPID

请检查APPID是否正确

MCHID_NOT_EXIST

MCHID不存在

参数中缺少MCHID

请检查MCHID是否正确

APPID_MCHID_NOT_MATCH

appidmch_id不匹配

appidmch_id不匹配

请确认appidmch_id是否匹配

REQUIRE_POST_METHOD

请使用post方法

未使用post传递参数

请检查请求参数是否通过post方法提交

SIGNERROR

签名错误

参数签名结果不正确

请检查签名参数和方法是否都符合签名算法要求

XML_FORMAT_ERROR

XML格式错误

XML格式错误

请检查XML参数格式是否正确