Skip to content

nest-soft/laravel-tosspayments

 
 

Repository files navigation

A Laravel package to Toss Payments

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status

토스페이먼츠 (Toss Payments) 라라벨 API 입니다.

API 버전: 2022-11-16

API 버전 정책

Version API Version
v1.2 2022-11-16
v1.1 2022-07-27

설치

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 인코딩 한 값을 사용합니다.

예제 보기

예제 보기

예제 보기

예제 보기

예제 보기

예제 보기

웹훅을 사용하기 전에 토스페이먼츠 개발자센터 웹훅 페이지에서 웹훅을 등록해주세요.

웹훅을 이용하기 전에 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.

About

🚀 라라벨 토스페이먼츠 라이브러리

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%