점점 더 많은 회사가 소비자에게 구독 서비스를 제공하기 시작하면서 구독 결제는 현대 인터넷 상거래의 중요한 부분이 되었습니다. 구독 서비스를 구축하고 싶거나 기존 서비스에 구독 결제 기능을 추가하려는 경우 Laravel Cashier와 Paddle의 조합이 적합한 솔루션을 제공할 것입니다.
Laravel Cashier는 Laravel에서 개발한 확장 패키지로, 구독 처리 및 결제 게이트웨이 통합을 위한 간단하고 사용하기 쉬운 인터페이스를 제공합니다. Paddle은 표준을 준수하는 방식으로 결제 및 구독을 처리할 수 있는 글로벌 결제 솔루션입니다.
이 글에서는 Paddle 계정 및 Laravel 프로젝트 환경을 설정하는 방법, 구독 결제를 처리하는 방법, Paddle을 테스트하는 방법을 포함하여 Laravel Cashier와 Paddle을 사용하여 구독 결제를 처리하는 방법을 살펴보겠습니다.
Paddle 계정 설정
Paddle을 결제 게이트웨이로 사용하려면 먼저 Paddle 계정을 만들어야 합니다. Paddle 계정을 만든 후에는 Paddle에서 제품을 만들어야 합니다. 이 제품은 구독 서비스의 주요 제품일 수도 있고 추가 제품 또는 서비스일 수도 있습니다.
다음으로 배송 위치와 세금 규정을 설정해야 합니다. 이러한 규칙은 서비스의 현지화 범위 및 기타 중요한 요소에 따라 달라집니다. 마지막으로 Paddle에서 제품에 대한 가격 플랜이나 구독 플랜을 설정해야 합니다. 이 계획은 구독 서비스에 대한 가격, 지불 주기 및 기타 관련 정보를 정의합니다.
Laravel 환경 설정
Laravel 환경을 설정하기 전에 Laravel 버전과 PHP 버전에 대한 요구 사항을 결정해야 합니다. Laravel Cashier는 Laravel 5.1 이상에서 실행되어야 하며 Paddle은 PHP 7.0 이상에서 실행되어야 합니다.
Laravel 및 PHP 버전 요구 사항을 확인한 후 Laravel Cashier를 Laravel 프로젝트에 도입해야 합니다. 다음 명령을 실행하여 Laravel Cashier를 설치할 수 있습니다:
composer require laravel/cashier
설치가 성공적으로 완료되면 config/app.php에 서비스 공급자와 별칭을 추가해야 합니다. 공급자 배열에 다음 서비스 공급자를 추가하세요:
LaravelCashierCashierServiceProvider::class,
별칭 배열에 다음 별칭을 추가하세요.
'Cashier' => LaravelCashierFacadesCashier::class,
다음으로 Paddle을 구성해야 합니다. 정보. config/services.php에 다음 정보를 추가하세요:
'paddle' => [
'vendor_id' => env('PADDLE_VENDOR_ID'), 'vendor_auth_code' => env('PADDLE_VENDOR_AUTH_CODE'),
],
위 정보를 Paddle 계정 정보로 바꿔야 합니다. 이 정보는 Paddle 계정의 설정 페이지에서 확인할 수 있습니다.
구독 결제 처리
이제 Paddle 계정과 Laravel 환경이 설정되었으므로 Laravel Cashier와 Paddle을 사용하여 구독 결제 처리를 시작할 수 있습니다.
애플리케이션에서 결제 요청을 처리하는 간단한 경로를 만들 수 있습니다. 예:
Route::get('/subscribe', function () {
$plan = request('plan'); $user = auth()->user(); $user->newSubscription('main', $plan)->create(request()->query('email'), [ 'metadata' => [ 'name' => $user->name, 'company' => $user->company, ] ]); return redirect('/');
});
위 코드에서는 Cashier를 사용하여 새 구독을 생성합니다. 먼저 사용자의 이메일 주소를 얻은 다음 새 구독을 만듭니다. 구독을 생성할 때 일부 사용자 정보를 메타데이터 배열에 추가합니다.
defaultPaymentMethod 메소드를 사용하여 사용자의 기본 결제 방법을 지정할 수도 있습니다.
$user->defaultPaymentMethod('pm_1234567890')
결제가 수신되면 Stripe 이벤트를 사용하여 사용자의 결제를 자동으로 업데이트할 수 있습니다. 상태 예:
Route::post('/stripe/webhook', function (Request $request) {
$payload = $request->all(); $event = null; if (isset($payload['type'])) { $event = StripeEvent::constructFrom($payload); } if ($event && $event->type === 'customer.subscription.updated') { $subscription = $event->data->object->id; $customer = $event->data->object->customer; $user = User::where('stripe_id', $customer)->first(); $user->subscriptions()->where('stripe_id', $subscription)->update([ 'stripe_status' => $event->data->object->status, ]); } return response()->json(['success' => true]);
});
위 코드에서는 Stripe 이벤트를 사용하여 사용자의 구독 상태를 업데이트합니다. 구체적인 사용법은 Stripe 설명서를 참조하세요.
Testing
위 단계를 완료하고 구독 결제를 구현한 후 Paddle을 테스트하여 모든 기능이 제대로 작동하는지 확인해야 합니다.
테스트하기 전에 테스트 환경에 맞는 Paddle 계정과 테스트 제품을 구성해야 합니다. 코드가 테스트 환경에서 원활하게 작동하는지 확인하려면 테스트할 때 테스트 금액을 사용하고 구독 루프를 테스트해야 합니다.
테스트를 완료한 후 Paddle 대시보드에서 테스트 데이터를 보고 모든 것이 제대로 작동하는지 확인할 수 있습니다. 문제가 발생하면 Laravel Cashier 또는 Paddle 문서에서 자세한 정보를 찾을 수 있습니다.
결론
Laravel Cashier와 Paddle의 통합은 구독 결제 기능 구현을 위한 간단하고 구성하기 쉬운 솔루션을 제공합니다. 새로운 구독 서비스를 구축하든 기존 서비스에 구독 결제 기능을 추가하든 이 조합은 적합한 솔루션을 제공합니다.
위 내용은 Laravel 개발: Laravel Cashier와 Paddle을 사용하여 구독 결제를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!