viciremittance/vici-php-sdk

一个使用 Guzzle 库的简单易用的 Vici PHP API。

v1.1.0 2021-11-03 03:18 UTC

This package is auto-updated.

Last update: 2024-09-29 05:57:01 UTC


README

Latest Stable Version Total Downloads License composer.lock

PHP 库,用于通过 GuzzleHttp 调用 Vici Remittance API。

依赖

开发

快速入门指南

  1. 使用 Composer 安装包:composer require viciremittance/vici-php-sdk
  2. 在您的应用程序类中使用所需的服务 - 例如,您正在使用支付服务(假设您正在使用 PSR-4)
use ViciApi\Services\Disbursement;
  1. 创建类的新的实例(Disbursement
$disbursement = new Disbursement();
  1. 设置 API 基础 URL
$disbursement->setBaseUrl($apiBaseUrl);
  1. 设置 API 凭证
$disbursement->setCredentials($clientId, $clientSecret, $signingKey);
  1. 刷新/设置 accessToken
$accessToken = $disbursement->refreshAccessToken()['access_token'];
$disbursement->setAccessToken($accessToken);
  1. 使用类的一个方法来查询 API - 此示例将请求银行列表
$banks = $disbursement->bankList();

提示:所有 API 响应都已格式化为关联数组。

// extracting bank id
$bankId = $banks['banks'][0]['bank_id'];

用法

ViciApi\ViciApi

ViciApi 类提供配置 API 调用和签名生成的函数。

// initialize ViciApi class
$vici = new ViciApi();

// set API base url
$vici->setBaseUrl($apiBaseUrl);

// set API credentials
$vici->setCredentials($clientId, $clientSecret, $signingKey);

// request API access token, this also calls setAccessToken
// you should store the access token in your system and refresh when it expires
$accessToken = $vici->refreshAccessToken()['access_token'];

// set access token that will be used to create API calls
$vici->setAccessToken($accessToken);

// request Disbursements Bank List API using createRequest
$vici->createRequest('GET', '/dg/v1/banks');

// comparing and proccessing signature from your callbacks
$isValid = $vici->isValidSignature($signatureToCompare, $method, $path, $timestamp, $body);
if ($isValid) {
  // ... code when signature is valid
} else {
  // ... code when signature is not valid
}

ViciApi\Services\Disbursement

Disbursement 类扩展 ViciApi 类,简化了对 Disbursement API 服务的客户端请求。您将能够使用一些 ViciApi 方法,如 requestToken 以简化您的开发。

$disbursement = new Disbursement();
$disbursement->setBaseUrl($apiBaseUrl);
$disbursement->setCredentials($clientId, $clientSecret, $signingKey);

// request /dg/v1/bank-account-inquiry API
$disbursement->bankAccountInquiry($accountNo, $bankId, $customerName, $withValidation);

// request /dg/v1/banks API
$disbursement->bankList();

// request ​/dg​/v1​/disbursements API
$disbursement->executeDisbursement($accountNo, $amount, $bankId, $customerName, $referenceId, $description);

// request /dg/v1/disbursements/reference-id/{reference_id} API
$disbursement->checkDisbursementByReferenceId($referenceId);

// request /dg/v1/disbursements/{disbursement_id} API
$disbursement->checkDisbursementByDisbursementId($disbursementId);

// request /cash/me/balance API
$disbursement->checkBalance();

ViciApi\Services\PaymentGateway

Disbursement 类相同,PaymentGateway 类也扩展了 ViciApi 类。

$paymentGateway = new PaymentGateway();
$paymentGateway->setCredentials($clientId, $clientSecret, $signingKey);

// request /pg/v1/payment/reference-id/{reference_id} API
$paymentGateway->checkPaymentByReferenceId($referenceId);

// request /pg/v1/payment/{payment_id} API
$paymentGateway->checkPaymentByPaymentId($paymentId);

示例

查看 examples