Нативная PHP-библиотека для интеграции вашего приложения с системой BCA (Банк Центральная Азия). Для получения более четкой и полной документации посетите официальный сайт Developer BCA.
Для Laravel
Framework вы можете использовать библиотеку Odenktools Laravel BCA.
Если вы чувствуете, что эта библиотека вам помогла, не забудьте поставить ей ЗВЕЗДУ.
Для получения более подробной информации посетите php bca TravisCI.
Получить информацию о балансе
/fire/accounts/balance
Получить информацию о счете получателя
/fire/accounts
Получить статус транзакции
/fire/transactions
Переведите средства непосредственно на счет получателя
/fire/transactions/to-account
Перевести средства получателю, которые будут приняты лично
/fire/transactions/cash-transfer
Изменить реквизиты операции по переводу денежных средств
/fire/transactions/cash-transfer/amend
Отменить транзакцию перевода денег
/fire/transactions/cash-transfer/cancel
Получите статус платежа по CompanyCode и CustomerNumber или RequestID.
/va/payments?CompanyCode=&RequestID=
composer require " odenktools/php-bca "
Прежде чем перейти к этапу LOGIN
, убедитесь, что известны все требования, такие как CORP_ID, CLIENT_KEY, CLIENT_SECRET, APIKEY, SECRETKEY
.
$ options = array (
' scheme ' => ' https ' ,
' port ' => 443 ,
' host ' => ' sandbox.bca.co.id ' ,
' timezone ' => ' Asia/Jakarta ' ,
' timeout ' => 30 ,
' debug ' => true ,
' development ' => true
);
// Setting default timezone Anda
Bca BcaHttp:: setTimeZone ( ' Asia/Jakarta ' );
// ATAU
// BcaBcaHttp::setTimeZone('Asia/Singapore');
$ corp_id = " BCAAPI2016 " ;
$ client_key = " NILAI-CLIENT-KEY-ANDA " ;
$ client_secret = " NILAI-CLIENT-SECRET-ANDA " ;
$ apikey = " NILAI-APIKEY-ANDA " ;
$ secret = " SECRETKEY-ANDA " ;
$ bca = new Bca BcaHttp ( $ corp_id , $ client_key , $ client_secret , $ apikey , $ secret );
// ATAU
$ bca = new Bca BcaHttp ( $ corp_id , $ client_key , $ client_secret , $ apikey , $ secret , $ options );
Использование пользовательских параметров скручивания
$ options = array (
' curl_options ' => array (
CURLOPT_SSL_VERIFYHOST => 0 ,
CURLOPT_SSLVERSION => 6 ,
CURLOPT_SSL_VERIFYPEER => false ,
CURLOPT_TIMEOUT => 60
),
' scheme ' => ' https ' ,
' port ' => 443 ,
' host ' => ' sandbox.bca.co.id ' ,
' timezone ' => ' Asia/Jakarta ' ,
' timeout ' => 30 ,
' debug ' => true ,
' development ' => true
);
// Setting default timezone Anda
Bca BcaHttp:: setTimeZone ( ' Asia/Jakarta ' );
// ATAU
// BcaBcaHttp::setTimeZone('Asia/Singapore');
$ corp_id = " BCAAPI2016 " ;
$ client_key = " NILAI-CLIENT-KEY-ANDA " ;
$ client_secret = " NILAI-CLIENT-SECRET-ANDA " ;
$ apikey = " NILAI-APIKEY-ANDA " ;
$ secret = " SECRETKEY-ANDA " ;
$ bca = new Bca BcaHttp ( $ corp_id , $ client_key , $ client_secret , $ apikey , $ secret , $ options );
$ corp_id = " CORP_ID-ANDA " ;
$ client_key = " NILAI-CLIENT-KEY-ANDA " ;
$ client_secret = " NILAI-CLIENT-SECRET-ANDA " ;
$ apikey = " NILAI-APIKEY-ANDA " ;
$ secret = " SECRETKEY-ANDA " ;
$ bca = new Bca BcaHttp ( $ corp_id , $ client_key , $ client_secret , $ apikey , $ secret );
// Request Login dan dapatkan nilai OAUTH
$ response = $ bca -> httpAuth ();
// Cek hasil response berhasil atau tidak
echo json_encode ( $ response );
После успешного входа в систему обязательно сохраните значение TOKEN
в надежном месте, поскольку значение TOKEN
будет использоваться для следующего назначения.
Убедитесь, что вы получили значение TOKEN
и что TOKEN
все еще действителен (срок действия которого не истек).
// Ini adalah 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 );
// Cek hasil response berhasil atau tidak
echo json_encode ( $ response );
Убедитесь, что вы получили значение TOKEN
и что TOKEN
все еще действителен (срок действия которого не истек).
// Ini adalah 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 ' ;
$ remark1 = ' Transfer Test Using Odenktools BCA ' ;
$ remark2 = ' Online Transfer Using Odenktools BCA ' ;
// value hanya support idr dan usd
$ mataUang = ' idr ' ;
$ response = $ bca -> fundTransfers ( $ token ,
$ amount ,
$ nomorakun ,
$ nomordestinasi ,
$ nomorPO ,
$ remark1 ,
$ remark2 ,
$ nomorTransaksiID ,
$ mataUang );
// Cek hasil response berhasil atau tidak
echo json_encode ( $ response );
Для данных remark1
, remark2
nomorPO
будет заменен на lowercase
, а whitespace
будут удалены.
Убедитесь, что вы получили значение TOKEN
и что TOKEN
все еще действителен (срок действия которого не истек).
// Ini adalah 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 );
// Cek hasil response berhasil atau tidak
echo json_encode ( $ response );
//Tipe rate : bn, e-rate, tt, tc
$ rateType = ' e-rate ' ;
$ mataUang = ' usd ' ;
$ response = $ bca -> getForexRate ( $ token , $ rateType , $ mataUang );
// Cek hasil response berhasil atau tidak
echo json_encode ( $ response );
$ latitude = ' -6.1900718 ' ;
$ longitude = ' 106.797190 ' ;
$ totalAtmShow = ' 10 ' ;
$ radius = ' 20 ' ;
$ response = $ bca -> getAtmLocation ( $ token , $ latitude , $ longitude , $ totalAtmShow , $ radius );
// Cek hasil response berhasil atau tidak
echo json_encode ( $ response );
Убедитесь, что вы получили значение TOKEN
и что TOKEN
все еще действителен (срок действия которого не истек).
// Ini adalah nilai token yang dihasilkan saat login
$ token = " MvXPqa5bQs5U09Bbn8uejBE79BjI3NNCwXrtMnjdu52heeZmw9oXgB " ;
$ response = $ bca -> getDepositRate ( $ token );
// Cek hasil response berhasil atau tidak
echo json_encode ( $ response );
Когда полезно для целей тестирования.
$ secret = " NILAI-SECRET-ANDA " ;
// Ini adalah 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 BcaHttp:: generateSign ( $ uriSign , $ token , $ secret , $ isoTime , $ bodyData );
echo $ authSignature ;
Для проведения тестирования выполните следующую command
composer run-script test
Или используйте PHPUnit
vendor/bin/phpunit --verbose --coverage-text
Для примера командной строки:
git remote add fork [email protected]: $USER /php-bca.git # Tambahkan fork pada remote, $USER adalah username GitHub anda
Например:
git remote add fork [email protected]:johndoe/php-bca.git
branch
функций следующим образом. git checkout -b feature/my-new-feature origin/develop
Reformat kode
, используя Руководство по стилю кодирования PSR-2.git commit -am ' Menambahkan fitur A..B..C..D '
Push
на созданную ветку git push fork feature/my-new-feature
Лицензия MIT
Авторские права (c) 2017 odenktools
Настоящим бесплатно любому лицу, получившему копию этого программного обеспечения и связанных с ним файлов документации («Программное обеспечение»), предоставляется разрешение на работу с Программным обеспечением без ограничений, включая, помимо прочего, права на использование, копирование, изменение, объединение. публиковать, распространять, сублицензировать и/или продавать копии Программного обеспечения, а также разрешать лицам, которым предоставлено Программное обеспечение, делать это при соблюдении следующих условий:
Вышеупомянутое уведомление об авторских правах и данное уведомление о разрешении должны быть включены во все копии или существенные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ЦЕННОСТИ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ОБЛАДАТЕЛИ АВТОРСКИХ ПРАВ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ДРУГУЮ ОТВЕТСТВЕННОСТЬ, БУДЬ В ДЕЙСТВИЯХ ПО КОНТРАКТУ, ПРАВОНАРУШЕНИЮ ИЛИ ДРУГИМ ОБРАЗОМ, ВОЗНИКАЮЩИЕ ОТ, ИЗ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ, ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.