Rumah  >  Artikel  >  rangka kerja php  >  Cara menggunakan perisian tengah untuk penyepaduan pembayaran Alipay dalam Laravel

Cara menggunakan perisian tengah untuk penyepaduan pembayaran Alipay dalam Laravel

WBOY
WBOYasal
2023-11-03 17:01:01748semak imbas

Cara menggunakan perisian tengah untuk penyepaduan pembayaran Alipay dalam Laravel

Cara menggunakan middleware untuk penyepaduan pembayaran Alipay dalam Laravel

Pengenalan:
Dengan perkembangan pesat e-dagang, semakin banyak kaedah pembayaran dalam talian diterima pakai secara meluas. Sebagai salah satu kaedah pembayaran yang biasa digunakan, pembayaran Alipay mempunyai pangkalan pengguna yang luas dan sistem pembayaran yang stabil di China. Artikel ini akan memperkenalkan cara menggunakan perisian tengah dalam rangka kerja Laravel untuk menyepadukan pembayaran Alipay untuk memberikan kemudahan kepada pembangun.

1. Persediaan

  1. Buat aplikasi di Pusat Pembangun Alipay dan dapatkan kunci rahsia yang berkaitan.
  2. Pastikan projek Laravel anda telah dipasang dan dikonfigurasikan Komposer.

2. Pasang kebergantungan yang berkaitan
Pasang Alipay SDK melalui Komposer.

composer require alipay/alipay-sdk-php

3. Cipta perisian tengah

  1. Jalankan arahan berikut untuk mencipta perisian tengah bernama AlipayMiddleware.

    php artisan make:middleware AlipayMiddleware
  2. Buka fail AlipayMiddleware.php yang dihasilkan dan tulis kod middleware seperti berikut:

    <?php
    
    namespace AppHttpMiddleware;
    
    use Closure;
    use AlipayAopClient;
    use IlluminateHttpRequest;
    
    class AlipayMiddleware
    {
     protected $alipay;
    
     public function __construct()
     {
         // 实例化AopClient类
         $this->alipay = new AopClient();
         $this->alipay->appId = config('alipay.app_id');
         $this->alipay->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
         $this->alipay->rsaPrivateKey = config('alipay.private_key');
         $this->alipay->alipayPublicKey = config('alipay.public_key');
         $this->alipay->format = 'json';
         $this->alipay->charset = 'UTF-8';
         $this->alipay->signType = 'RSA2';
     }
    
     public function handle(Request $request, Closure $next)
     {
         // TODO: 在此处编写校验支付宝支付的逻辑
    
         return $next($request);
     }
    }
  3. Tambahkan kod berikut dalam tatasusunan $routeMiddleware bagi fail app/Http/Kernel.phpreee:

  4. 'ali.pay' => AppHttpMiddlewareAlipayMiddleware::class,
    4. Laluan Pembangunan dan Pengawal

    Tambah kod berikut dalam fail route/web.php:
  1. Route::post('/pay', [AppHttpControllersPayController::class, 'pay'])->middleware('ali.pay');
    Route::post('/callback', [AppHttpControllersPayController::class, 'callback']);

  2. Buat PayController:
  3. php artisan make:controller PayController

  4. Buka fail yang dijana dan tulis PayController.php dan kaedah panggil balik seperti berikut:
  5. <?php
    
    namespace AppHttpControllers;
    
    use AlipayAopClient;
    use IlluminateHttpRequest;
    
    class PayController extends Controller
    {
     public function pay(Request $request, AopClient $alipay)
     {
         // TODO: 在此处编写支付逻辑,调用支付宝支付接口
    
         // 获取返回结果并返回
         return $alipay->pageExecute();
     }
    
     public function callback(Request $request)
     {
         // TODO: 在此处编写支付回调的逻辑
    
         // 返回支付结果
         return 'success';
     }
    }
    

  6. 5. Fail konfigurasi

    Buka fail config/app.php, cari tatasusunan penyedia dan tambah kod berikut:
  1. rreee

  2. app.php. fail, cari tatasusunan alias dan tambah kod berikut:
  3. AlipayAlipayServiceProvider::class,

  4. Buat fail config/alipay.php dalam direktori akar projek dan tambah kod berikut:
  5. 'Alipay' => AlipayFacadeAlipay::class,

  6. 6. Konfigurasikan pembolehubah persekitaran
Tambah yang berikut kod dalam fail .env dalam direktori akar:

<?php

return [
 'app_id' => env('ALIPAY_APP_ID'),
 'private_key' => env('ALIPAY_PRIVATE_KEY'),
 'public_key' => env('ALIPAY_PUBLIC_KEY'),
];

Tukar xxxx Gantikannya dengan kunci rahsia berkaitan Alipay anda.

7. Gunakan middleware untuk penyepaduan pembayaran Alipay

Logik lengkap seperti pengesahan parameter dan pengesahan tandatangan untuk pembayaran Alipay dalam kaedah pemegang AlipayMiddleware.
  1. Dalam kaedah bayar PayController, hubungi antara muka pembayaran Alipay.
  2. Dalam kaedah panggil balik PayController, kendalikan panggilan balik pembayaran.
  3. 8. Ringkasan
Artikel ini memperkenalkan cara menggunakan perisian tengah untuk penyepaduan pembayaran Alipay dalam Laravel. Dengan memasang kebergantungan, mencipta perisian tengah, membangunkan laluan dan pengawal, dan mengkonfigurasinya, kami akhirnya mencapai penyepaduan pembayaran Alipay dalam projek. Pembangun boleh menulis logik perniagaan yang sepadan dalam perisian tengah dan pengawal mengikut keperluan mereka sendiri untuk mencapai fungsi pembayaran Alipay yang lebih diperibadikan.


(Nota: Kod di atas hanyalah contoh, pelaksanaan khusus boleh diselaraskan mengikut keperluan perniagaan)

Atas ialah kandungan terperinci Cara menggunakan perisian tengah untuk penyepaduan pembayaran Alipay dalam Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn