payguard/sdk
Composer 安装命令:
composer require payguard/sdk
包简介
Official PHP SDK for PayGuard Payment Orchestration Platform
README 文档
README
PayGuard PHP SDK
Accept payments via bKash, Nagad, TAP and more through one unified API — without per-transaction commission.
Installation
composer require payguard/sdk
Quick Start
use PayGuard\PayGuard; use PayGuard\Exceptions\PayGuardException; $pg = new PayGuard('your-api-key');
Create & Initiate Payment
bKash Payment
// 1. Create transaction $transaction = $pg->createTransaction([ 'mfs_connection_id' => 1, // Your bKash connection ID 'amount' => 500, // BDT 'reference_id' => 'ORDER-123', // Your order ID (optional, idempotent) 'customer_number' => '01700000000', 'customer_name' => 'John Doe', 'callback_url' => 'https://yoursite.com/ipn', // IPN endpoint ]); // 2. Initiate bKash payment $payment = $pg->initiateBkash($transaction->getId()); // 3. Redirect customer to bKash checkout header('Location: ' . $payment->getCheckoutUrl()); exit;
Nagad Payment
$transaction = $pg->createTransaction([ 'mfs_connection_id' => 2, 'amount' => 300, 'customer_number' => '01700000000', ]); $payment = $pg->initiateNagad($transaction->getId()); header('Location: ' . $payment->getCheckoutUrl());
TAP Wallet (iFrame)
$transaction = $pg->createTransaction([ 'mfs_connection_id' => 3, 'amount' => 200, ]); $tapConfig = $pg->initiateTap($transaction->getId()); // Pass $tapConfig to your view — load TAP script + call tapIFrame()
Check Payment Status
$transaction = $pg->getTransaction('ORDER-123'); // by reference_id if ($transaction->isSuccess()) { // Payment confirmed — fulfill order echo "Payment received: ৳" . $transaction->getAmount(); echo "TXN ID: " . $transaction->getMfsTransactionId(); } if ($transaction->isFailed()) { echo "Payment failed: " . $transaction->getFailureReason(); }
Handle IPN Webhook
// Your IPN endpoint (POST https://yoursite.com/ipn) $pg = new PayGuard('your-api-key'); try { $payload = $pg->parseWebhook( rawBody: file_get_contents('php://input'), webhookSecret: 'your-webhook-secret', // from MFS connection settings signature: $_SERVER['HTTP_X_PAYGUARD_SIGNATURE'] ?? '' ); $referenceId = $payload['reference_id']; $status = $payload['status']; $amount = $payload['amount']; $event = $payload['event']; // payment.success or payment.failed if ($event === 'payment.success') { // Mark order as paid in your system markOrderAsPaid($referenceId, $amount); } http_response_code(200); echo 'OK'; } catch (\PayGuard\Exceptions\PayGuardException $e) { http_response_code(400); echo 'Invalid webhook'; }
Laravel Integration
// config/services.php 'payguard' => [ 'api_key' => env('PAYGUARD_API_KEY'), 'base_url' => env('PAYGUARD_BASE_URL', 'https://app.sourcemonkey.online/api/v1'), ], // AppServiceProvider.php $this->app->singleton(\PayGuard\PayGuard::class, function () { return new \PayGuard\PayGuard( config('services.payguard.api_key'), config('services.payguard.base_url'), ); }); // In controller use PayGuard\PayGuard; class CheckoutController extends Controller { public function __construct(private PayGuard $pg) {} public function pay(Request $request) { $transaction = $this->pg->createTransaction([ 'mfs_connection_id' => 1, 'amount' => $request->amount, 'reference_id' => $request->order_id, 'callback_url' => route('ipn'), ]); $payment = $this->pg->initiateBkash($transaction->getId()); return redirect($payment->getCheckoutUrl()); } public function ipn(Request $request) { $payload = $this->pg->parseWebhook( $request->getContent(), config('services.payguard.webhook_secret'), $request->header('X-PayGuard-Signature') ); if ($payload['event'] === 'payment.success') { Order::where('id', $payload['reference_id'])->update(['status' => 'paid']); } return response('OK'); } }
Error Handling
use PayGuard\Exceptions\PayGuardException; use PayGuard\Exceptions\AuthenticationException; use PayGuard\Exceptions\ValidationException; try { $transaction = $pg->createTransaction([...]); } catch (AuthenticationException $e) { // Invalid API key echo "Auth failed: " . $e->getMessage(); } catch (ValidationException $e) { // Invalid parameters echo "Validation errors: "; print_r($e->errors); } catch (PayGuardException $e) { // Other errors echo "Error [{$e->errorCode}]: " . $e->getMessage(); }
Available Methods
| Method | Description |
|---|---|
createTransaction(array) |
Create payment transaction |
getTransaction(string) |
Get by reference ID |
listTransactions(array) |
List with filters |
getTransactionSummary(array) |
Stats summary |
initiateBkash(int) |
Start bKash payment |
queryBkash(int) |
Check bKash status |
refundBkash(int, float) |
Refund bKash |
initiateNagad(int) |
Start Nagad payment |
queryNagad(int) |
Check Nagad status |
initiateTap(int) |
Get TAP iFrame config |
queryTap(int) |
Check TAP status |
getConnections() |
List MFS connections |
testConnection(int) |
Test a connection |
getSubscription() |
Get subscription |
getPlans() |
Available plans |
verifyWebhook(...) |
Verify IPN signature |
parseWebhook(...) |
Parse + verify IPN |
Get API Key
Login to your merchant dashboard:
https://app.sourcemonkey.online/merchant/api
Support
- Email: support@payguard.com
- Documentation: https://app.sourcemonkey.online/merchant/api
payguard/sdk 适用场景与选型建议
payguard/sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 07 月 15 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「payment」 「tap」 「bangladesh」 「bkash」 「nagad」 「payguard」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 payguard/sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 payguard/sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 payguard/sdk 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Provides a TAP result printer for PHPUnit.
Stand alone port of Laravel's tap method.
A lightweight package to add Google One Tap login to Laravel applications using Socialite
Adaptable and extensible testing framework for PHP
Php SDK for Tap Payment Gateway
A modern, fluent Laravel SDK for the Tap Payments v2 API.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-07-15