localdev / laravel-raven-atlas
Raven Atlas 的 Laravel 包
1.0.1
2023-11-23 12:10 UTC
Requires
- php: ^7.2|^8.0|^8.1
- guzzlehttp/guzzle: ^7.0.1
Requires (Dev)
- mockery/mockery: ^1.3
- php-coveralls/php-coveralls: ^2.0
- phpunit/phpunit: ^8.4|^9.0
- scrutinizer/ocular: ~1.1
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)。有关更多信息,请参阅许可文件
此项目仍在进行中。