localdev/laravel-raven-atlas

Raven Atlas 的 Laravel 包

1.0.1 2023-11-23 12:10 UTC

This package is auto-updated.

Last update: 2024-09-23 14:39:06 UTC


README

使用 Laravel 容易地实现 Raven Atlas

当前功能已实现

入门

安装

composer require localdev/laravel-raven-atlas

安装后,要注册服务提供者,打开 config/app.php 并将以下内容添加到 providers 键。

'providers' => [
    /*
     * Package Service Providers...
     */
    ...
    Localdev\RavenAtlas\RavenAtlasServiceProvider::class,
    ...
]

还将此添加到 aliases

'aliases' => [
    ...
    'RavenAtlas' => Localdev\RavenAtlas\Facades\RavenAtlas::class,
    ...
]

使用此命令发布配置文件

php artisan vendor:publish --provider="Localdev\RavenAtlas\RavenAtlasServiceProvider"

打开您的 .env 文件并添加您的公钥和私钥。从此处获取您的密钥

RAVEN_PUBLIC_KEY='RVPUB-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-xxxxxxxxxxxxx'
RAVEN_SECRET_KEY='RVSEC-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-xxxxxxxxxxxxx'
RAVEN_BASE_URL='https://integrations.getravenbank.com/v1/'
RAVEN_WEBHOOK_SECRET='xxxxxxxxx'

致谢

贡献

请随意分支此包,并通过提交拉取请求来增强功能进行贡献。我会非常感激。同时,请将您的名字添加到致谢中。

关注我

功能

当前功能已实现

集合

1. 生成集合账户

$payload = [
    'first_name'=>'John',
    'last_name'=>'Doe',
    'phone'=>'08012345678',
    'email'=>'johndoe@mail.xyz',
    'amount'=>'2000'
];
$response = RavenAtlas::collections()->initiate($payload);

虚拟卡

1. 生成虚拟卡

$payload = [
    'bvn'=> '1234567890',
    'nin'=> '12345678901',
    'phone'=> '080123456789',
    'email'=> 'johndoe@mail.xyz',
    'currency'=> 'usd',
    'amount'=> '20',
    'image'=> 'string'
]; 

$response = RavenAtlas::cards()->generate($payload);

2. 为虚拟卡充值

$payload = [
    'card_id'=>'62f22f80fc9b4e40441831e9',
    'amount'=>'2000'
];
$response = RavenAtlas::cards()->fund($payload);

3. 获取单个虚拟卡

$card_id = '62f22f80fc9b4e40441831e9'
$response = RavenAtlas::cards()->getCard($card_id);

4. 获取所有虚拟卡

$response = RavenAtlas::cards()->getCards();

5. 获取使用卡进行的所有交易

$card_id = '62f22f80fc9b4e40441831e9';
$transactions = RavenAtlas::cards()->transactions($card_id);

6. 冻结虚拟卡

$payload = [
    'card_id'=>'62f22f80fc9b4e40441831e9'
];
$response = RavenAtlas::cards()->freeze($payload);

7. 解冻虚拟卡

$payload = [
    'card_id'=>'62f22f80fc9b4e40441831e9'
];
$response = RavenAtlas::cards()->unfreeze($payload);

8. 从卡中提取资金到 Raven Atlas 账户

$payload = [
    'card_id'=>'62f22f80fc9b4e40441831e9',
    'amount'=>'2000'
];
$response = RavenAtlas::cards()->withdraw($payload);

9. 为卡启用电子邮件通知

$response = RavenAtlas::cards()->alert();

10. 获取卡的费率和汇率

$response = RavenAtlas::cards()->fees();

银行转账

1. 获取银行列表

$response = RavenAtlas::transfers()->banks();

2. 创建新转账

$payload = [
    'amount'=> '2000',
    'bank'=>'Access Bank',
    'bank_code'=>'044',
    'currency'=>'NGN',
    'account_number'=>'1234567890',
    'account_name'=>'John Doe',
    'narration'=>'Transfer to John Doe account',
    'reference'=>'rv_1234567890987654321'
];
$response = RavenAtlas::transfers()->initiate($payload);

3. 查找账户号码

$payload = [
    'bank'=>'035',
    'account_number'=>'7790913943'
];
$response = RavenAtlas::transfers()->findAccount($payload);

4. 获取单个转账交易

$trx_ref = '202206041843ACJHBAJ';
$response =  RavenAtlas::transfers()->getTransfer($trx_ref);

交易

1. 获取所有交易

$response =  RavenAtlas::transactions()->all();

账单

1. 获取移动数据计划

$response = RavenAtlas::bills()->dataPlans();

2. 购买数据计划

$payload = [
    'code'=>'glo100',
    'phone_number'=>'09052137639',
    'provider_code'=>'1',
    'merchant_reference'=>'123456'
];
$response = RavenAtlas::bills()->purchaseData($payload);

3. 获取所有数据记录

$response = RavenAtlas::bills()->dataRecords();

验证

1. BVN

$payload = [
    'bvn'=>'22278595765'
];
$response = RavenAtlas::verifications()->bvn($payload);

2. NIN

$payload = [
    'nin'=>'87223631145'
];
$response = RavenAtlas::verifications()->nin($payload);

3. PVC

$payload = [
    'vin'=>'90F5B23A8C532428586'
];
$response = RavenAtlas::verifications()->pvc($payload);

4. 国际护照

$payload = [
    'passport_number'=>'B54386879',
    'first_name'=>'JOHN',
    'last_name'=>'DOE',
    'date_of_birth'=>'1997-08-06',
    'phone_number'=>'075456612902' 
];
$response = RavenAtlas::verifications()->passport($payload);

5. 驾驶执照

$payload = [
    'license_number'=>'RUM47482AA01',
    'full_name'=>'JOHN DOE',
    'date_of_birth'=>'1995-08-06',
    'phone_number'=>'075456612902' 
];
$response = RavenAtlas::verifications()->passport($payload);

6. 与 BVN 或 NIN 进行图像匹配

$payload = [
    'image'=>'@file',
    'type'=>'bvn',
    'token'=>'22278595765',
];
$response = RavenAtlas::verifications()->imageMatch($payload);

Webhooks

转到 app/Http/Middleware/VerifyCsrfToken.php 并将处理您的 webhook 的 web 路由添加到 $except 数组

protected $except = [
    '/webhook/raven',
];

在您的控制器中设置一个处理 webhook 的函数。

public function webhook(Request $request)
  {
    // This verifies the webhook
    $verify = RavenAtlas::verifyWebhook();
    if ($verify == true) {
        // do something with the webhook payload
        ...
        return response()->json("OK", 200);
    }
    return response()->json("Error", 400);
  }

许可协议

MIT 许可协议 (MIT)。有关更多信息,请参阅许可文件

此项目仍在进行中。