Skip to content

统一退款

商户业务系统通过统一退款接口发起退款请求,云付易通支付网关会根据商户发起的支付订单号,找到对应到支付通道发起退款。

接口说明

适用对象:普通商户 特约商户

请求URL:https://pay.yunfuyitong.cn/api/refund/refundOrder

请求方式:POST

请求类型:application/jsonapplication/x-www-form-urlencoded

请求参数

字段名变量名必填类型示例值描述
商户号mchNoString(30)M1621873433953商户号
应用IDappIdString(24)60cc09bce4b0f1c0b83761c9应用ID
支付订单号payOrderIdString(30)P20160427210604000490支付中心生成的订单号,与mchOrderNo二者传一即可
商户订单号mchOrderNoString(30)20160427210604000490商户生成的支付订单号,与payOrderId二者传一即可
商户退款单号mchRefundNoString(30)M27210632100491商户生成的退款单号
退款金额refundAmountint100退款金额,单位分
货币代码currencyString(3)cny三位货币代码,人民币:cny
退款原因refundReasonString(64)用户退货退款原因
客户端IPclientIpString(32)210.73.10.148客户端IPV4地址
异步通知地址notifyUrlString(128)https://www.yunfuyitong.cn/notify.htm退款完成后回调该URL,只有传了该值才会发起回调
渠道参数channelExtraString(256{"auth_code", "13920933111042"}特定渠道发起的额外参数,json格式字符串.详见渠道参数说明
扩展参数extraParamString(512)134586944573118714商户扩展参数,回调时会原样返回
请求时间reqTimelong1622016572190请求接口时间,13位时间戳
接口版本versionString(3)1.0接口版本号,固定:1.0
签名signString(32)C380BEC2BFD727A4B6845133519F3AD6签名值,详见签名算法
签名类型signTypeString(32)MD5签名类型,目前只支持MD5方式

请求示例数据

json
{
  "payOrderId": "P202106181104177050002",
  "extParam": "",
  "mchOrderNo": "",
  "refundReason": "退款测试",
  "sign": "2762CDB48D5179281DB6C0995E4EEDE0",
  "reqTime": "1624007315",
  "version": "1.0",
  "channelExtra": "",
  "appId": "60cc09bce4b0f1c0b83761c9",
  "mchRefundNo": "mho1624007315478",
  "clientIp": "192.166.1.132",
  "notifyUrl": "https://www.yunfuyitong.cn",
  "signType": "MD5",
  "currency": "cny",
  "mchNo": "M1623984572",
  "refundAmount": 4
}

返回参数

字段名变量名必填类型示例值描述
返回状态codeint00-处理成功,其他-处理有误,详见错误码
返回信息msgString(128)签名失败具体错误原因,例如:签名失败、参数格式校验错误
签名信息signString(32)CCD9083A6DAD9A2DA9F668C3D4517A84对data内数据签名,如data为空则不返回
返回数据dataString(512){}返回下单数据,json格式数据

data数据格式

字段名变量名必填类型示例值描述
退款订单号refundOrderIdString(30)R202106181708358940000返回退款订单号
商户退款单号mchRefundNoString(30)mho1624007315478返回商户传入的退款单号
退款状态stateint2退款状态
0-订单生成
1-退款中
2-退款成功
3-退款失败
4-退款关闭
渠道退款单号channelOrderNoString20160427210604000490对应渠道的退款单号
渠道错误码errCodeStringACQ.PAYMENT_AUTH_CODE_INVALID上游渠道返回的错误码
渠道错误描述errMsgStringBusiness Failed 失败上游渠道返回的错误描述

返回示例数据

json
{
  "code": 0,
  "data": {
    "channelOrderNo": "2021061822001423031419593035",
    "mchRefundNo": "mho1624007315478",
    "payAmount": 58,
    "refundAmount": 4,
    "refundOrderId": "R202106181708358940000",
    "state": 2
  },
  "msg": "SUCCESS",
  "sign": "2843B811B7A75D56B7D1950362820875"
}

查询订单

商户通过该接口查询退款订单,支付网关会返回订单最新的数据

接口说明

适用对象:普通商户 特约商户

请求URL:https://pay.yunfuyitong.cn/api/refund/query

请求方式:POST

请求类型:application/jsonapplication/x-www-form-urlencoded

请求参数

字段名变量名必填类型示例值描述
商户号mchNoString(30)M1621873433953商户号
应用IDappIdString(24)60cc09bce4b0f1c0b83761c9应用ID
退款订单号refundOrderIdString(30)R20160427210604000490支付中心生成的退款单号,与mchRefundNo二者传一即可
商户退款单号mchRefundNoString(30)20160427210604000490商户生成的退款单号,与refundOrderId二者传一即可
请求时间reqTimelong1622016572190请求接口时间,13位时间戳
接口版本versionString(3)1.0接口版本号,固定:1.0
签名signString(32)C380BEC2BFD727A4B6845133519F3AD6签名值,详见签名算法
签名类型signTypeString(32)MD5签名类型,目前只支持MD5方式

请求示例数据

json
{
  "refundOrderId": "P202106181105527690009",
  "appId": "60cc09bce4b0f1c0b83761c9",
  "sign": "1484293FCAEAFE11DEC8949DB6B525A9",
  "signType": "MD5",
  "reqTime": "1624008199",
  "mchNo": "M1623984572",
  "version": "1.0"
}
字段名变量名必填类型示例值描述
返回状态codeint00-处理成功,其他-处理有误,详见错误码
返回信息msgString(128)签名失败具体错误原因,例如:签名失败、参数格式校验错误
签名信息signString(32)CCD9083A6DAD9A2DA9F668C3D4517A84对data内数据签名,如data为空则不返回
返回数据dataString(512){}返回下单数据,json格式数据

data数据格式

字段名变量名必填类型示例值描述
退款订单号refundOrderIdString(30)R20160427210604000490支付中心生成的退款单号
支付订单号payOrderIdString(30)P12021022311124442600返回支付系统订单号
商户号mchNoString(30)M1621873433953商户号
应用IDappIdString(24)60cc09bce4b0f1c0b83761c9应用ID
商户退款单号mchRefundNoString(30)20160427210604000490商户生成的退款单号
支付金额payAmountint100支付金额,单位分
退款金额refundAmountint100退款金额,单位分
货币代码currencyString(3)cny三位货币代码,人民币:cny
退款状态stateint2退款状态
0-订单生成
1-退款中
2-退款成功
3-退款失败
4-退款关闭
渠道订单号channelOrderNoString20160427210604000490对应渠道的订单号
渠道错误码errCodeString1002渠道返回错误码
渠道错误描述errMsgString134586944573118714渠道返回错误描述
扩展参数extraParamString(512)134586944573118714商户扩展参数,回调时会原样返回
创建时间createdAtlong1622016572190订单创建时间,13位时间戳
成功时间successTimelong1622016572190订单支付成功时间,13位时间戳

返回示例数据

json
{
  "code": 0,
  "data": {
    "appId": "60cc09bce4b0f1c0b83761c9",
    "channelOrderNo": "2021061822001423031419593035",
    "createdAt": 1623985552769,
    "currency": "cny",
    "extParam": "",
    "mchNo": "M1623984572",
    "mchRefundNo": "mho1623985552430",
    "payAmount": 58,
    "payOrderId": "P202106181104177050002",
    "refundAmount": 4,
    "refundOrderId": "P202106181105527690009",
    "state": 2,
    "successTime": 1623985554000
  },
  "msg": "SUCCESS",
  "sign": "E3F9F008FC5EF84BD782CCC7BE69DC5E"
}

退款通知

当退款完成时(成功或失败),支付网关会向商户系统发起回调通知。如果商户系统没有正确返回,支付网关会延迟再次通知。

接口说明

适用对象:普通商户 特约商户

请求URL:该链接是通过统一退款接口提交的参数notifyUrl设置,如果无法访问链接,商户系统将无法接收到支付中心的通知。

请求方式:POST

请求类型:application/x-www-form-urlencoded

通知参数

字段名变量名必填类型示例值描述
退款订单号refundOrderIdString(30)R20160427210604000490支付中心生成的退款单号
支付订单号payOrderIdString(30)P12021022311124442600返回支付系统订单号
商户号mchNoString(30)M1621873433953商户号
应用IDappIdString(24)60cc09bce4b0f1c0b83761c9应用ID
商户退款单号mchRefundNoString(30)20160427210604000490商户生成的退款单号
支付金额payAmountint100支付金额,单位分
退款金额refundAmountint100退款金额,单位分
货币代码currencyString(3)cny三位货币代码,人民币:cny
退款状态stateint2退款状态
0-订单生成
1-退款中
2-退款成功
3-退款失败
4-退款关闭
渠道订单号channelOrderNoString20160427210604000490对应渠道的订单号
渠道错误码errCodeString1002渠道返回错误码
渠道错误描述errMsgString134586944573118714渠道返回错误描述
扩展参数extraParamString(512)134586944573118714商户扩展参数,回调时会原样返回
创建时间createdAtlong1622016572190订单创建时间,13位时间戳
成功时间successTimelong1622016572190订单支付成功时间,13位时间戳
通知请求时间reqTimeString(30)1622016572190通知请求时间,,13位时间戳
签名signString(32)C380BEC2BFD727A4B6845133519F3AD6签名值,详见签名算法

> 返回结果

业务系统处理后同步返回给支付中心,返回字符串 success 则表示成功,返回非success则表示处理失败,支付中心会再次通知业务系统。(通知频率为0/30/60/90/120/150,单位:秒)

注意:返回的字符串必须是小写,且前后不能有空格和换行符。

通知示例数据

json
{
    "appId": "60cc09bce4b0f1c0b83761c9",
    "channelOrderNo": "2021061822001423031419593035",
    "createdAt": 1623985552769,
    "currency": "cny",
    "extParam": "",
    "mchNo": "M1623984572",
    "mchRefundNo": "mho1623985552430",
    "payAmount": 58,
    "payOrderId": "P202106181104177050002",
    "refundAmount": 4,
    "refundOrderId": "P202106181105527690009",
    "state": 2,
    "successTime": 1623985554000
}