php中使用支付宝easy sdk 进行支付退款
php支付宝退款
·
sdk的引入
composer require alipaysdk/easysdk
程序中的使用
首先引入需要的文件
use Alipay\EasySDK\Kernel\Config;
use Alipay\EasySDK\Kernel\Factory;
use Alipay\EasySDK\Kernel\Util\ResponseChecker;
public function base()
{
$options = new Config();
$options->protocol = 'https';
$options->gatewayHost = 'openapi.alipay.com';
$options->appId = $this->config['appid'];//应用ID
$options->signType = 'RSA2';
$options->alipayPublicKey = $this->config['public_key']; //支付宝公钥
$options->merchantPrivateKey = $this->config['private_key']; //支付宝私钥
$options->notifyUrl = $this->config['notify_url']; //通知地址
Factory::setOptions($options);
try {
//2. 发起API调用(以支付能力下的统一收单交易创建接口为例)
//这里使用三段 表示 具体看手册 https://opendocs.alipay.com/open/54/103419/
$result = Factory::payment()->common()
->optional("out_request_no", 'aaa_' . $this->msectime()) //out_request_no 是退款的商户自定义编号 不能重复 重复的话会导致后一次的失败
->refund('aaa-aaa', '0.01'); // refund的是退款的方法 还有其他方法可以参见手册 第一个参数为支付时的商户自定义订单号 第二个参数为需要退款的金额
//这里查看 手册 https://github.com/alipay/alipay-easysdk/blob/master/APIDoc.md
$responseChecker = new ResponseChecker();
//3. 处理响应或异常
if ($w = $responseChecker->success($result)) {
//dump($w);
//处理其他内容
// return $result->body;
echo "调用成功" . PHP_EOL;
} else {
echo "调用失败,原因:" . $result->msg . "," . $result->subMsg . PHP_EOL;
}
} catch (Exception $e) {
echo "调用失败," . $e->getMessage() . PHP_EOL;;
}
// $this->ok(200, '成功', ['data' => $res]);
}
根据输出的结果的不同就能知道退款的成功还是失败啦
更多推荐
已为社区贡献2条内容
所有评论(0)