交易退款
优质
小牛编辑
133浏览
2023-12-01
说明
统一收单交易退款接口SDK。
官方文档:https://docs.open.alipay.com/api_1/alipay.trade.refund/
类
请求参数类
请求参数
类名:\Yurun\PaySDK\AlipayApp\Params\Refund\Request
属性
名称 | 类型 | 说明 |
---|---|---|
$method | string | 接口名称 |
$app_auth_token | string | 详见:https://docs.open.alipay.com/common/105193 |
$businessParams | \Yurun\PaySDK\AlipayApp\Params\Refund\BusinessParams | 业务请求参数 参考https://docs.open.alipay.com/api_1/alipay.trade.refund |
$_syncResponseName | string | 支付宝返回的json中xxx_response的名字 |
$_method | string | 接口请求方法 |
$_isSyncVerify | boolean | 是否同步返回验证 |
业务请求参数
类名:\Yurun\PaySDK\AlipayApp\Params\Close\BusinessParams
属性
名称 | 类型 | 说明 |
---|---|---|
$out_trade_no | string | 订单支付时传入的商户订单号,和支付宝交易号不能同时为空。 trade_no,out_trade_no如果同时存在优先取trade_no |
$trade_no | string | 支付宝交易号,和商户订单号不能同时为空 |
$refund_amount | double | 需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数 |
$refund_reason | string | 退款的原因说明 |
$out_request_no | string | 标识一次退款请求,同一笔交易多次退款需要保证唯一,如需部分退款,则此参数必传。 |
$operator_id | string | 商户的操作员编号 |
$store_id | string | 商户的门店编号 |
$terminal_id | string | 商户的终端编号 |
简单使用
// 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