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

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

王林
Lepaskan: 2023-06-13 13:35:06
asal
845 orang telah melayarinya

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

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

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

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

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!

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