交易退款

优质
小牛编辑
133浏览
2023-12-01

说明

统一收单交易退款接口SDK。

官方文档:https://docs.open.alipay.com/api_1/alipay.trade.refund/

请求参数类

请求参数

类名:\Yurun\PaySDK\AlipayApp\Params\Refund\Request

属性
名称类型说明
$methodstring接口名称
$app_auth_tokenstring详见:https://docs.open.alipay.com/common/105193
$businessParams\Yurun\PaySDK\AlipayApp\Params\Refund\BusinessParams业务请求参数
参考https://docs.open.alipay.com/api_1/alipay.trade.refund
$_syncResponseNamestring支付宝返回的json中xxx_response的名字
$_methodstring接口请求方法
$_isSyncVerifyboolean是否同步返回验证

业务请求参数

类名:\Yurun\PaySDK\AlipayApp\Params\Close\BusinessParams

属性
名称类型说明
$out_trade_nostring订单支付时传入的商户订单号,和支付宝交易号不能同时为空。
trade_no,out_trade_no如果同时存在优先取trade_no
$trade_nostring支付宝交易号,和商户订单号不能同时为空
$refund_amountdouble需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数
$refund_reasonstring退款的原因说明
$out_request_nostring标识一次退款请求,同一笔交易多次退款需要保证唯一,如需部分退款,则此参数必传。
$operator_idstring商户的操作员编号
$store_idstring商户的门店编号
$terminal_idstring商户的终端编号

简单使用

// SDK实例化,传入公共配置
$pay = new \Yurun\PaySDK\AlipayApp\SDK($params);

// 支付接口
$request = new \Yurun\PaySDK\AlipayApp\Params\Refund\Request;
$request->notify_url = $GLOBALS['PAY_CONFIG']['notify_url']; // 支付后通知地址(作为支付成功回调,这个可靠)
$request->return_url = $GLOBALS['PAY_CONFIG']['return_url']; // 支付后跳转返回地址
$request->businessParams->out_trade_no = 'test62025749'; // 订单支付时传入的商户订单号,和支付宝交易号不能同时为空。
$request->businessParams->trade_no = ''; // 支付宝交易号,和商户订单号不能同时为空
$request->businessParams->refund_amount = '0.01'; // 需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数
$request->businessParams->refund_reason = '退款原因,可以不写';

// 调用接口
$result = $pay->execute($request);

var_dump('result:', $result);

var_dump('success:', $pay->checkResult());

var_dump('error:', $pay->getError(), 'error_code:', $pay->getErrorCode());

详见:test/AlipayApp/refund.php