jinseokoh/bootpay
Composer 安装命令:
composer require jinseokoh/bootpay
包简介
Unofficial BootPay package for Laravel
README 文档
README
Laravel 프로젝트에서 사용할 수 있는 BootPay 용 PHP Laravel 패키지이다.
BootPay 에서 공식적으로 제공하는 PHP 용 GitHub 리포가 있긴 하지만, 아쉽게도 PHP 디펜던시 관리자인 Composer를 통하여 코드를 쉽게 추가할 수 없기에 BootPay 를 사용하려는 모던 PHP 개발자들을 위하여, 패키지화 하였다.
부트페이 결제는 JS Client SDK 로 수행하였고, 검증 및 취소만 이 패키지를 통해서 사용하였다. 이 패키지에서 제공하는 코드는 BootPay 공식코드와 다를 바가 없기때문에 모든 호출이 정상수행 되지 않을가 생각하지만, 검증 및 취소를 제외한 정기구독 등의 부가기능들은 사용한 바가 없으므로 혹시 문제가 발견된다면 이슈로 남겨주면 감사하겠다.
인스톨
이 패키지를 인스톨하기 위해서는 터미널에서 아래의 명령을 실행한다.
composer require jinseokoh/bootpay
사용법
Laravel 5.5 부터 제공하는 Package Auto-Discovery 기능으로, 이 패키지를 인스톨함과 동시에 ServiceProvider 와 Facade 등록이 자동으로 된다. 새로운 Laravel 8/9 버젼의 지원은 1.2.0 버젼부터 가능하다.
설정
Laravel 프로젝트 .env 파일에 BootPay 에 연관된 아래의 3개 Key/Value 값을 추가해야만 한다. BootPay 관리자 페이지에 가면, REST API 용 Application Id 와 Private Key 를 부여받을 수 있다.
BOOTPAY_URI=https://api.bootpay.co.kr
BOOTPAY_REST_APP_ID=000000000000000000000000
BOOTPAY_PRIVATE_KEY=0000000000000000000000000000000000000000000=
예제
BootPay 메뉴얼을 보면, API 호출에 필요한 AccessToken 은 30분간만 유효하다는 내용이 있다. 이 패키지의 핸들러 내부에는 AccessToken 을 25분 동안만 캐쉬 레이어에 저장시켜 사용하다가 해당시간이 초과되면 새로운 AccessToken 을 재요청하여 사용하는 로직이 들어 있다. 따라서, 이 패키지 사용자는 AccessToken 관리에 필요한 로직을 추가할 필요가 없고, 단지 verify() 또는 cancel() 등의 원하는 API 호출만 수행하면 된다.
일반적인 WebApp 플로우는 BootPay JS 코드로 결제수행 후 OrderId 와 ReceiptId 를 인자값으로 Laravel API 을 호출하여, 실제요금과 같은지 확인하는 과정을 거치게 된다. 이때 사용하는 API 가 verify() 이며 Controller 에서, JinseokOh\BootPay\BootPayHanlder 클래스를 DI 를 이용해 주입하거나, BootPay facade 를 이용하여 생성 후, 아래의 샘플처럼 사용한다.
verify() 호출 샘플코드
public function verify( OrderVerifyRequest $request, BootPayHandler $bootPayHandler, OrderHandler $orderHandler ): JsonResponse { $orderId = $request->getOrderId(); $receiptId = $request->getReceiptId(); $order = $orderHandler->findById($orderId); try { $response = $bootPayHandler->verify($receiptId); } catch (\Throwable $e) { \Log::critical("[LOG] {$e->getMessage()}"); throw $e; } : // 추가로직 : }
특정 결제에 대하여 취소를 하는 경우, 아래의 cancel() API 룰 호출한다.
cancel() 호출 샘플코드
public function cancel( OrderCancelRequest $request, BootPayHandler $bootPayHandler, OrderHandler $orderHandler ): JsonResponse { $orderId = $request->getOrderId(); $receiptId = $request->getReceiptId(); $order = $orderHandler->findById($orderId); try { $response = $bootPayHandler->cancel($receiptId); } catch (\Throwable $e) { \Log::critical("[LOG] {$e->getMessage()}"); throw $e; } : // 추가로직 : }
License
The MIT Licence (MIT).
jinseokoh/bootpay 适用场景与选型建议
jinseokoh/bootpay 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.14k 次下载、GitHub Stars 达 4, 最近一次更新时间为 2019 年 07 月 23 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「laravel」 「BootPay」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 jinseokoh/bootpay 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 jinseokoh/bootpay 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 jinseokoh/bootpay 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
bootpay server side php plugin for v2 api
Alfabank REST API integration
bootpay server side php plugin for v2 api
Laravel package for Accurate Online API integration.
Shared RCX Laravel DataTables UI and configuration helpers.
Boot a Laravel project on any machine with one command: app:serve installs missing tools (PHP, Node, Composer, Herd, Docker), creates .env, sets up the database, runs migrations, builds assets, starts a queue worker and serves via Herd, Sail or artisan serve; app:down cleanly stops everything it sta
统计信息
- 总下载量: 1.14k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-07-23