PHP code example of fidele007 / bakong-khqr-php
1. Go to this page and download the library: Download fidele007/bakong-khqr-php library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
fidele007 / bakong-khqr-php example snippets
use KHQR\BakongKHQR;
use KHQR\Helpers\KHQRData;
use KHQR\Models\IndividualInfo;
$individualInfo = new IndividualInfo(
bakongAccountID: 'jonhsmith@nbcq',
merchantName: 'Jonh Smith',
merchantCity: 'PHNOM PENH',
currency: KHQRData::CURRENCY_KHR,
amount: 500,
expirationTimestamp: strval(floor(microtime(true) * 1000) + 60 * 1000) // Expire in 1 minute
);
var_dump(BakongKHQR::generateIndividual($individualInfo));
use KHQR\BakongKHQR;
use KHQR\Models\MerchantInfo;
$merchantInfo = new MerchantInfo(
bakongAccountID: 'jonhsmith@nbcq',
merchantName: 'Jonh Smith',
merchantCity: 'Siem Reap',
merchantID: '123456',
acquiringBank: 'Dev Bank',
mobileNumber: '85512345678',
);
var_dump(BakongKHQR::generateMerchant($merchantInfo));
$result = BakongKHQR::decode('00020101021229190015john_smith@devb52045999530311654065000.05802KH5910jonh smith6010Phnom Penh62360109#INV-20030313Coffee Klaing0702#299170013161302797275763049ACF');
var_dump($result);
$result = BakongKHQR::decodeNonKhqr('00020101021229190015john_smith@devb52045999530311654065000.05802KH5910jonh smith6010Phnom Penh62360109#INV-20030313Coffee Klaing0702#299170013161302797275763049ACF');
var_dump($result);
$result = BakongKHQR::verify('00020101021229180014jonhsmith@nbcq520459995303116540750000.05802KH5910Jonh Smith6010Phnom Penh62150211855123456789917001316257134678276304A96B');
var_dump($result);
$sourceInfo = new SourceInfo(
appIconUrl: 'https://bakong.nbc.gov.kh/images/logo.svg',
appName: 'Bakong',
appDeepLinkCallback: 'https://bakong.nbc.gov.kh'
);
$result = BakongKHQR::generateDeepLink('00020101021229190015john_smith@devb5204599953038405405100.05802KH5910John Smith6010Phnom Penh6304BF30', $sourceInfo);
var_dump($result);
$sourceInfo = new SourceInfo(
appIconUrl: 'https://bakong.nbc.gov.kh/images/logo.svg',
appName: 'Bakong',
appDeepLinkCallback: 'https://bakong.nbc.gov.kh'
);
$result = BakongKHQR::generateDeepLinkWithUrl('https://sit-api-bakong.nbc.gov.kh/v1/generate_deeplink_by_qr', '00020101021229190015john_smith@devb5204599953038405405100.05802KH5910John Smith6010Phnom Penh993400131742249567316011317422496273166304B418', $sourceInfo);
var_dump($result);
$result = BakongKHQR::checkBakongAccount('dave@devb');
var_dump($result);
$result = BakongKHQR::checkBakongAccountWithUrl('https://sit-api-bakong.nbc.gov.kh', 'dave@devb');
var_dump($result);
$result = BakongKHQR::isExpiredToken('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...');
$result = BakongKHQR::renewToken('[email protected] ');
var_dump($result);
$bakongKhqr = new BakongKHQR('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...');
$response = $bakongKhqr->checkTransactionByMD5('d60f3db96913029a2af979a1662c1e72');
$response = $bakongKhqr->checkTransactionByMD5List([
'0dbe08d3829a8b6b59844e51aa38a4e2',
'7b0e5c36486d7155eb3ee94997fe9bfb',
'e12b3ecc4c066405ce05cd8cacab884c',
]);
$response = $bakongKhqr->checkTransactionByFullHash('dcd53430d3b3005d9cda36f1fe8dedc3714ccf18f886cf5d090d36fee67ef956');
$response = $bakongKhqr->checkTransactionByFullHashList([
'f0ae142842181535e678900bc5be1c3bd48d567ced77410a169fb672792968c8',
'd3b42e35d618a42b7506a79564083e6e91d5383b63f8aa2cf2ca7e65d55ec858',
'9036688e95cb3d1b621a9a989ebe64629d8c118654cfbc47f4d4991d72fc3b44',
]);
$response = $bakongKhqr->checkTransactionByShortHash('8465d722', 1.0, 'USD');
$response = $bakongKhqr->checkTransactionByInstructionReference('00001234');
$response = $bakongKhqr->checkTransactionByExternalReference('DEV123456ZTH');
// ignore the SSL certificate
curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER,false);
shell
composer
shell
object(KHQR\Models\KHQRResponse)#19 (2) {
["status"]=>
array(3) {
["code"]=>
int(0)
["errorCode"]=>
NULL
["message"]=>
NULL
}
["data"]=>
array(2) {
["qr"]=>
string(152) "00020101021130400014jonhsmith@nbcq01061234560208Dev Bank5204599953031165802KH5910Jonh Smith6009Siem Reap621502118551234567863048C75"
["md5"]=>
string(32) "3a1d545dfba97b39817bf43337e621ec"
}
}
shell
object(KHQR\Models\KHQRResponse)#2 (2) {
["status"]=>
array(3) {
["code"]=>
int(0)
["errorCode"]=>
NULL
["message"]=>
NULL
}
["data"]=>
array(12) {
["00"]=>
string(2) "01"
["01"]=>
string(2) "12"
[29]=>
array(1) {
["00"]=>
string(15) "john_smith@devb"
}
[52]=>
string(4) "5999"
[53]=>
string(3) "116"
[54]=>
string(6) "5000.0"
[58]=>
string(2) "KH"
[59]=>
string(10) "jonh smith"
[60]=>
string(10) "Phnom Penh"
[62]=>
array(3) {
["01"]=>
string(9) "#INV-2003"
["03"]=>
string(13) "Coffee Klaing"
["07"]=>
string(2) "#2"
}
[99]=>
array(1) {
["00"]=>
string(13) "1613027972757"
}
[63]=>
string(4) "9ACF"
}
}
shell
object(KHQR\Models\KHQRResponse)#16 (2) {
["status"]=>
array(3) {
["code"]=>
int(0)
["errorCode"]=>
NULL
["message"]=>
NULL
}
["data"]=>
array(1) {
["bakongAccountExists"]=>
bool(false)
}
}
shell
object(KHQR\Models\KHQRResponse)#16 (2) {
["status"]=>
array(3) {
["code"]=>
int(0)
["errorCode"]=>
NULL
["message"]=>
NULL
}
["data"]=>
array(1) {
["bakongAccountExists"]=>
bool(false)
}
}
shell
array(4) {
["responseCode"]=>
int(0)
["responseMessage"]=>
string(21) "Token has been issued"
["errorCode"]=>
NULL
["data"]=>
array(1) {
["token"]=>
string(172) "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
}