bitsika/merchant-sdk-php

此包以流畅的方式使用bitsika商家API。

1.2.1 2022-12-13 06:07 UTC

README

Bitsika PHP库为用PHP编写的应用程序提供了方便的访问Console Merchant API的方式。开发人员和商家都可以使用我们的API和相应的仪表板创建任何Bitsika用户都可以立即支付的发票。了解更多信息:[https://console.bitsika.africa](https://console.bitsika.africa)。我们的原始API文档:[https://documenter.getpostman.com/view/12690520/UUy39RrV](https://documenter.getpostman.com/view/12690520/UUy39RrV)。小型视频演示。

一般要求

  1. PHP版本7.0或更高。
  2. Composer用于安装包。
  3. 绑定依赖于Guzzle以正常运行。此包预装了Guzzle。

安装

安装Bitsika PHP库。要安装的版本是dev-main

composer require bitsika/merchant-sdk-php

您还可以使用composer.json文件中的composer install命令安装这些包。

{
    "require": {
        "bitsika/merchant-sdk-php": "1.0.9"
    }
}

要使用绑定,请使用Composer的自动加载。

require_once __DIR__ . '/vendor/autoload.php';

入门指南

要开始,创建Merchant类的实例。您需要一份您的Bitsika API Secret Key的副本。您可以在我们的密钥和安全页面控制台上找到此密钥。

require_once __DIR__ . '/vendor/autoload.php';

use Bitsika\Merchant;

$merchant = new Merchant('PUT_YOUR_SECRET_KEY_HERE');

变量$merchant现在是Merchant类的实例,可以用于执行商家可用的任何多项任务。

商家方法

获取商家详情。

此方法返回与您当前使用的Secret Key相关的商家公司的基本数据。返回的数据包括公司名称、Bitsika用户名、个人资料图片URL、KYC状态、多种货币的余额等等。

$response = $merchant->detail();

var_dump($response);

获取商家统计信息。

此方法返回与相应商家公司相关的交易统计信息。它返回的数据包括唯一用户数、成功交易的总额、所有交易的总额等。

$response = $merchant->statistics();

var_dump($response);

发票方法

创建发票。

此方法返回新创建的发票的基本数据,包括(最重要的是)发票/付款网页链接URL。任何Bitsika用户都可以通过打开付款链接来支付此发票。他们可以使用他们在Bitsika应用程序中的任何货币余额来支付发票。您,商家,将在创建发票时指定的货币中获得即时结算。

$response = $merchant->invoices()->create([
    "title" => "Vanilla Ice-Cream",
    "description" => "2 scoops of vanilla ice-cream, chocolate biscuits and coconut shavings.",
    "amount" => 2000000,
    "currency" => "NGN",
    "recipient_email" => "test@example.com",
    "photo_url" => "https://image.com/test.jpg"
]);

var_dump($response);

通过ID获取发票。

此方法用于在任何时候查询发票数据。您可以使用此方法手动检查发票的状态(是否已支付)或到期状态。

$invoiceId = 'INVOICE_ID_HERE';
$response = $merchant->invoices()->get($invoiceId);

var_dump($response);

发送现金。

在您成功调用此方法之前,您的商家公司需要经过验证(KYC验证)。

使用此方法从您的公司商家余额向任何具有$username或$cashtag的Bitsika用户或商家发送金钱。所有此类转账都是即时且免费的。

$response = $merchant->transaction()->sendCash([
   "platform" => "bitsika",
   "amount" => 100,
   "currency" => "USD",
   "username" => "davido",
   "debit_from" => "USD",
   "purpose" => ""
]);

var_dump($response);

验证交易。

使用此方法验证您使用上述Send Cash方法进行的转账的状态。

$transactionId = "YOUR_TRANSACTION_ID_HERE";

$response = $merchant->transaction()->get($transactionId);

var_dump($response);

搜索用户。

使用此方法搜索Bitsika用户,并验证他们是否存在。

$username = "USERNAME_HERE";

$response = $merchant->customer()->search($username);

var_dump($response);

虚拟卡

商家可以为他们的账户生成虚拟卡。以下是与虚拟卡相关的操作列表。

创建卡

此方法用于创建虚拟卡

$response = $merchant->virtualCard()->create([
   "name" => "Tommie Nii Darku", 
   "currency" => "USD", 
   "amount" => 11, 
   "debit_from" => "GHS" 
]);

var_dump($response);

获取所有虚拟卡

您可以使用以下方法获取所有可用的虚拟卡

$response = $merchant->virtualCard()->all();

var_dump($response);

通过ID获取虚拟卡

您可以使用以下方法通过其id获取虚拟卡

$cardId = 113;
$response = $merchant->virtualCard()->get($cardId);

var_dump($response);

通过ID充值虚拟卡

您可以使用以下方法通过其id为虚拟卡充值

$cardId = 113;
$response = $merchant->virtualCard()->topUp($cardId, [
   "amount" => "10", 
   "currency" => "USD", 
   "debit_from" => "GHS"
]);

var_dump($response);

通过ID提款

您可以使用以下方法通过其id从虚拟卡提款

$cardId = 113;
$response = $merchant->virtualCard()->withdraw($cardId, [
   "amount" => "5"
]);

var_dump($response);

获取卡交易

您可以使用以下方法通过其id获取虚拟卡的交易

$cardId = 113;
$response = $merchant->virtualCard()->transactions($cardId);

var_dump($response);

冻结卡

您可以使用以下方法通过其id冻结虚拟卡

$cardId = 113;
$response = $merchant->virtualCard()->freeze($cardId);

var_dump($response);

解冻卡

您可以使用以下方法通过其id解冻虚拟卡

$cardId = 113;
$response = $merchant->virtualCard()->unfreeze($cardId);

var_dump($response);

发票Webhooks

每当发票被支付时,通知会被发送到您在Bitsika控制台账户的密钥和安全页面提供的Webhook URL。您的Webhook URL应是一个未经身份验证的POST请求URL。

一旦收到付款,无论是否已启动失败成功,我们都会向您的Webhook URL发送包含事件对象的POST请求。

请求对象包含eventinvoice_idtransaction详情。

event键对于失败的付款将是invoice.payment_failed,对于成功的付款将是invoice.payment_success

invoice_id是所支付的发票的id,而transaction键包含一个包含付款的JSON对象。

验证webhooks

(可选) 每当向您的Webhook URL发出请求时,出于安全考虑,我们还会在头部发送一个x-bitsika-signature。这包含使用您的密钥签名的payload的HMAC SHA512散列。

if($_SERVER['HTTP_X_BITSIKA_SIGNATURE'] !== hash_hmac('sha512', $input, YOUR_SECRET_KEY_HERE))
    exit();

示例响应 - 期望的JSON响应示例

{
   "id": 935,
   "reference": "87-1601554148-1530",
   "currency": "USD",
   "status": "Successful",
   "amount": 50,
   "type": "Out",
   "created_at": "2020-10-01 12:09:08",
   "updated_at": "2020-10-01 12:09:08",
   "from_account": {
      "id": 87,
      "name": "Tom Tom Darku",
      "username": "tdlover"
   }
}

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。