bitsika / merchant-sdk-php
此包以流畅的方式使用bitsika商家API。
Requires
- ext-json: *
- guzzlehttp/guzzle: ^7.2
This package is not auto-updated.
Last update: 2024-10-01 14:47:36 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)。小型视频演示。
一般要求
- PHP版本7.0或更高。
- Composer用于安装包。
- 绑定依赖于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请求。
请求对象包含event
、invoice_id
和transaction
详情。
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)。请参阅许可文件以获取更多信息。