getsolaris / laravel-tosspayments
A Laravel package to Toss Payments
Requires
- php: ^8.0
- ext-json: *
- illuminate/support: ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0
Requires (Dev)
- phpunit/phpunit: ^9.5
README
토스페이먼츠 (Toss Payments) 라라벨 API 입니다.
API 버전: 2022-11-16
설치
composer require getsolaris/laravel-tosspayments
.env
에 아래의 환경변수가 추가되어야 합니다.
Toss Payments 개발자센터에서 발급받은 클라이언트 키와 시크릿 키를 환경변수에 추가합니다.
TOSS_PAYMENTS_CLIENT_KEY= TOSS_PAYMENTS_SECRET_KEY=
config
파일을 생성하기 위해서 아래 명령어를 수행합니다.
php artisan vendor:publish --provider="Getsolaris\LaravelTossPayments\TossPaymentsServiceProvider" --tag="config"
사용
Toss Payments 개발자센터의 코어 API 를 참고합니다.
API 를 사용하기 앞서 인증을 위한 API 키 준비와 인증 관련된 문서는 해당 페이지에서 확인 가능합니다.
Basic 인증 방식은 {SECRET_KEY}:
를 Base64 인코딩 한 값을 사용합니다.
결제 (Payment)
거래 (Transaction)
자동 결제 (Billing)
정산 (Settlement)
현금영수증 (CashReceipt)
카드사 혜택 조회 (Promotion)
웹훅 (Webhook) 연동하기
웹훅을 사용하기 전에 토스페이먼츠 개발자센터 웹훅 페이지에서 웹훅을 등록해주세요.
웹훅을 이용하기 전에 config/tosspayments.php
파일에서 webhook
설정을 확인해주세요.
'webhook' => [
'handler' => [
'controller' => \App\Http\Controllers\WebhookController::class,
'method' => '__invoke',
],
],
handler
설정을 변경하여 웹훅을 처리할 컨트롤러와 메소드를 지정할 수 있습니다.
또한 아래의 명령어를 실행하여 기본 라우트 설정값인 url/webhooks/tosspayments
를 변경할 수 있습니다.
php artisan vendor:publish --provider="Getsolaris\LaravelTossPayments\TossPaymentsServiceProvider" --tag="webhook"
테스트 코드 사용하기
에러코드를 확인하여 특정 에러가 발생했을 때와 같이 예상된 시나리오를 직접 발생시켜 처리해 볼 수 있습니다.
use Getsolaris\LaravelTossPayments\TossPayments; use Getsolaris\LaravelTossPayments\Attributes\Transaction; $transactions = TossPayments::for(Transaction::class) ->startDate('2022-01-01T00:00:00') ->endDate('2022-12-31T00:00:00') ->testCode('INVALID_CARD_EXPIRATION') ->get();
Resource
Changelog
Please see CHANGELOG for more information on what has changed recently.
License
The MIT License (MIT). Please see License File for more information.