Laravel 개발: Laravel Cashier를 사용하여 구독 결제를 처리하는 방법은 무엇입니까?

王林
풀어 주다: 2023-06-14 09:38:43
원래의
1326명이 탐색했습니다.

인터넷 시대에는 구독 모델이 주요 비즈니스 모델 중 하나가 되었습니다. 많은 기업이 구독 모델을 통해 보다 안정적인 수익원을 달성할 수 있습니다. Laravel Cashier는 구독 결제를 처리하는 편리한 방법을 제공합니다.

Laravel Cashier는 Taylor Otwell이 만든 Laravel 구성 요소로, 개발자가 Stripe 기반 구독 결제를 처리하는 데 도움을 줄 수 있습니다. Stripe은 안전하고 유연하며 강력한 결제 처리 기능을 제공하는 인기 있는 온라인 결제 서비스입니다. 이 글에서는 Laravel 프로젝트에서 구독 결제를 처리하기 위해 Laravel Cashier를 사용하는 방법을 설명합니다.

  1. Laravel Cashier 설치

먼저 Composer를 사용하여 Laravel Cashier를 설치해야 합니다. 설치를 완료하려면 터미널에서 다음 명령을 실행하세요:

composer require laravel/cashier
로그인 후 복사
  1. Configure Stripe API Key

다음으로 Laravel 프로젝트에서 Stripe API 키를 구성해야 합니다. Stripe 웹사이트에서 계정을 생성한 후 "API" 메뉴에서 Stripe API 키를 찾을 수 있습니다. config/services.php 파일을 열고 다음 코드를 추가하세요.

'stripe' => [
    'key' => env('STRIPE_KEY'),
    'secret' => env('STRIPE_SECRET'),
],
로그인 후 복사

이 구성 파일은 Stripe API 키를 .env 파일에 저장합니다. .env 파일에 다음 콘텐츠가 있는지 확인하세요.

STRIPE_KEY=your_stripe_key
STRIPE_SECRET=your_stripe_secret
로그인 후 복사
  1. 구독 계획을 만듭니다.

Stripe 웹사이트에서 구독 계획을 생성한 후, 이러한 계획을 Laravel 애플리케이션에 추가하여 결제 옵션으로 사용할 수 있도록 해야 합니다. app/Providers/AppServiceProvider.php 파일을 열고 다음 코드를 추가하세요.

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,
        ],
    ]);
}
로그인 후 복사

이 코드 블록에는 두 가지 핵심 요소가 포함되어 있습니다. 첫 번째 요소는 앱의 일부로 생성해야 하는 구독 모델을 사용하여 구독을 정의합니다. 두 번째 요소 요소는 구독 계획을 정의하며 사용 가능한 모든 구독 옵션을 생성하고 표시하는 데 사용됩니다.

  1. 구독 및 결제

이제 웹 애플리케이션에서 사용자를 위한 구독을 생성할 수 있습니다. Laravel Cashier는 사용자 구독을 쉽게 관리할 수 있는 몇 가지 편리한 메소드를 제공합니다:

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

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

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

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

// 对用户订阅进行切换
$user->subscription('main')->swap('yearly');
로그인 후 복사

위의 코드 예제에서는 먼저 newSubscription() 메소드를 사용하여 사용자에 대한 새 구독을 생성합니다. 첫 번째 매개변수는 구독을 지정합니다. 이름, 두 번째 매개변수는 계획 이름을 지정합니다. 그런 다음 create() 메소드를 사용하여 결제를 처리하고 Stripe 토큰을 매개변수로 전달합니다. 또한 subscribe() 메서드를 사용하여 사용자 구독 가져오기, 취소, 복원 및 전환과 같은 다른 작업을 수행할 수도 있습니다.

  1. 구독 정보 표시

마지막으로 사용자 프로필 페이지에 사용자의 현재 구독 정보를 표시할 수 있습니다. 다음은 간단한 코드 예입니다.

@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
로그인 후 복사

이 코드 블록에는 사용자가 애플리케이션에 가입했는지 확인하는 간단한 조건문이 포함되어 있습니다. 사용자가 이미 구독 중인 경우 사용자의 요금제 이름과 갱신 날짜를 표시할 수 있습니다.

Summary

이 글에서는 Laravel Cashier를 사용하여 구독 결제를 처리하는 방법을 다뤘습니다. 먼저 Laravel Cashier를 설치하고 Stripe API 키를 구성했습니다. 그런 다음 몇 가지 구독 계획을 만들고 Laravel Cashier에 내장된 구독 계획을 대체했습니다. 다음으로 사용자가 구독을 생성, 취소, 재개할 수 있는 몇 가지 방법을 사용합니다. 마지막으로 사용자 프로필 페이지에 사용자의 현재 구독 정보가 표시됩니다. 이 기사가 도움이 되기를 바랍니다. 질문이나 제안 사항이 있으면 아래 댓글 영역에 남겨주세요.

위 내용은 Laravel 개발: Laravel Cashier를 사용하여 구독 결제를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿