以下是一个基于 Laravel 框架的支付宝支付开发案例。
- 配置支付宝开发环境
在 .env 文件中添加以下配置:
ALI_APP_ID=your_app_id
ALI_PUBLIC_KEY=your_public_key
ALI_PRIVATE_KEY=your_private_key
ALI_NOTIFY_URL=your_notify_url
- 安装支付宝开发包
在项目根目录下运行以下命令安装支付宝开发包:
composer require alipay/easysdk
- 创建支付宝支付控制器
在 app/Http/Controllers
目录下创建 AliPayController.php
文件,并添加以下代码:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Yansongda\Pay\Pay;
class AliPayController extends Controller
{
public function pay(Request $request)
{
$order = [
'out_trade_no' => time(),
'total_amount' => '0.01',
'subject' => '测试订单',
];
$aliPay = Pay::alipay(config('pay.ali'));
return $aliPay->web($order);
}
public function notify(Request $request)
{
$aliPay = Pay::alipay(config('pay.ali'));
$data = $aliPay->verify(); // 验证支付结果
// 处理业务逻辑
// ...
return $aliPay->success(); // 返回成功给支付宝
}
}
其中 pay()
方法用于创建支付订单,notify()
方法用于处理支付结果回调。
- 添加支付宝配置
在 config/pay.php
文件中添加以下代码:
return [
'ali' => [
'app_id' => env('ALI_APP_ID'),
'public_key' => env('ALI_PUBLIC_KEY'),
'private_key' => env('ALI_PRIVATE_KEY'),
'notify_url' => env('ALI_NOTIFY_URL'),
],
];
- 创建支付路由
在 routes/web.php
文件中添加以下代码:
Route::get('/alipay/pay', 'AliPayController@pay');
Route::post('/alipay/notify', 'AliPayController@notify');
- 测试支付宝支付
访问 http://your-domain.com/alipay/pay
可以创建支付宝支付订单。
支付完成后,支付宝会将支付结果 post 到设置的 notify_url,可以在 notify() 方法中处理支付结果。
以上是一个简单的基于 Laravel 框架的支付宝支付开发案例,希望对你有所帮助。