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

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

WBOY
Lepaskan: 2023-06-13 14:39:37
asal
1411 orang telah melayarinya

Laravel ialah rangka kerja PHP popular yang sangat memudahkan proses pembangunan aplikasi web. Laravel Cashier ialah perpustakaan pemprosesan pembayaran yang menyediakan fungsi untuk memproses pembayaran langganan. Ia boleh disepadukan dengan Stripe untuk membolehkan pengguna menjalankan aplikasi dengan keupayaan langganan. Artikel ini akan memperkenalkan cara menggunakan Laravel Cashier untuk melaksanakan pembayaran langganan.

  1. Buat akaun Stripe

Sebelum menggunakan Laravel Cashier, anda perlu membuat akaun Stripe. Stripe ialah platform awan untuk memproses pembayaran dalam talian, dan APInya boleh disepadukan dengan mudah dengan Laravel Cashier. Lawati tapak web Stripe, buat akaun dan log masuk ke konsol. Dalam konsol, anda boleh menemui kunci API, iaitu maklumat utama yang diperlukan untuk menyepadukan Stripe dalam Laravel Cashier.

  1. Pasang Laravel Cashier

Gunakan Komposer untuk memasang Laravel Cashier dalam projek Laravel anda. Di terminal, pergi ke direktori akar projek Laravel anda dan laksanakan arahan berikut:

composer require laravel/cashier
Salin selepas log masuk

Selepas melaksanakan arahan di atas, Komposer akan memasang kebergantungan yang diperlukan secara automatik dan menambah Laravel Cashier pada projek itu.

  1. Mengkonfigurasi Laravel Cashier

Selepas memasang Laravel Cashier, anda perlu mengkonfigurasinya untuk menggunakan Stripe API dengan betul. Mula-mula, buka fail config/services.php dalam projek anda dan tambahkan kod berikut pada fail:

'stripe' => [
    'model' => AppModelsUser::class,
    'key' => env('STRIPE_KEY'),
    'secret' => env('STRIPE_SECRET'),
],
Salin selepas log masuk

Kod di atas menyediakan Laravel Cashier dengan maklumat konfigurasi yang diperlukan, termasuk kunci API yang diperlukan untuk menggunakan Stripe dan model pengguna.

Kemudian, konfigurasikan kunci API Stripe dan ID klien Stripe Connect dalam fail .env:

STRIPE_KEY=your-stripe-key
STRIPE_SECRET=your-stripe-secret
STRIPE_CLIENT_ID=your-stripe-client-id
Salin selepas log masuk
  1. Buat pelan langganan

Integrate Stripe After API, pelan langganan perlu dibuat untuk digunakan dalam aplikasi. Dalam konsol Stripe, navigasi ke tab Produk dan klik Produk Baharu untuk mencipta produk. Selepas membuat produk, buka tab Pengebilan dan klik Rancangan Baharu untuk membuat rancangan. Isikan nama pelan, harga dan tempoh seperti yang diperlukan, kemudian klik "Buat Pelan".

  1. Kemas kini model pengguna

Laravel Cashier menggunakan model pengguna untuk mengurus langganan. Jadi sebelum meneruskan, anda perlu memasukkan beberapa kaedah dalam model pengguna anda. Buka model pengguna dan tambahkan kod berikut pada penghujung fail:

use LaravelCashierBillable;

class User extends Model implements AuthenticatableContract, CanResetPasswordContract
{
    use Authenticatable, CanResetPassword, Billable; 
}
Salin selepas log masuk

Kod di atas menggunakan sifat Boleh Dibil Laravel Cashier dalam model pengguna. Ini membolehkan menggunakan kaedah berkaitan Laravel Cashier dalam model pengguna.

  1. Melaksanakan fungsi langganan

Sangat mudah untuk melaksanakan fungsi langganan menggunakan Laravel Cashier. Dalam paparan, cuma tambahkan borang berikut:

<form method="POST" action="{{ route('subscribe') }}">
    {{ csrf_field() }}
    <script
        src="https://checkout.stripe.com/checkout.js" class="stripe-button"
        data-key="{{ config('services.stripe.key') }}"
        data-amount="999"
        data-name="My Awesome Website"
        data-description="Monthly Subscription"
        data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
        data-locale="auto">
    </script>
</form>
Salin selepas log masuk

Kod di atas menambah butang langgan Stripe ke tapak web anda. Apabila pengguna mengklik butang, ia akan melompat ke halaman Stripe untuk melengkapkan proses langganan.

Dalam pengawal, cuma tambah kod berikut untuk mengaitkan maklumat langganan dengan model pengguna:

public function subscribe(Request $request)
{
    $user = $request->user();
    $user->newSubscription('main', 'plan_id')->create($request->stripeToken);
    return redirect()->back();
}
Salin selepas log masuk

Kod di atas akan membuat langganan baharu dan mengaitkannya dengan model pengguna dan menyimpan maklumat pembayaran langganan dalam Stripe. Kemudian, ubah hala pengguna kembali ke halaman dan teruskan menjalankan aplikasi.

  1. Nyahlanggan

Nyahlanggan sangat mudah di Laravel Cashier. Cuma tambah kod berikut dalam pengawal anda untuk membatalkan langganan tertentu:

public function cancel(Request $request)
{
    $user = $request->user();
    $user->subscription('main')->cancel();
    return redirect()->back();
}
Salin selepas log masuk

Kod di atas akan membatalkan langganan tertentu dan mengubah hala pengguna kembali ke halaman.

Kesimpulan

Laravel Cashier ialah perpustakaan pemprosesan pembayaran yang berkuasa yang boleh memudahkan proses pembayaran langganan. Dengan menggunakan API Stripe, Laravel Cashier dapat dengan mudah mengintegrasikan proses langganan ke dalam aplikasi Laravel. Melalui panduan artikel ini, anda boleh menggunakan Laravel Cashier dengan mudah untuk melaksanakan fungsi pembayaran langganan.

Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Cashier untuk melaksanakan pembayaran langganan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan