towoju5/bitnob

Bitnob虚拟卡REST API的Laravel包装器。

v1.2.4.0 2024-09-20 13:28 UTC

This package is auto-updated.

Last update: 2024-09-20 13:28:51 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

这里应该放置您的描述。尽量限制在一两段之内,并可能提及您支持的PSRs,以避免与用户和贡献者产生混淆。

安装

您可以通过composer安装此包

composer require towoju5/bitnob

通过.env文件设置基本URL和API密钥

    BITNOB_API_KEY=pk.f75b136.8a9babaec7ce729be883a7111
    BITNOB_BASE_URL='https://sandboxapi.bitnob.co/api/v1'
    use Towoju5\Bitnob\Bitnob;
    $bitnob = new Bitnob;

虚拟卡管理

    $bitnob = new Bitnob();
    $cards      = $bitnob->cards();
    $regUser    = $cards->regUser(array $data)
    $create     = $cards->create(array $data)
    $topup      = $cards->topup(array $data)
    $action     = $cards->action(string $action, string $cardId)
    $getCard    = $cards->getCard(string $cardId)
    $getTransaction = $cards->getTransaction(string $cardId)

管理Bitnob客户

    $bitnob = new Bitnob();
    $customer = $bitnob->customer();
    $createCustomer = $customer->createCustomer(array $data);
    $updateCustomer = $customer->updateCustomer(string $id, array $data);
    $listCustomer   = $customer->listCustomer(string $id);
    $getCustomer    = $customer->getCustomer(string $id);

转账/支付

    $bitnob = new Bitnob();
    $transfer   = $bitnob->transfer();
    $initPayout = $transfer->initPayout(array $arrays)
    $completePayout      = $transfer->completePayout(string $payoutInitId)
    $countryRequirements = $transfer->countryRequirements(string $country_code)
    $supportedCountries  = $transfer->supportedCountries()

收款人

    $bitnob = new Bitnob();
    $beneficiary        = $bitnob->beneficiary();
    $createBeneficiary  = $beneficiary->createBeneficiary(array $data)
    $listBeneficiaries  = $beneficiary->listBeneficiaries()
    $getBeneficiary     = $beneficiary->getBeneficiary($beneficiary_id)

托管结账 - BTC支付

注意:金额以比特币为单位,而非satoshi

    $bitnob = new Bitnob();
    $checkout = $bitnob->checkout();
    $createHostedCheckout   = $checkout->createHostedCheckout(array $data)
    $getCheckoutStatus      = $checkout->getCheckoutStatus($checkoutId)
    $getCheckouts           = $checkout->getCheckouts($param = null)
    $getCheckout            = $checkout->getCheckout($checkoutId)

注册用户以创建卡片

// enroll user for card creation
$data = [
    'customerEmail'     => 'johnsmith@gmail.com',
    'idNumber'          => 'A00100010',
    'idType'            => 'PASSPORT',
    'firstName'         => 'Smith',
    'lastName'          => 'John',
    'phoneNumber'       => '08012345678',
    'city'              => 'ILORIN',
    'state'             => 'KWARA',
    'country'           => 'NIGERIA',
    'zipCode'           => '90011',
    'line1'             => 'ABC street, klotovan road',
    'houseNumber'       => 15,
    'idImage'           => 'https://example.com/image.png',
];
app('bitnob')->regUser($data);

创建卡片。

注意:用户必须首先注册此服务

$data = [
    'customerEmail' => 'johndoe@gmail.com',
    'cardBrand'     => 'visa', // cardBrand should be "visa" or "mastercard"
    'cardType'      => 'virtual',
    'reference'     => '4f644a2c-3c4f-48c7-a3fa-e896b544d546',
    'amount'        => 5000,
];
app('bitnob')->create($data);

卡片充值。

注意:用户必须首先注册此服务

 $arr = [
    'cardId'    => $data['cardId'],
    'reference' => $data['reference'],
    'amount'    => $data['amount'],
];
app('bitnob')->topup($arr);

对卡片执行操作

    $action = 'freeze'; // unfreeze
    $cardId = '4f644a2c-3c4f-48c7-a3fa-e896b544d546';
    app('bitnob')->action($action, $cardId);

获取单个卡片

    $cardId = '4f644a2c-3c4f-48c7-a3fa-e896b544d546';
    app('bitnob')->getCard($cardId);

获取卡交易记录

    $cardId = '4f644a2c-3c4f-48c7-a3fa-e896b544d546';
    app('bitnob')->getTransaction($cardId);

测试

composer test

变更日志

请参阅变更日志了解最近更改的更多信息。

贡献

请参阅贡献指南以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过towojuads@gmail.com发送电子邮件,而不是使用问题跟踪器。

鸣谢

许可证

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

待办事项列表

  • ✅ 虚拟卡
  • ✅ 客户
  • ✅ 支付/手机转账
  • ✅ 托管结账
  • ✅ 收款人
  • ❌ 比特币链上
  • ❌ 钱包
  • ❌ 交易
  • ❌ 稳定币