支付宝接口调用
程序员文章站
2022-05-27 22:00:49
...
简介
WannanBibPig\Alipay
???? 对接支付宝最新接口,使用灵活方便,你只需要关注传入支付数据,其他都不用管,交给我就行
说明
使用支付宝最新接口完成的扩展,简化对接支付宝接口的流程,方便在不同项目中快速上手使用。使用时只需要根据你所要对接的接口关注传递参数即可。
你在阅读本文之前确认你已经仔细阅读了:支付宝开放平台文档
欢迎 Star,欢迎 PR!
github : https://github.com/wannanbigpig/alipay
运行环境
- PHP 7.0+
- composer
安装
composer require wannanbigpig/alipay -vvv
使用
use WannanBigPig\Alipay\Alipay;
class PayController
{
// 配置(包含支付宝的公共配置,日志配置,http配置等)
protected $config = [
'app_id' => '*********',
// 服务商需要设置子商户的授权token,商户自调用不需要设置此参数
'app_auth_token' => '',
'notify_url' => 'http://wannanbigpig.com/notify.php',
'return_url' => 'http://wannanbigpig.com/return.php',
// 支付宝公钥,可以是绝对路径(/data/***.pem)或着一行秘钥字符串
'ali_public_key' => '******',
'sign_type' => 'RSA2',
// 商户私钥,可以是绝对路径(/data/***.pem)或着一行秘钥字符串
'private_key' => '**********',
'log' => [
// optional
'file' => '/data/wwwroot/alipay.dev/logs/alipay.log',
'level' => 'debug', // 建议生产环境等级调整为 info,开发环境为 debug
'type' => 'daily', // optional, 可选 single.
'max_file' => 30, // optional, 当 type 为 daily 时有效,默认 30 天
],
'http' => [
// optional
'timeout' => 5.0,
'connect_timeout' => 5.0,
// 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html)
],
'env' => 'dev', // optional[normal,dev],设置此参数,将进入沙箱模式,不传默认正式环境
/**
* 业务返回处理
* 设置true, 返回码 10000 则正常返回成功数据,其他的则抛出业务异常
* 捕获 BusinessException 异常 获取 raw 元素查看完整数据并做处理
* 不设置默认 false
*/
'business_exception' => true
];
/**
* 当面付 统一收单交易支付接口
*/
public function pay()
{
try{
$result = Alipay::payment($this->config)->pay([
'out_trade_no' => WannanBigPig\Supports\Str::getRandomInt('lml', 3),
'total_amount' => 100,
'scene' => "bar_code",
'auth_code' => "287951669891795468",
'product_code' => "FACE_TO_FACE_PAYMENT",
'subject' => '商品标题',
]);
// ...
}catch (BusinessException $e){
// business_exception 配置项开启后需要捕获该异常处理请求失败的情况
$res = $e->raw; // 获取支付宝返回数据
// ...
}
}
}