定制 odenktools/laravel-bca 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

odenktools/laravel-bca

Composer 安装命令:

composer require odenktools/laravel-bca

包简介

Library REST API Untuk Develop BCA Payment

README 文档

README

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

Laravel BCA (Bank Central Asia)

Laravel PHP library untuk mengintegrasikan Aplikasi Anda dengan sistem BCA (Bank Central Asia). Untuk dokumentasi lebih jelas dan lengkap, silahkan kunjungi website resminya di Developer BCA

Library ini support 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

Library ini support 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

Jika merasa terbantu dengan adanya library ini, jangan lupa untuk berikan STAR pada respository ini. Happy Koding!

Fitur Library

Seluruh fitur, method, property pada Laravel PHP library ini seluruhnya sama dengan Odenktools PHP BCA.

INSTALASI

composer require odenktools/laravel-bca

Setup

Setelah installasi, tambahkan BcaServiceProvider pada providers laravel. Konfigurasi berada di config/app.php

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

Setelah itu tambahkan Facade Bca pada Laravel aliases array. Konfigurasi berada di config/app.php

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

Publish Konfigurasi yang dipergunakan oleh library

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

composer dumpautoload

KONEKSI DAN SETTING

Papda Konfigurasi config/Bca.php, silahkan input Environment yang sesuai dengan kebutuhan Anda. Pastikan CORP_ID, CLIENT_KEY, CLIENT_SECRET, APIKEY, SECRETKEY telah diketahui.

        '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,
        ],

LOGIN

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

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

Setelah Login berhasil pastikan anda menyimpan nilai TOKEN di tempat yang aman, karena nilai TOKEN tersebut agar digunakan untuk tugas tugas berikutnya.

BALANCE INFORMATION

Pastikan anda mendapatkan nilai TOKEN dan TOKEN tersebut masih berlaku (Tidak Expired).

	// 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);

FUND TRANSFER

Pastikan anda mendapatkan nilai TOKEN dan TOKEN tersebut masih berlaku (Tidak Expired).

	// 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);

ACCOUNT STATEMENT

Pastikan anda mendapatkan nilai TOKEN dan TOKEN tersebut masih berlaku (Tidak Expired).

	// 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);

FOREIGN EXCHANGE RATE

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

	$mataUang = 'usd';

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

	echo json_encode($response);

NEAREST ATM LOCATOR

	$latitude = '-6.1900718';

	$longitude = '106.797190';

	$totalAtmShow = '10';

	$radius = '20';

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

	echo json_encode($response);

DEPOSIT RATE

Pastikan anda mendapatkan nilai TOKEN dan TOKEN tersebut masih berlaku (Tidak Expired).

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

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

	echo json_encode($response);

GENERATE SIGNATURE

Saat berguna untuk keperluan testing.

	$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;

Test

Using Composer

composer run-script test:ci

Using PHPUnit

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

How to contribute

Lakukan Fork pada repository ini.

Buat feature branch dengan cara

git checkout -b my-new-feature

Lakukan modifikasi pada repository anda tersebut. Setelah selesai lakukan commit

git commit -am 'Menambahkan fitur xxx'

Lakukan Push ke branch yang telah dibuat

git push origin my-new-feature

Lakukan pull request ke repository ini, Selesai.

Guidelines

  • Koding berstandart PSR-2 Coding Style Guide
  • Pastikan seluruh test yang dilakukan telah pass, jika anda menambahkan fitur baru, anda diharus kan untuk membuat unit test terkait dengan fitur tersebut.
  • Pergunakan rebase untuk menghindari conflict dan merge kode
  • Jika anda menambahkan fitur, mungkin anda juga harus mengupdate halaman dokumentasi pada repository ini.

LICENSE

MIT License

Copyright (c) 2017 odenktools

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

FOSSA Status

odenktools/laravel-bca 适用场景与选型建议

odenktools/laravel-bca 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3.46k 次下载、GitHub Stars 达 44, 最近一次更新时间为 2017 年 10 月 01 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「php」 「rest」 「Banking」 「bca」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 odenktools/laravel-bca 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 odenktools/laravel-bca 我们能提供哪些服务?
定制开发 / 二次开发

基于 odenktools/laravel-bca 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 3.46k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 44
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 44
  • Watchers: 1
  • Forks: 36
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-10-01