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

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

王林
王林asal
2023-06-14 09:38:431318semak imbas

Dalam era Internet, model langganan telah menjadi salah satu model perniagaan utama. Banyak syarikat boleh mencapai aliran hasil yang lebih stabil melalui model langganan. Laravel Cashier menyediakan cara mudah untuk mengendalikan pembayaran langganan.

Laravel Cashier ialah komponen Laravel yang dicipta oleh Taylor Otwell, yang boleh membantu pembangun memproses pembayaran langganan berasaskan Stripe. Stripe ialah perkhidmatan pembayaran dalam talian popular yang menyediakan keupayaan pemprosesan pembayaran yang selamat, fleksibel dan berkuasa. Dalam artikel ini, kami akan menerangkan cara menggunakan Laravel Cashier untuk mengendalikan pembayaran langganan dalam projek Laravel.

  1. Pasang Laravel Cashier

Mula-mula, kita perlu memasang Laravel Cashier menggunakan komposer. Jalankan arahan berikut dalam terminal untuk melengkapkan pemasangan:

composer require laravel/cashier
  1. Konfigurasikan Kunci API Jalur

Seterusnya, kita perlu mengkonfigurasi kunci API Stripe dalam projek Laravel. Selepas membuat akaun di tapak web Stripe, anda boleh mencari kunci API Stripe di bawah menu "API". Buka fail config/services.php dan tambahkan kod berikut:

'stripe' => [
    'key' => env('STRIPE_KEY'),
    'secret' => env('STRIPE_SECRET'),
],

Fail konfigurasi ini menyimpan kunci API Stripe dalam fail .env Pastikan fail .env mengandungi kandungan berikut:

STRIPE_KEY=your_stripe_key
STRIPE_SECRET=your_stripe_secret
  1. Buat Pelan Langganan

Selepas membuat pelan langganan di tapak web Stripe, kami perlu menambahkan pelan ini pada aplikasi Laravel supaya ia boleh digunakan sebagai pilihan pembayaran. Buka fail app/Providers/AppServiceProvider.php dan tambah kod berikut:

use LaravelCashierCashier;

public function boot()
{
    Cashier::useSubscriptionModel(YourSubscriptionModel::class);
    Cashier::useCurrency('usd', '$');
    Cashier::usePlans([
        'monthly' => [
            'name' => 'Monthly Subscription',
            'description' => 'Monthly subscription',
            'price' => 10,
        ],
        'yearly' => [
            'name' => 'Yearly Subscription',
            'description' => 'Yearly subscription',
            'price' => 50,
        ],
    ]);
}

Blok kod ini mengandungi dua elemen utama: Elemen pertama mentakrifkan langganan anda menggunakan model langganan, yang perlu anda buat sebagai apl anda bahagian; elemen kedua mentakrifkan pelan langganan anda dan digunakan untuk membuat dan memaparkan semua pilihan langganan yang tersedia.

  1. Langganan dan Pembayaran

Kini kami boleh membuat langganan untuk pengguna dalam aplikasi web. Laravel Cashier menyediakan beberapa kaedah mudah yang membolehkan kami mengurus langganan pengguna dengan mudah:

// 为用户创建订阅
$user->newSubscription('main', 'monthly')->create($token);

// 获取用户当前订阅
$user->subscription('main');

// 取消用户订阅
$user->subscription('main')->cancel();

// 恢复用户订阅
$user->subscription('main')->resume();

// 对用户订阅进行切换
$user->subscription('main')->swap('yearly');

Dalam contoh kod di atas, kami mula-mula membuat langganan baharu untuk pengguna menggunakan kaedah newSubscription() yang Parameter pertama bagi kaedah menentukan nama langganan, dan parameter kedua menentukan nama pelan. Kami kemudian menggunakan kaedah create() untuk mengendalikan pembayaran, menghantar token Stripe sebagai parameter. Kami juga boleh menggunakan kaedah langganan() untuk melaksanakan operasi lain seperti mendapatkan, membatalkan, memulihkan dan menukar langganan pengguna.

  1. Tunjukkan maklumat langganan

Akhir sekali, kami boleh memaparkan maklumat langganan semasa pengguna pada halaman profil mereka. Berikut ialah contoh kod ringkas:

@if ($user->subscribed('main'))
    <p><b>Plan:</b> {{ $user->subscription('main')->stripe_plan }}</p>
    <p><b>Renewal Date:</b> {{ $user->subscription('main')->ends_at->toFormattedDateString() }}</p>
@endif

Blok kod ini mengandungi pernyataan bersyarat mudah yang menyemak sama ada pengguna melanggan aplikasi. Jika pengguna sudah melanggan, kami boleh memaparkan nama pelan pengguna dan tarikh pembaharuan.

Ringkasan

Dalam artikel ini, kami membincangkan cara menggunakan Laravel Cashier untuk mengendalikan pembayaran langganan. Mula-mula, kami memasang Laravel Cashier dan mengkonfigurasi kunci API Stripe. Kami kemudian membuat beberapa pelan langganan dan menggantikan pelan yang terbina dalam Laravel Cashier dengan mereka. Seterusnya, kami menggunakan beberapa kaedah untuk pengguna membuat, membatalkan dan menyambung semula langganan. Akhir sekali, kami memaparkan maklumat langganan semasa pengguna pada halaman profil mereka. Saya harap artikel ini membantu anda Jika anda mempunyai sebarang soalan atau cadangan, sila tinggalkan di ruangan komen di bawah.

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