palpluss/sdk
Composer 安装命令:
composer require palpluss/sdk
包简介
Official PHP SDK for the PalPluss payments API — STK Push, B2C payouts, and service wallet management
README 文档
README
Official PHP SDK for the PalPluss payment API.
Requirements
- PHP 8.1+
- Composer
Installation
composer require palpluss/sdk
Quick Start
use PalPluss\PalPluss; $client = new PalPluss(apiKey: 'pk_live_...'); $result = $client->stkPush(amount: 500, phone: '254712345678'); echo $result['transactionId'];
The API key can also be set via the PALPLUSS_API_KEY environment variable:
$client = new PalPluss(); // reads PALPLUSS_API_KEY from env
Configuration
$client = new PalPluss( apiKey: 'pk_live_...', timeout: 30.0, // request timeout in seconds (default: 30) autoRetryOnRateLimit: true, // auto-retry on HTTP 429 (default: true) maxRetries: 3, // max retry attempts (default: 3) );
Methods
STK Push
$result = $client->stkPush( amount: 500, phone: '254712345678', accountReference: 'ORDER-001', // optional transactionDesc: 'Order payment', // optional channelId: 'ch_abc', // optional callbackUrl: 'https://...', // optional credentialId: 'cred_abc', // optional ); // $result['transactionId'], $result['status'], ...
B2C Payout
$result = $client->b2cPayout( amount: 1000, phone: '254712345678', currency: 'KES', // optional reference: 'PAYOUT-001', // optional description: 'Salary payment', // optional channelId: 'ch_abc', // optional credentialId: 'cred_abc', // optional callbackUrl: 'https://...', // optional idempotencyKey: 'uuid-...', // optional — auto-generated UUID v4 if not provided );
Service Wallet
// Get balance $balance = $client->getServiceBalance(); // $balance['balance'], $balance['currency'] // Top up $topup = $client->serviceTopup( amount: 500, phone: '254712345678', accountReference: 'REF-001', // optional transactionDesc: 'Top up', // optional idempotencyKey: 'uuid-...', // optional );
Transactions
// Get single transaction $txn = $client->getTransaction('txn_abc123'); // List transactions $list = $client->listTransactions( limit: 20, // optional cursor: 'cursor_', // optional — for pagination status: 'SUCCESS', // optional type: 'STK', // optional — "STK" or "B2C" ); // $list['items'], $list['next_cursor']
Payment Wallet Channels
// Create $channel = $client->createChannel( type: 'PAYBILL', // "PAYBILL", "TILL", or "SHORTCODE" shortcode: '123456', name: 'My Paybill', accountNumber: 'ACC-01', // optional isDefault: true, // optional ); // Update $channel = $client->updateChannel( channelId: 'ch_001', name: 'Updated Name', // all update fields are optional ); // Delete $client->deleteChannel('ch_001');
Webhooks
use PalPluss\Webhooks; // In your webhook handler: $payload = Webhooks::parsePayload(file_get_contents('php://input')); echo $payload['event_type']; // e.g. "transaction.success" echo $payload['transaction']['id']; // transaction ID echo $payload['transaction']['status']; // transaction status
Valid event types: transaction.success, transaction.failed, transaction.cancelled,
transaction.expired, transaction.updated.
parsePayload() throws \InvalidArgumentException if the payload is invalid or missing required fields.
Error Handling
use PalPluss\Http\Errors\PalPlussApiError; use PalPluss\Http\Errors\RateLimitError; try { $result = $client->stkPush(amount: 500, phone: '254712345678'); } catch (RateLimitError $e) { echo "Rate limited. Retry after: {$e->retryAfter}s\n"; } catch (PalPlussApiError $e) { echo "API error [{$e->errorCode}] HTTP {$e->httpStatus}: {$e->getMessage()}\n"; // $e->requestId — request ID from the API response // $e->details — additional error details array }
Development
# Install dependencies composer install # Run tests vendor/bin/phpunit
palpluss/sdk 适用场景与选型建议
palpluss/sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 03 月 24 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「payments」 「sdk」 「kenya」 「mpesa」 「B2C」 「mobile-money」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 palpluss/sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 palpluss/sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 palpluss/sdk 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Dealing with payments through the Egyptian payment gateway PayMob
Librería para la gestión sencilla de pagos mediante TPV Redsys y Paypal
Scanpay module for Magento 2
Official Safaricom Daraja M-Pesa integration for Laravel built on ysg/payment-core.
Официальный PHP SDK для платёжного шлюза Oblodai: приём платежей, выплаты, статические кошельки, вебхуки.
SDK oficial da FlowinPay — gateway de pagamentos PIX com split automático, saques e webhooks.
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 44
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-24