Rumah  >  Artikel  >  rangka kerja php  >  Pembangunan Laravel: Bagaimana untuk mengendalikan pembayaran langganan menggunakan Laravel Cashier dan Braintree?

Pembangunan Laravel: Bagaimana untuk mengendalikan pembayaran langganan menggunakan Laravel Cashier dan Braintree?

王林
王林asal
2023-06-14 09:47:44675semak imbas

Pembangunan Laravel: Bagaimana untuk mengendalikan pembayaran langganan menggunakan Laravel Cashier dan Braintree?

Dalam ekonomi langganan hari ini, banyak perniagaan dan syarikat pemula menawarkan pelbagai perkhidmatan langganan, daripada muzik, filem, permainan hingga storan dan aplikasi awan serta banyak lagi. Jika anda seorang pembangun, anda perlu membina sistem yang boleh mengendalikan pembayaran langganan. Dalam artikel ini, kami akan menerangkan cara untuk mencapai ini menggunakan Laravel Cashier dan Braintree.

Laravel Cashier ialah sambungan Laravel yang menyediakan antara muka yang ringkas namun berkuasa untuk mengendalikan langganan dan pembayaran. Braintree ialah platform pemprosesan pembayaran dalam talian global yang memudahkan untuk menerima pelbagai kaedah pembayaran.

Kami akan menggunakan Laravel 8 dan Braintree untuk pelaksanaan konkrit. Anda perlu memasang sambungan Laravel Cashier dan Braintree dalam projek anda. Berikut ialah langkah pelaksanaan khusus:

  1. Tetapkan pembolehubah persekitaran

Mula-mula, anda perlu menetapkan pembolehubah persekitaran dalam projek untuk menyimpan kunci API Braintree dan tetapan lain. Anda boleh menetapkan pembolehubah persekitaran dalam fail .env. Berikut ialah contoh menggunakan kunci ujian Braintree API:

BRAINTREE_ENV=sandbox
BRAINTREE_MERCHANT_ID=your_merchant_id
BRAINTREE_PUBLIC_KEY=your_public_key
BRAINTREE_PRIVATE_KEY=your_private_key
  1. Mencipta portal pembayaran Braintree

Seterusnya, anda perlu membuat portal pembayaran dalam panel kawalan Braintree . Setiap portal mempunyai pengecam unik dan bukti kelayakan yang akan digunakan untuk memproses pembayaran. Selepas mencipta portal dalam panel kawalan, salin dan simpan bukti kelayakan anda.

  1. Mengkonfigurasi Braintree

Kemudian, anda perlu menambah konfigurasi Braintree dalam fail config/services.php. Berikut ialah konfigurasi contoh:

'braintree' => [
    'environment' => env('BRAINTREE_ENV'),
    'merchant_id' => env('BRAINTREE_MERCHANT_ID'),
    'public_key' => env('BRAINTREE_PUBLIC_KEY'),
    'private_key' => env('BRAINTREE_PRIVATE_KEY'),
],
  1. Buat pelan langganan

Kini anda boleh membuat pelan langganan menggunakan Laravel Cashier dan Braintree. Pelan langganan ialah perkhidmatan yang dikenakan bayaran berulang, seperti bulanan atau tahunan. Berikut ialah contoh cara membuat pelan langganan:

use LaravelCashierSubscription;

$subscription = Subscription::create([
    'name' => 'Monthly Subscription Plan',
    'stripe_id' => 'monthly-subscription-plan',
    'stripe_plan' => 'monthly',
    'quantity' => 1,
    'trial_period_days' => 14,
]);

$user->subscriptions()->save($subscription);

Dalam contoh ini, kami membuat pelan langganan yang dipanggil "Pelan Langganan Bulanan" dan stripe_idnya ialah "pelan-langganan-bulanan", stripe_plan ialah "bulanan ". Parameter 'kuantiti' menentukan kuantiti langganan dan parameter 'period_hari_percubaan' menentukan bilangan hari tempoh percubaan. Selepas menyimpan maklumat langganan, pengguna akan dapat melanggan pelan tersebut.

  1. Memproses Pembayaran

Akhir sekali, anda perlu memproses pembayaran langganan anda. Nasib baik, Laravel Cashier sudah mengendalikan butiran pembayaran untuk kami. Dengan Laravel Cashier, anda boleh memproses pembayaran dengan mudah tanpa perlu risau tentang kerumitan gerbang pembayaran. Berikut ialah contoh pengendalian pembayaran:

use LaravelCashierCashier;

$user = User::find(1);

$paymentMethod = $user->defaultPaymentMethod();

$payment = $user->charge(10, $paymentMethod);

if ($user->subscribed('monthly-subscription-plan')) {
    // 更新用户的订阅和付款信息
    $user->subscription('monthly-subscription-plan')->update([
        'stripe_id' => $payment->id,
        'ends_at' => null,
    ]);
}

Dalam contoh ini, kami menggunakan kaedah $user->defaultPaymentMethod() untuk mendapatkan kaedah pembayaran lalai pengguna dan mengecaj mereka $10. Jika pelan langganan ialah "pelan langganan bulanan", kami akan mengemas kini maklumat langganan dan pembayaran pengguna.

Kesimpulan

Memproses pembayaran langganan menjadi lebih mudah dengan Laravel Cashier dan Braintree. Anda boleh membuat dan mengurus pelan langganan serta memproses pembayaran dengan mudah. Sudah tentu, ini hanyalah contoh mudah dan anda boleh menambah lebih banyak fungsi pada projek anda sendiri. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk mengendalikan pembayaran langganan menggunakan Laravel Cashier dan Braintree?. 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