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

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

Jun 14, 2023 am 09:38 AM
laravel cashier Bayaran langganan

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
Salin selepas log masuk
  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'),
],
Salin selepas log masuk

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
Salin selepas log masuk
  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,
        ],
    ]);
}
Salin selepas log masuk

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');
Salin selepas log masuk

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
Salin selepas log masuk

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 Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mendapatkan kod pengembalian semasa menghantar e -mel gagal di Laravel? Bagaimana untuk mendapatkan kod pengembalian semasa menghantar e -mel gagal di Laravel? Apr 01, 2025 pm 02:45 PM

Kaedah untuk mendapatkan kod kembali apabila menghantar e -mel Laravel gagal. Apabila menggunakan Laravel untuk membangunkan aplikasi, anda sering menghadapi situasi di mana anda perlu menghantar kod pengesahan. Dan pada hakikatnya ...

Tugas Jadual Laravel tidak dilaksanakan: Apa yang harus saya lakukan jika tugas itu tidak berjalan selepas Jadual: Jalankan Perintah? Tugas Jadual Laravel tidak dilaksanakan: Apa yang harus saya lakukan jika tugas itu tidak berjalan selepas Jadual: Jalankan Perintah? Mar 31, 2025 pm 11:24 PM

Tugas Jadual Laravel menjalankan penyelesaian masalah yang tidak responsif semasa menggunakan penjadualan tugas jadual Laravel, banyak pemaju akan menghadapi masalah ini: Jadual: Jalankan ...

Di Laravel, bagaimana menangani situasi di mana kod pengesahan gagal dihantar melalui e -mel? Di Laravel, bagaimana menangani situasi di mana kod pengesahan gagal dihantar melalui e -mel? Mar 31, 2025 pm 11:48 PM

Kaedah mengendalikan kegagalan e -mel Laravel untuk menghantar kod pengesahan adalah menggunakan Laravel ...

Bagaimana untuk melaksanakan fungsi jadual tersuai untuk mengklik untuk menambah data dalam admin dcat? Bagaimana untuk melaksanakan fungsi jadual tersuai untuk mengklik untuk menambah data dalam admin dcat? Apr 01, 2025 am 07:09 AM

Cara melaksanakan fungsi jadual klik tersuai untuk menambah data dalam dcatadmin (laravel-admin) semasa menggunakan dcat ...

Laravel - Pelayan Buang Laravel - Pelayan Buang Aug 27, 2024 am 10:51 AM

Laravel - Dump Server - Laravel dump server datang dengan versi Laravel 5.7. Versi sebelumnya tidak termasuk pelayan dump. Pelayan dump akan menjadi kebergantungan pembangunan dalam fail komposer laravel/laravel.

Perkongsian Sambungan Laravel Redis: Mengapa kaedah pilih mempengaruhi sambungan lain? Perkongsian Sambungan Laravel Redis: Mengapa kaedah pilih mempengaruhi sambungan lain? Apr 01, 2025 am 07:45 AM

Kesan perkongsian sambungan Redis dalam rangka kerja Laravel dan pilih kaedah apabila menggunakan Rangka Kerja Laravel dan Redis, pemaju mungkin menghadapi masalah: melalui konfigurasi ...

Laravel Multi-Tenant Extension Stancl/Tenancy: Bagaimana Menyesuaikan Alamat Hos Sambungan Pangkalan Data Penyewa? Laravel Multi-Tenant Extension Stancl/Tenancy: Bagaimana Menyesuaikan Alamat Hos Sambungan Pangkalan Data Penyewa? Apr 01, 2025 am 09:09 AM

Sambungan pangkalan data penyewa tersuai dalam pakej lanjutan multi-penyewa Larave Stancl/penyewaan ketika membina aplikasi multi-penyewa menggunakan pakej lanjutan multi-penyewa Larave Stancl/penyewaan, ...

Laravel - URL Tindakan Laravel - URL Tindakan Aug 27, 2024 am 10:51 AM

Laravel - URL Tindakan - Laravel 5.7 memperkenalkan ciri baharu yang dipanggil &quot;URL tindakan boleh panggil&quot;. Ciri ini serupa dengan yang terdapat dalam Laravel 5.6 yang menerima kaedah rentetan dalam tindakan. Tujuan utama sintaks baharu memperkenalkan Laravel 5.7 adalah untuk mengarahkanl

See all articles