digikraaft/velvpay-php

VelvPay API 的 PHP 实现

v1.0 2024-08-31 19:38 UTC

This package is auto-updated.

Last update: 2024-08-31 19:57:01 UTC


README

License: MIT

本软件包提供了一个简洁方便的方式与 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)。请参阅许可证文件以获取更多信息。