更新时间:2024-11-11 14:27:10收藏我的文档设置返回文档退款退分账要求开发者通过 alipay.trade.refund(统一收单交易退款接口)进行退款、退分账。●当面付产品退款时不需要传入 refund_royalty_parameters(退分账明细)。系统自动按退款金额与订单金额的比率,从收款方和分账收入方退款,不支持指定退款金额与退款方。●电脑网站支付、手机 app 支付、手机网站支付产品,必须在退款请求中设置 refund_royalty_parameters(退分账明细)。明确是否退分账,可设置从哪个分账收入方退,退多少分账金额,如不明确设置,默认从收款方退款退分账。不支持系统按比率退款。参数说明具体退款参数说明详见 alipay.trade.refund(统一收单交易退款接口)。参数是否必填说明out_trade_no特殊可选订单支付时传入的商户订单号,不能和 trade_no 同时为空。trade_no特殊可选支付宝交易号,和商户订单号不能同时为空。refund_amount是需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数。注意:若是仅退分账不退款,refund_amount=0 refund_royalty_parameters否退分账明细信息└royalty_type否分账类型。●普通分账为:transfer●补差为:replenish●为空默认为分账transfer└trans_out_type否支出方账户类型。不传默认 userid●userid 表示是支付宝账号对应的支付宝唯一用户号。●loginname 表示是支付宝登录号。└trans_out是支出方账户。如果支出方账户类型为 userid,本参数为支出方的支付宝账号对应的支付宝唯一用户号,以 2088 开头的纯 16 位数字。如果支出方类型为 loginname,本参数为支出方的支付宝登录号。└trans_in_type否收入方账户类型。不传默认userid。●userid 表示是支付宝账号对应的支付宝唯一用户号●cardaliasno 表示是卡编号●loginname 表示是支付宝登录号└trans_in否收入方账户。●如果收入方账户类型为 userid,本参数为收入方的支付宝账号对应的支付宝唯一用户号,以 2088 开头的纯 16 位数字。●如果收入方类型为 cardaliasno,本参数为收入方在支付宝绑定的卡编号。●如果收入方类型为 loginname,本参数为收入方的支付宝登录号。└amount是分账的金额,单位为元。└amount_percentage否分账信息中分账百分比。注意:若要设置,amount_percentage 只支持设置 100。└desc否分账描述只退分账,不退款●当面付不支持设置 refund_royalty_parameters,退款时系统自动按照比例退款退分账,因此当面付不支持只退分账不退款。●线上接口(电脑网站、手机网站支付支付和app支付)退款退分账 refund_royalty_parameters 选填,因此设置只退分账不退款方式如下:○refund_amount(退款金额)设置为0元。○refund_royalty_parameters 按照以上参数说明设置退分账信息和金额。示例只退款,不退分账●当面付不支持设置 refund_royalty_parameters,退款时系统自动按照比例退款退分账,因此当面付不支持只退款不退分账。●线上接口(电脑网站、手机网站支付支付和app支付)退款退分账 refund_royalty_parameters 选填,因此设置只退款不退分账方式如下:○refund_amount:退款金额,必传,设置退款金额。○refund_royalty_parameters:退分账明细,不设置。线上接口(除当面付)只退款不退分账场景:商户交易100元,分账2元,全额退款给用户,商户不设置refund_royalty_parameters,因此需商户自己账户垫资填补分账的2元,进行退款给用户(分账收入方不会退还2元)。示例如何判断退款退分账成功判断退款退分账是否成功与判断退款是否成功是一致的:●根据退款接口返回的 fund_change(本次退款是否发生了资金变化)是否为y进行了解。●根据 alipay.trade.fastpay.refund.query(统一收单交易退款查询接口)返回具体的响应参数进行判断。是否返回 trade_no、out_trade_no 等信息,返回该信息只表示退款成功。●根据 alipay.trade.query(统一收单交易查询接口)查询退分账信息("query_options":["trade_settle_info"] 必传)。 ○trade_settle_info.trade_settle_detail_list.operation_type=transfer 表示分账的信息。○trade_settle_info.trade_settle_detail_list.operation_type=transfer_refund 表示退分账的信息。返回 transfer_refund,只表示退分账成功。注意事项trade_closed(交易关闭)中的全额退款是全部资金原路返回,因此商家分账 closed 状态需全额退款且全额退分账。●若只退款不退分账,查询接口返回交易状态 tradestatus=trade_success。●若只退分账不退款,查询接口返回交易状态 tradestatus=trade_success。