digikraaft / velvpay-php
VelvPay API 的 PHP 实现
v1.0
2024-08-31 19:38 UTC
Requires
- php: ^8.0|^8.1|^8.2
- ext-json: *
- ext-openssl: *
- guzzlehttp/guzzle: ^7.2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.19
- mockery/mockery: ^1.4
- php-coveralls/php-coveralls: ^2.2
- phpunit/phpunit: ^9.0
- scrutinizer/ocular: ^1.7
- vimeo/psalm: ^5.25.0
README
本软件包提供了一个简洁方便的方式与 Velvpay API 交互。
安装
您可以通过 composer 安装此软件包
composer require digikraaft/velvpay-php
使用方法
目前,此软件包支持 Velvpay 开发者参考中记录的所有 API。
身份验证
在可以使用任何端点和可用方法之前,您必须首先通过 Velvpay 进行身份验证。为此,设置您的密钥、公开密钥和加密密钥
<?php use Digikraaft\VelvPay\VelvPay; VelvPay::setKeys('SK_123456', 'PK_23456', 'digikraaft234');
关于请求引用和幂等性的说明
VelvPay 需要每个发送到其端点的请求都有一个唯一的引用。此软件包会为每个请求自动生成此唯一引用。如果您需要访问生成的引用,请在每次调用后这样做
<?php use Digikraaft\VelvPay\VelvPay; use Digikraaft\VelvPay\Bank; VelvPay::setKeys('SK_123456', 'PK_23456', 'digikraaft234'); $bankDetails = Bank::accountDetails('0123456789', '003'); $requestReference = VelvPay::getRequestReference();
如果您想生成自己的唯一引用,只需在调用端点之前像这样调用 setRequestReference
方法
<?php use Digikraaft\VelvPay\VelvPay; use Digikraaft\VelvPay\Bank; VelvPay::setKeys('SK_123456', 'PK_23456', 'digikraaft234'); $requestReference = VelvPay::setRequestReference("REQF_12345add"); $bankDetails = Bank::accountDetails('0123456789', '003');
某些端点还要求一个幂等性密钥。此软件包会为您自动生成此密钥。您可以通过像这样立即在发出请求后调用 getIdempotencyKey
函数来获取为请求生成的密钥
<?php use Digikraaft\VelvPay\VelvPay; use Digikraaft\VelvPay\Payment; // set keys $parameters = [ 'transaction_id' = 'FR-IM5N2MKNJ40H' ]; $paymentDetails = Payment::details($parameters); $idempotencyKey = Payment::getIdempotencyKey();
API 响应
此软件包返回 Velvpay API 的确切响应,但作为 stdClass
类型,以便可以通过这种方式访问响应
<?php use Digikraaft\VelvPay\VelvPay; use Digikraaft\VelvPay\Bank; VelvPay::setKeys('SK_123456', 'PK_23456', 'digikraaft234'); $bankDetails = Bank::accountDetails('0123456789', '003'); if ($bankDetails->status == 'success') { echo $bankDetails->data->accountName; }
请查阅 VelvPay 的 API 文档 了解返回哪些响应值。以下每个可用方法都已链接到它们网站上的确切文档页面。
可用方法
以下列出了可用方法的文档
银行
accountDetails(string $bankAccountNumber, string $bankCode) : Array|Object
list() : Array|Object
账单
categoryList(string $bankAccountNumber, string $bankCode) : Array|Object
details(string $category = null) : Array|Object
list(string $billerId, string $divisionId, string $productId) : Array|Object
pay(string $billerId, string $amount, string $productId, string $paymentItem, string $category, string $billId, string $division) : Array|Object
status(string $reference) : Array|Object
现金工艺
confirmFee() : Array|Object
details(string $transactionId) : Array|Object
initiate(string $amount, string $email, array $beneficiaries, string $description, int $validityTime = 20, bool $isNaira = false) : Array|Object
manualResolve(string $transactionId) : Array|Object
支付
createVirtualAccount(int|float $amount, string $customerEmail, int $validityTime = 20, bool $isNaira = false) : Array|Object
details(array $parameters) : Array|Object
requestFund(int|float $amount, string $type, string $senderEmail, string $receiverEmail, string $paymentName, string $description, array $metadata = null, string $idempotencykey = null, bool $isNaira = false) : Array|Object
requestFundStatus(string $reference) : Array|Object
支付
balance() : Array|Object
resolveStatus(string $transactionId) : Array|Object
transfer(int|float $amount, string $bankCode, string $bankName, string $accountNumber, string $accountName, string $description, int $transactionPin, string $idempotencykey = null, bool $isNaira = false) : Array|Object
VelvPay
authorizationToken() : string
getEncryptionKey() : string
getPublicKey() : string
getRequestReference() : string
getSecretKey() : string
setEncryptionKey(string $encryptionKey) : void
setKeys(string $secretKey, string $publicKey, string $encryptionKey) : void
设置公钥(string $publicKey) : void
设置请求引用(string $requestReference) : void
设置密钥(string $secretKey) : void
钱包
accountDetails(string $accountId) : Array|Object
create(string $email, string $bvn, string $username, string $gender, string $dateOfBirth, bool $referralCode = false) : Array|Object
customers(array $parameters = null) : Array|Object
transactions(array $parameters = null) : Array|Object
测试
composer test
更多好东西
在此处查看更多免费好东西!
变更日志
请参阅变更日志,了解最近的变化信息。
贡献
请参阅贡献指南以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件hello@digikraaft.ng联系,而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。