hngx/moneywave-php

Moneywave API 的 PHP 封装

1.2 2018-02-26 11:06 UTC

This package is not auto-updated.

Last update: 2024-09-15 02:37:41 UTC


README

Latest Stable Version Total Downloads License Latest Unstable Version

Moneywave API 的 PHP 封装 请参阅官方文档以获取更多详细信息。

内容

配置

要执行事务或访问资源,您需要一个 moneywave 客户端实例,这将用于您的 API 调用。

$mw = new \HngX\Moneywave\Moneywave($yourApiKey, $yourSecretKey);

用法:调度事务/资源

执行事务

执行事务有 3 个简单步骤

  1. 创建事务。所有事务都接受 moneywave 客户端实例作为构造函数参数。`WalletToAccountTransaction` 和 `BulkWalletToAccountTransaction` 事务还接受第二个参数:钱包密码

  2. 设置适当的详细信息。在 文档 中为每个事务列出的所有字段都作为事务类的属性(通过魔术方法)可用,因此您可以单独设置它们。或者,您可以使用 `setDetails()` 函数一次性设置它们。**注意**:请确保使用与 https://moneywave.flutterwave.com/api 中描述的**完全相同**的参数名称(包括大小写)。以下字段在每个事务中自动为您设置:

  1. 通过调用 `dispatch()` 调度事务

以下是一个示例

//we want to perform a wallet to account transfer
$tran = new \HngX\Moneywave\Transactions\WalletToAccountTransaction($mw, $walletPassword);

//set details
$tran->amount = 25000;
$tran->bankcode = \HngX\Moneywave\Bank::STERLING;
$tran->accountNumber = "000056050";
$tran->senderName = "Johnson";
$tran->ref = 40;

//then make the transaction
$tran->dispatch();

//or you could do this in a batch
$tran->setDetails(array(
  "amount" => 25000,
  "bankcode" => \HngX\Moneywave\Bank::STERLING,
  "accountNumber" => "000056050",
  "senderName" => "Johnson",
  "ref" => 40
))->dispatch();

可用的交易类型

AccountToAccountTransaction
CardToAccountTransaction
CardToWalletTransaction
TotalChargeToCardTransaction
WalletToAccountTransaction
BulkWalletToAccountTransaction

可用的银行代码

以下是 Moneywave API 当前支持的银行的列表。它们的代码作为常量在 `\HngX\Moneywavw\Bank` 类中可用

FCMB   // FIRST CITY MONUMENT BANK PLC
UNITY   // UNITY BANK PLC
STANBIC_IBTC   // STANBIC IBTC BANK PLC
STERLING   // STERLING BANK PLC
STANBIC_MOBILE   //  STANBIC Mobile PLC
PAYCOM //  PAYCOM
ECOBANK_MOBILE //  ECOBANK MOBILE
FBN_MOBILE //  FBN MOBILE
PARKWAY //  PARKWAY
GTBANK_MOBILE //  GTBank Mobile Money
ZENITH_MOBILE //  ZENITH Mobile
ACCESS_MOBILE //  ACCESS Mobile
ASO //  Aso Savings and Loans
ACCESS //  ACCESS BANK NIGERIA
AFRIBANK //  AFRIBANK NIGERIA PLC
DIAMOND //  DIAMOND BANK PLC
ECOBANK //  ECOBANK NIGERIA PLC
ENTERPRISE //  ENTERPRISE BANK LIMITED
FIDELITY //  FIDELITY BANK PLC
FIRST //  FIRST BANK PLC
GTBANK //  GTBANK PLC
HERITAGE //  HERITAGE BANK
KEYSTONE //  KEYSTONE BANK PLC
SKYE //  SKYE BANK PLC
STANDARD_CHARTERED //  STANDARD CHARTERED BANK NIGERIA LIMITED
UNION //  UNION BANK OF NIGERIA PLC
UBA //  UNITED BANK FOR AFRICA PLC
WEMA //  WEMA BANK PLC
ZENITH //  ZENITH BANK PLC

访问资源

应用相同的 3 个步骤

  1. 创建资源。所有资源都将其 moneywave 客户端实例作为唯一的构造函数参数

  2. 设置适当的详细信息(如有必要)。`GetWalletBalance` 不需要任何额外数据。在 文档 中为每个资源列出的所有字段都作为资源类的属性(通过魔术方法)可用,因此您可以单独设置它们。或者,您可以使用 `setDetails()` 函数一次性设置它们。**注意**:请确保使用与 https://moneywave.flutterwave.com/api 中描述的**完全相同**的参数名称(包括大小写)。以下字段在每个资源中自动为您设置:

  1. 通过调用 `dispatch()` 调度资源

以下是一个示例

//we want to check our wallet balance
$bal=new \HngX\Moneywave\Resources\GetWalletBalance($mw);
$bal->dispatch();

可用的资源类型

GetWalletBalance
PreviousCardToAccount
PreviousWalletToAccount
RetryFailedTransaction
ValidateAccountNumber
TokenizeCard

用法:处理响应

在调度事务或资源后,您可以通过在对象上调用 `getResponse()` 来访问完整的响应。

$tran->getResponse();

/*
[
  "status" => "success",
  "data" => [
    ...]
  ]
*/

您还可以通过调用 `getStatus()` 来单独找出 `status`。

$tran->getStatus(); // -> "success" or "error"

您还可以直接调用 `successful()` 来测试响应的 `status` 是否为 `success`:**注意**:根据 Moneywave,"成功" 并不一定意味着事务已成功完成。请参阅官方文档以获取更多详细信息

if ($tran->successful()) {
  //yay!
} else {
  print_r($tran->getResponse());
}

验证交易

根据文档,在调度后,`AccountToAccountTransaction` 和 `CardToAccountTransaction` 两种交易类型可能还需要验证。为此,只需在事务对象上使用适当的数据调用 `validate()` 即可。

$tran = new \HngX\Moneywave\AccountToAccountTransaction($mw);
$tran->setDetails([
    "firstname" => "Donald",
    "lastname" => "Trump",
    ...
  ])
  ->dispatch();
if ($tran->successful()){
  $tran->validate([
    "transactionRef" => $tran->getResponse()["data"]["ref"],
    "authType" => "OTP",
    "authValue" => "7489",
  ]);
}

注意:之后,调用 `getResponse()` 或 `getStatus()` 将返回验证过程的响应或状态

用法:错误

如果您做了任何违规操作,您将得到一个 `\HngX\MoneywaveException` 实例。

安装

composer require hngx/moneywave-php

错误

如果您注意到任何错误,请创建一个新的问题。我们将立即处理它。