kevinpurwito/laravel-rajabiller

Laravel 的 Rajabiller 集成

v2.0.7 2022-09-27 04:30 UTC

This package is auto-updated.

Last update: 2024-09-27 20:46:55 UTC


README

Tests Code Style Psalm Latest Version on Packagist Total Downloads

Laravel Rajabiller 是一个集成了Rajabiller的 Laravel 包。

参考此 文档 及此 Postman

安装

您可以通过 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