PHP code example of nicepay / php-nicepay
1. Go to this page and download the library: Download nicepay/php-nicepay 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/ */
nicepay / php-nicepay example snippets
$timestamp = Helper::getFormattedDate();
$config = NICEPay::builder()
->setIsProduction(false) //
->setPrivateKey('MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAInJe1G22R2fMchIE6BjtYRqyMj6lurP/zq6vy79WaiGKt0Fxs4q3Ab4ifmOXd97ynS5f0JRfIqakXDcV/e2rx9bFdsS2HORY7o5At7D5E3tkyNM9smI/7dk8d3O0fyeZyrmPMySghzgkR3oMEDW1TCD5q63Hh/oq0LKZ/4Jjcb9AgMBAAECgYA4Boz2NPsjaE+9uFECrohoR2NNFVe4Msr8/mIuoSWLuMJFDMxBmHvO+dBggNr6vEMeIy7zsF6LnT32PiImv0mFRY5fRD5iLAAlIdh8ux9NXDIHgyera/PW4nyMaz2uC67MRm7uhCTKfDAJK7LXqrNVDlIBFdweH5uzmrPBn77foQJBAMPCnCzR9vIfqbk7gQaA0hVnXL3qBQPMmHaeIk0BMAfXTVq37PUfryo+80XXgEP1mN/e7f10GDUPFiVw6Wfwz38CQQC0L+xoxraftGnwFcVN1cK/MwqGS+DYNXnddo7Hu3+RShUjCz5E5NzVWH5yHu0E0Zt3sdYD2t7u7HSr9wn96OeDAkEApzB6eb0JD1kDd3PeilNTGXyhtIE9rzT5sbT0zpeJEelL44LaGa/pxkblNm0K2v/ShMC8uY6Bbi9oVqnMbj04uQJAJDIgTmfkla5bPZRR/zG6nkf1jEa/0w7i/R7szaiXlqsIFfMTPimvRtgxBmG6ASbOETxTHpEgCWTMhyLoCe54WwJATmPDSXk4APUQNvX5rr5OSfGWEOo67cKBvp5Wst+tpvc6AbIJeiRFlKF4fXYTb6HtiuulgwQNePuvlzlt2Q8hqQ==')
->setClientSecret('33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A==')
->setPartnerId('IONPAYTEST')
->setExternalID("randUniqueId1234")
->setTimestamp($timestamp)
->isRetryFlag(true) // default false
->setRetryCount(4) // default 1
->build();
$tokenBody = AccessToken::builder()
->setGrantType('client_credentials')
->setAdditionalInfo([])
->build();
$snap = new Snap($config); // check 2.1 to set up $config
try {
$response = $snap->requestSnapAccessToken($tokenBody);
// Get access token
$accessToken = $response->getAccessToken();
} catch (NicepayError $e) {
$this->fail("Exception thrown: " . $e->getMessage());
}
$parameter = VirtualAccount::builder()
->setPartnerServiceId("")
->setCustomerNo("")
->setVirtualAccountNo("")
->setVirtualAccountName("Nicepay PHP Test")
->setTrxId("ordNo" . $timestamp)
->setTotalAmount('10000.00', 'IDR')
->setAdditionalInfo([
'bankCd' => 'BMRI',
'goodsNm' => 'Test',
'dbProcessUrl' => 'https://nicepay.co.id/',
])
->build();
$accessToken = ""; // Check 2.2.1.1 for step to get access token
$snapVAService = new SnapVAService($config);
try {
$response = $snapVAService->generateVA($parameter, $accessToken);
} catch (NicepayError $e) {
$this->fail("Exception thrown: " . $e->getMessage());
}
$timestamp = Helper::getFormattedTimestampV2();
$config = NICEPay::builder()
->setIsProduction(false)
->setRetryFlag(true)
->setRetryCount(4)
->build();
$reffNo = "ordNo".$timestamp;
$amount = "100";
$virtualAccountBuilder = VirtualAccount::builder();
// For Merchant token setter the args is (TIMESTAMP, IMID, REFFNO, AMOUNT, MERCHANT_KEY)
$parameter = $virtualAccountBuilder
->setTimeStamp($timestamp)
->setIMid("IONPAYTEST")
->setPayMethod("02")
->setCurrency("IDR")
->setBankCd("CENA")
->setAmt("100")
->setReferenceNo($reffNo)
->setMerchantToken($timestamp, "IONPAYTEST", $reffNo, $amount, "")
->setVacctValidDt("20251004")
->setVacctValidTm("101010")
->setMerFixAcctId("")
->setDbProcessUrl("https://webhook.site/7c2d47f6-557b-4b85-b91a-ad3b6182b10c")
->setGoodsNm("Test VA V2 PHP")
->setCartData("{}")
->setBillingNm("Nicepay php native")
->setBillingPhone("081534567890")
->setBillingEmail("[email protected] ")
->setBillingAddr("Jln. Raya Kasablanka Kav.88")
->setBillingCity("South Jakarta")
->setBillingState("DKI Jakarta")
->setBillingPostCd("15119")
->setBillingCountry("Indonesia")
->build();
$v2VaService = new V2VAService($config);
try {
$response = $v2VaService->registration($parameter);
} catch (NicepayError $e) {
$this->assertTrue(true, "Exmessage: ception thrown: " . $e->getMessage());
}
$config = NICEPay::builder()
->setIsProduction(false) // Dev
->build();
$parameter = Card::builder()
->timeStamp($timestamp)
->iMid($iMid)
->tXid($tXid) // tXid transaction to do payment process
->referenceNo($referenceNo)
->merchantToken($timestamp, $iMid, $referenceNo, $amount, $merchantKey)
->cardNo(TestConst::$CARD_NO) // CARD DATA
->cardExpYymm(TestConst::$CARD_EXP_YYMM) // CARD DATA
->cardCvv(TestConst::$CARD_CVV) // CARD DATA
->cardHolderNm("Nicepay test")
->callBackUrl("https://x.com")
->build();
try {
$cardService = new V2CardService($config);
$response = $cardService->payment($parameter);
} catch (Exception $exception) {
}
use Nicepay\utils\Helper;
$signatureString = "VoxMPjbcV9pro4YyHGQgoRj4rDVJgYk2Ecxn+95B90w47Wnabtco35BfhGpR7a5RukUNnAdeOEBNczSFk4B9uYyu3jc+ceX+Dvz5OYSgSnw5CiMHtGiVnTAqCM/yHZ2MRpIEqekBc4BWMLVtexSWp0YEJjLyo9dZPrSkSbyLVuD7jkUbvmEpVdvK0uK15xb8jueCcDA6LYVXHkq/OMggS1/5mrLNriBhCGLuR7M7hBUJbhpOXSJJEy7XyfItTBA+3MRC2FLcvUpMDrn/wz1uH1+b9A6FP7mG0bRSBOm2BTLyf+xJR5+cdd88RhF70tNQdQxhqr4okVo3IFqlCz2FFg==";
$dataString = "TNICEVA023|2024-08-19T17:12:40+07:00";
$publicKeyString = TestConst::$PUBLIC_KEY;
$isVerify = Helper::verifySHA256RSA($dataString, $publicKeyString, $signatureString);
use Nicepay\utils\EnvLoader;
EnvLoader::load(__DIR__ . '/.env');
if (getenv('APP_ENV') === 'local') {
echo "Running in local environment";
}
json
{
"pay/nicepay-php": "dev-master"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/nicepay-dev/php-nicepay"
}
],
}
bash
composer