kevinpurwito / laravel-rajabiller
Laravel 的 Rajabiller 集成
Requires
- php: ^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.3
- kevinpurwito/php-constant: ^1.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- orchestra/testbench: ^6.19.0
- phpunit/phpunit: ^9.0
- vimeo/psalm: ^4.3
README
Laravel Rajabiller 是一个集成了Rajabiller的 Laravel 包。
安装
您可以通过 composer 安装此包。
composer require kevinpurwito/laravel-rajabiller
配置
vendor:publish
命令将在您的 Laravel 项目的配置文件夹中发布一个名为 kp_rajabiller.php
的文件,位于 config/kp_rajabiller.php
。
已发布配置文件内容
[ 'env' => strtolower(env('KP_RB_ENV', 'dev')), // dev or prod 'url' => strtolower(env('KP_RB_URL', 'https://rajabiller.fastpay.co.id/transaksi/json_devel.php')), 'uid' => env('KP_RB_UID'), 'pin' => env('KP_RB_PIN'), ];
或者,您可以忽略上述发布命令,并将以下变量添加到您的 .env
文件中。
KP_RB_ENV=dev
KP_RB_UID=user
KP_RB_PIN=secret
自动发现
如果您正在使用 Laravel 5.5+,则不需要手动添加服务提供者或外观。这将自动发现。对于所有低于 5.5 版本的 Laravel,您必须手动将 ServiceProvider & Facade 添加到您的 Laravel 项目 config/app.php
中的相应数组。
提供者
[ Kevinpurwito\LaravelRajabiller\RajabillerServiceProvider::class, ];
别名 / 外观
[ 'Rajabiller' => Kevinpurwito\LaravelRajabiller\Facades\Rajabiller::class, ];
发布迁移
除了迁移之外,您通常不需要发布其他内容,例如种子文件和配置文件;除非您想自定义它们。
php artisan vendor:publish --provider=Kevinpurwito\LaravelRajabiller\RajabillerServiceProvider --tag=rb-migrations
运行种子文件
php artisan db:seed --class=Kevinpurwito\LaravelRajabiller\Database\Seeders\RbSeeder
开发凭据
UID=FA9919
PIN=123321
使用命令
此包包含一个内置命令,用于将数据库中的项目同步到 Rajabiller 服务器。此命令维护项目的定价和可用性。您可以在 Laravel CronJob 中调用此命令。
php artisan rb-sync-items
用法
use Kevinpurwito\LaravelRajabiller\Facades\Rajabiller; // returns the balance that you have Rajabiller::getBalance(); // returns the list of orders you created in certain date (accepts date in Y-m-d format) Rajabiller::orders('2021-01-20'); // returns the list of items under certain group (accepts string groupCode) Rajabiller::groupItems('TELKOMSEL'); // returns the details of item (accepts string itemCode) Rajabiller::item('S5H'); // telkomsel pulsa 5rb // purchase an item, either pulsa or game voucher Rajabiller::purchase('TXxxx', 'S5H', '628xxxx', 'pulsa'); // telkomsel pulsa 5rb // inquiry for ppob (PLN, TELKOM, etc) price before paying Rajabiller::inquiry('TXxxx', 'PLN', '123xxxx'); // pay for ppob (PLN, TELKOM, etc) Rajabiller::pay('TXxxx', 'PLN', '123xxxx');
请注意!对于每个 customerId 的每个项目,您每天只能进行 3 次查询。例如,您只能对 1 个 customerId 的 PLN 费用进行 3 次查询,之后您必须付费或明天再次查询。
处理响应
use Kevinpurwito\LaravelRajabiller\Facades\Rajabiller; $response = Rajabiller::item('S5H'); // telkomsel pulsa 5rb if ($response->getStatusCode() == 200) { // if you want to check the response body, such as `HARGA` you can do this: $content = json_decode($response->getBody()->getContents()); dump($content); // { // "KODE_PRODUK": "S5H", // "UID": "UID", // "PIN": "PIN", // "STATUS": "00", // "KET": "SUKSES", // "HARGA": "5435", // "ADMIN": "", // "KOMISI": "0", // "PRODUK": "TELKOMSEL SIMPATI / AS 5RB", // "STATUS_PRODUK": "AKTIF", // } }
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 变更日志。
贡献
有关详细信息,请参阅 贡献。
安全
如果您发现任何安全相关的问题,请通过电子邮件 kevin.purwito@gmail.com 而不是使用问题跟踪器。
致谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。
Laravel 包模板
此包是使用 PHP 包模板 由 Beyond Code 创建的,并进行了一些修改,灵感来自 PHP 包骨架 by spatie。