eversend/eversend-php-sdk
Composer 安装命令:
composer require eversend/eversend-php-sdk
包简介
Eversend SDK for merchants
README 文档
README
PHP SDK for Eversend payments API
Table of Contents
Installation
composer require eversend/eversend-php-sdk
Usage
use Eversend\Eversend $eversendClient = new Eversend( clientId= 'clientId', clientSecret= 'clientSecret', version=1 );
You can get your clientId and clientSecret from the settings section in the dashboard
Usage
Wallets
Get all wallets
$wallets = eversendClient.wallets().list();
Get one wallet
$usdWallet = eversendClient.wallets().get(walletId: "USD");
Transactions
Get all transactions
$transactions = eversendClient.transactions().list(page: 1, limit: 10);
If page and limit are not set, the default of 1 and 10 are used respectively.
Get one transaction
$transaction = eversendClient.transactions().get( transactionId: "EVS12345678" );
Exchange
To exchange from one wallet to another, you first have to generate a quotation. This returns a token with a 30s timeout that you can use to make the exchange.
Get exchange quotation
$quotation = eversendClient.exchange().createQuotation( from: "USD", to: "UGX", amount: 10.0 );
Exchange currency
$exchange = eversendClient.exchange().createExchange( token: "dhhsggajjshhdhdhd", transactionRef: "EVS-12345678", // optional field );
Beneficiaries
Get beneficiaries
$beneficiaries = eversendClient.beneficiaries.list( page: 1, limit: 10, );
If page and limit are not set, the default of 1 and 10 are used respectively.
Search beneficiaries
$beneficiaries = eversendClient.beneficiaries().list( search: "Okello", page: 1, limit: 10, );
Get single beneficiary
$beneficiary = eversendClient.beneficiaries().get( beneficiaryId: 100 );
Create a beneficiary
$beneficiary = eversendClient.beneficiaries.create( firstName: "John", lastName: "Okello", country: "UG", // Alpha-2 country code phoneNumber: "+256712345678", // Should be in international format bankAccountName: "John Okello", bankAccountNumber: "12345678", bankName: "Stanbic Bank", bankCode: 1234 // You can get the bank code from payouts.getDeliveryBanks() );
Note that all bank fields are optional if bank payments will not be required
Edit a beneficiary
$beneficiary = eversendClient.beneficiaries.update( beneficiaryId: 100, firstName: "John", lastName: "Okello", country: "UG", // Alpha-2 country code phoneNumber: "+256712345678", // Should be in international format bankAccountName: "John Okello", bankAccountNumber: "12345678", bankName: "Stanbic Bank", bankCode: 1234 // You can get the bank code from payouts.getDeliveryBanks() );
Note that all bank fields are optional if bank payments will not be required
Delete a beneficiary
$beneficiary = eversendClient.beneficiaries.delete( beneficiaryId: 100 );
Collections
Get collection fees
$collectionFees = eversendClient.collections().getFees( amount: 1000, currency: "KES", method: "momo" );
Get collection OTP
Required when initiating mobile money collections
$collectionOTP = eversendClient.collections().getOTP( phone: "+256712345678" );
Initiate Mobile Money collection
eversendClient.collections().initiateMomo( phone: "+256712345678", amount: 1000, country: "UG", currency: "UGX", pin: 123456, // From phone number passed in Get Collection OTP pinId: "dg524fhsgfde", // From Get Collection OTP transactionRef: "EVS-12345678", // Optional transaction ref generated by you customer: { name: "John Okello" } // Optional customer object with your metadata );
Payouts
Get payout quotation
$quotation = eversendClient.payouts.getQuotation( amount: 100, amountType: "SOURCE", // amountType can be SOURCE or DESTINATION sourceWallet: "USD", destinationCountry: "KE", destinationCurrency: "KES" );
amountTyperefers to whether you want amount to representsourceWallet(SOURCE) ordestinationCurrency(DESTINATION)
Pay existing beneficiary
$payout = eversendClient.payouts.initiate( beneficiaryId: 100, quotationToken: "token", transactionRef: "EVS-12345678" // Optional transaction ref generated by you );
Pay new beneficiary
$payout = eversendClient.payouts.initiate({ firstName: "John", lastName: "Okello", country: "UG", // Alpha-2 country code phoneNumber: "+256712345678", // Should be in international format bankAccountName: "John Okello", bankAccountNumber: "12345678", bankName: "Stanbic Bank", bankCode: 1234, // You can get the bank code from payouts.getDeliveryBanks() quotationToken: "token", transactionRef: "EVS-12345678" // Optional transaction ref generated by you });
Get delivery countries
$countries = eversendClient.payouts.countries()
Get delivery banks
$banks = eversendClient.payouts.banks( country: "UG" );
Contribution Guidelines
Contributions are welcome and encouraged. Learn more about our contribution guidelines here
License
MIT © Eversend
eversend/eversend-php-sdk 适用场景与选型建议
eversend/eversend-php-sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 9 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 11 月 03 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「api」 「payments」 「sdk」 「eversend」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 eversend/eversend-php-sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 eversend/eversend-php-sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 eversend/eversend-php-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
A PSR-7 compatible library for making CRUD API endpoints
Scanpay module for Magento 2
Official Safaricom Daraja M-Pesa integration for Laravel built on ysg/payment-core.
Официальный PHP SDK для платёжного шлюза Oblodai: приём платежей, выплаты, статические кошельки, вебхуки.
统计信息
- 总下载量: 9
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-11-03