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

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

王林
王林asal
2023-06-13 13:35:06787semak imbas

Laravel ialah rangka kerja PHP yang sangat popular yang digunakan secara meluas dalam bidang pembangunan web. Laravel Cashier ialah pakej sambungan yang menyediakan fungsi pembayaran langganan, membolehkan pembangun mengendalikan logik berkaitan langganan dan pembayaran dengan mudah, yang boleh meningkatkan kecekapan pembangunan dengan banyak.

Artikel ini akan memperkenalkan cara menggunakan Laravel Cashier untuk melaksanakan fungsi pembayaran langganan.

  1. Pasang Laravel Cashier

Mula-mula, anda perlu memasang Laravel Cashier. Untuk memasang melalui Komposer, anda hanya perlu memasukkan arahan berikut dalam terminal:

composer require laravel/cashier

Selepas pemasangan selesai, anda perlu menerbitkan fail konfigurasi Cashier dan fail migrasi pangkalan data:

php artisan vendor:publish --provider="LaravelCashierCashierServiceProvider" --tag="cashier-migrations"
php artisan migrate
  1. Konfigurasikan Stripe

Laravel Cashier menggunakan Stripe sebagai platform pembayaran secara lalai, jadi anda perlu mendaftar akaun di Stripe dan mendapatkan kunci API (Kunci Rahsia) dan kunci awam (Kunci boleh diterbitkan) .

Tetapkan maklumat akaun Stripe yang berkaitan dalam fail .env:

STRIPE_KEY=your-stripe-publishable-key
STRIPE_SECRET=your-stripe-secret-key
  1. Buat pelan langganan

Dalam panel kawalan Stripe, anda boleh membuat Pelan langganan berbilang. Contohnya, anda boleh membuat langganan bulanan, suku tahunan atau tahunan, dsb.

Dalam Laravel, anda boleh menggunakan kod berikut untuk membuat pelan langganan:

use IlluminateDatabaseEloquentModel;
use LaravelCashierSubscriptionBuilder;

class Plan extends Model
{
    public function createStripePlan()
    {
        $builder = new SubscriptionBuilder();
        $builder->nickname('Monthly')->interval(SubscriptionBuilder::INTERVAL_MONTH);
        $builder->name('Monthly Plan')->amount(1000);
        $builder->create();
    }
}

Kod di atas mencipta pelan langganan bulanan dengan harga $10.

  1. Buat Langganan

Dalam Laravel, anda boleh menggunakan kod berikut untuk membuat langganan:

$user = User::find(1);

$user->newSubscription('monthly', 'monthly-plan')->create($paymentMethod);

Kod di atas mencipta langganan bernama "bulanan " , dikaitkan dengan pelan langganan yang dibuat sebelum ini.

Parameter $paymentMethod perlu dihantar di sini, menunjukkan kaedah pembayaran pengguna. Laravel Cashier menyokong pelbagai kaedah pembayaran, termasuk kad kredit, kad bank dan Alipay.

  1. Batalkan langganan

Batalkan langganan juga sangat mudah, cuma hubungi kaedah cancel():

$user->subscription('monthly')->cancel();
  1. Gagal memproses pembayaran

Jika pembayaran pengguna gagal, Laravel Cashier akan menghantar e-mel secara automatik untuk mengingatkan pengguna dan meminta pengguna mengemas kini maklumat pembayaran mereka. Pembangun boleh menyediakan templat e-mel dalam sistem dan menyesuaikan kandungan e-mel dengan mudah.

namespace AppProviders;

use IlluminateSupportServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        IlluminateNotificationsNotification::observe(function ($notification) {
            $notification->setChannels(['mail']);
        });
    }
}

Kod di atas memberitahu Laravel Cashier supaya hanya menggunakan pemberitahuan e-mel.

  1. Kesimpulan

Laravel Cashier menyediakan pembangun Laravel dengan fungsi pembayaran langganan yang cekap dan stabil, mengelakkan pertindihan kerja dalam membangunkan fungsi pembayaran sendiri Untuk pusat membeli-belah dalam talian, Sangat berguna untuk senario perniagaan seperti perkhidmatan langganan.

Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk melaksanakan 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