ivalrivall/laravel-bca

用于开发 BCA 支付的 REST API 库

v1.0.0 2022-09-21 05:14 UTC

This package is auto-updated.

Last update: 2024-09-21 10:05:47 UTC


README

SensioLabsInsight Build Status codecov Latest Stable Version Latest Unstable Version Total Downloads FOSSA Status

Laravel BCA (Bank Central Asia)

Laravel PHP 库,用于将您的应用程序与 BCA (Bank Central Asia) 系统集成。有关更详细和完整的文档,请访问其官方网站 Developer BCA

此库支持 PHP

  • PHP 5.5.x
  • PHP 5.6.x
  • PHP 7.0.x
  • PHP 7.1.x
  • PHP 7.2.x
  • PHP 7.3.x

此库支持 Laravel

  • Laravel 5.2.x
  • Laravel 5.3.x
  • Laravel 5.4.x
  • Laravel 5.5.x
  • Laravel 5.6.x
  • Laravel 5.7.x
  • Laravel 5.8.x
  • Laravel 6.x

如果您觉得这个库很有用,请不要忘记在这个仓库上给予 STAR。快乐编码!

库功能

此 Laravel PHP 库的所有功能、方法和属性都与 Odenktools PHP BCA 相同。

安装

composer require odenktools/laravel-bca

设置

安装后,在 Laravel 的 providers 中添加 BcaServiceProvider。配置位于 config/app.php

'providers' => [
	// blahh.. blahhh..
	Odenktools\Bca\BcaServiceProvider::class,
]

然后,在 Laravel 的 aliases 数组中添加 Facade Bca。配置位于 config/app.php

'aliases' => [
	// blahh.. blahhh..
	'Bca'  => Odenktools\Bca\Facades\Bca::class,
]

发布库使用的配置

php artisan vendor:publish --provider="Odenktools\Bca\BcaServiceProvider"

composer dumpautoload

配置连接和设置

配置 config/Bca.php 的 Papda,请输入符合您需求的 Environment。请确保 CORP_ID, CLIENT_KEY, CLIENT_SECRET, APIKEY, SECRETKEY 已知。

        'main'        => [
            'corp_id'       => 'your-corp_id',
            'client_id'     => 'your-client_id',
            'client_secret' => 'your-client_secret',
            'api_key'       => 'your-api_key',
            'secret_key'    => 'your-secret_key',
            'timezone'      => 'Asia/Jakarta',
            'host'          => 'sandbox.bca.co.id',
            'scheme'        => 'https',
            'development'   => true,
            'options'       => [],
            'port'          => 443,
            'timeout'       => 30,
        ],

登录

	// Request Login dan dapatkan nilai OAUTH
	$response = \Bca::httpAuth();

	// LIHAT HASIL OUTPUT
	echo json_encode($response);

登录成功后,请确保您将 TOKEN 存储在安全的地方,因为此 TOKEN 将用于后续任务。

账户余额信息

请确保您已获取 TOKEN 且该 TOKEN 仍然有效(未过期)。

	// Nilai token yang dihasilkan saat login
	$token = "MvXPqa5bQs5U09Bbn8uejBE79BjI3NNCwXrtMnjdu52heeZmw9oXgB";

	//Nomor akun yang akan di ambil informasi saldonya, menggunakan ARRAY
	$arrayAccNumber = array('0201245680', '0063001004', '1111111111');

	$response = \Bca::getBalanceInfo($token, $arrayAccNumber);
	
	// LIHAT HASIL OUTPUT
	echo json_encode($response);

资金转账

请确保您已获取 TOKEN 且该 TOKEN 仍然有效(未过期)。

	// Nilai token yang dihasilkan saat login
	$token = "MvXPqa5bQs5U09Bbn8uejBE79BjI3NNCwXrtMnjdu52heeZmw9oXgB";

	$amount = '50000.00';

	// Nilai akun bank anda
	$nomorakun = '0201245680';

	// Nilai akun bank yang akan ditransfer
	$nomordestinasi = '0201245681';

	// Nomor PO, silahkan sesuaikan
	$nomorPO = '12345/PO/2017';

	// Nomor Transaksi anda, Silahkan generate sesuai kebutuhan anda
	$nomorTransaksiID = '00000001';

	$response = \Bca::fundTransfers($token, 
						$amount,
						$nomorakun,
						$nomordestinasi,
						$nomorPO,
						'Testing Saja Ko',
						'Online Saja Ko',
						$nomorTransaksiID);

	echo json_encode($response);

账户交易明细

请确保您已获取 TOKEN 且该 TOKEN 仍然有效(未过期)。

	// Nilai token yang dihasilkan saat login
	$token = "MvXPqa5bQs5U09Bbn8uejBE79BjI3NNCwXrtMnjdu52heeZmw9oXgB";

	// Nilai akun bank anda
	$nomorakun = '0201245680';
	
	// Tanggal start transaksi anda
	$startdate = '2016-08-29';
	
	// Tanggal akhir transaksi anda
	$enddate = '2016-09-01';

	$response = \Bca::getAccountStatement($token, $nomorakun, $startdate, $enddate);

	echo json_encode($response);

外汇汇率

	//Tipe rate :  bn, e-rate, tt, tc
	$rateType = 'e-rate';

	$mataUang = 'usd';

	$response = \Bca::getForexRate($token, $rateType, $mataUang);

	echo json_encode($response);

最近 ATM 定位器

	$latitude = '-6.1900718';

	$longitude = '106.797190';

	$totalAtmShow = '10';

	$radius = '20';

	$response = \Bca::getAtmLocation($token, $latitude, $longitude, $totalAtmShow, $radius);

	echo json_encode($response);

存款利率

请确保您已获取 TOKEN 且该 TOKEN 仍然有效(未过期)。

	// Nilai token yang dihasilkan saat login
	$token = "MvXPqa5bQs5U09Bbn8uejBE79BjI3NNCwXrtMnjdu52heeZmw9oXgB";

	$response       = \Bca::getDepositRate($token);

	echo json_encode($response);

生成签名

当用于测试时。

	$secret = "NILAI-SECRET-ANDA";
	
	// Nilai token yang dihasilkan saat login
	$token = "MvXPqa5bQs5U09Bbn8uejBE79BjI3NNCwXrtMnjdu52heeZmw9oXgB";
	
	$uriSign = "GET:/general/info-bca/atm";
	
	//Format timestamp harus dalam ISO8601 format (yyyy-MM-ddTHH:mm:ss.SSSTZD)
	$isoTime = "2016-02-03T10:00:00.000+07:00";
	
	$bodyData = array();
	
	//nilai body anda disini
	$bodyData['a'] = "BLAAA-BLLLAA";
	$bodyData['b'] = "BLEHH-BLLLAA";
	
	//ketentuan BCA array harus disort terlebih dahulu
	ksort($bodyData);

	$authSignature = \Bca::generateSign($uriSign, $token, $secret, $isoTime, $bodyData);
	
	echo $authSignature;

测试

使用 Composer

composer run-script test:ci

使用 PHPUnit

vendor/bin/phpunit --verbose --coverage-text

如何贡献

在此存储库上进行 Fork。

通过以下方式创建 feature 分支

git checkout -b my-new-feature

修改您的存储库。完成后进行 commit。

git commit -am 'Menambahkan fitur xxx'

将更改 Push 到创建的 branch 上

git push origin my-new-feature

向此存储库发出 pull request,完成。

指南

  • 遵循 PSR-2 编码风格指南
  • 确保所有测试都已通过。如果您添加了新功能,则必须为该功能创建相关单元测试。
  • 使用 rebase 以避免冲突和合并代码
  • 如果您添加了功能,可能还需要更新此存储库中的文档页面。

许可

MIT 许可证

版权所有 (c) 2017 odenktools

特此授予任何获得本软件及其相关文档文件(以下简称“软件”)副本的人士,免费使用软件的权利,不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许获得软件的人士进行此类操作,但须遵守以下条件:

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的质量保证,无论是明示的还是隐含的,包括但不限于适销性、适用于特定目的和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论是在合同、侵权或其他情况下,这些责任源自、产生于或与软件的使用或其他操作有关。

FOSSA Status