laravel-duitku maintained by adityadarma
Description
Library payment gateway duitku for laravel
Author
Last update
2026/06/04 03:40
(dev-main)
License
Downloads
726
Laravel Duitku
Laravel Duitku is package to provide payment gateway Duitku.
Laravel Installation Instructions
-
From your projects root folder in terminal run:
composer require adityadarma/laravel-duitku -
Install config:
php artisan duitku:install
Configuration
Laravel Duitku can be configured in directly in /config/duitku.php. Add variables to your .env file.
Environment File
Here are the .env file variables available:
DUITKU_ENV=development
DUITKU_MERCHANT_CODE=xxxxxxx
DUITKU_API_KEY=xxxxxx
DUITKU_CALLBACK_URL=https://example.com/callback
DUITKU_RETURN_URL=https://example.com/return
Usage API
Get Payment Method
example:
use AdityaDarma\LaravelDuitku\Facades\DuitkuAPI;
$listPayments = DuitkuAPI::getPaymentMethod(1000000);
Create Payment
example:
use AdityaDarma\LaravelDuitku\Facades\DuitkuAPI;
DuitkuAPI::createTransaction([
'merchantOrderId' => 10000,
'customerVaName' => 'Aditya Darma',
'email' => 'email@example.com',
'paymentAmount' => 100000,
'paymentMethod' => 'VC',
'productDetails' => 'Buy Company',
'expiryPeriod' => 10, // optional (minute)
'phoneNumber' => '08123456789', // optional
'itemDetails' => [ // optional
[
'name' => 'Test Item 1',
'price' => 10000,
'quantity' => 1
],[
'name' => 'Test Item 2',
'price' => 10000,
'quantity' => 1
]
],
'customerDetail' => [ // optional
'firstName' => 'Aditya',
'lastName' => 'Darma',
'email' => 'email@example.com',
'phoneNumber' => $phoneNumber,
'billingAddress' => $address,
'shippingAddress' => $address
],
'additionalParam' => '', // optional
'merchantUserInfo' => '', // optional
]);
Check Transaction
example:
use AdityaDarma\LaravelDuitku\Facades\DuitkuAPI;
DuitkuAPI::checkTransactionStatus(1000000);
Handle Callback Transaction
example:
use AdityaDarma\LaravelDuitku\Facades\DuitkuAPI;
$payment = DuitkuAPI::getNotificationTransaction();
Usage POP
Create Payment
example:
use AdityaDarma\LaravelDuitku\Facades\DuitkuPOP;
DuitkuPOP::createTransaction([
'merchantOrderId' => 10000,
'customerVaName' => 'Aditya Darma',
'email' => 'email@example.com',
'paymentAmount' => 100000,
'productDetails' => 'Buy Company',
'expiryPeriod' => 10, // optional (minute)
'phoneNumber' => '08123456789', // optional
'itemDetails' => [ // optional
[
'name' => 'Test Item 1',
'price' => 10000,
'quantity' => 1
],[
'name' => 'Test Item 2',
'price' => 10000,
'quantity' => 1
]
],
'customerDetail' => [ // optional
'firstName' => 'Aditya',
'lastName' => 'Darma',
'email' => 'email@example.com',
'phoneNumber' => $phoneNumber,
'billingAddress' => $address,
'shippingAddress' => $address
],
'additionalParam' => '', // optional
'merchantUserInfo' => '', // optional
]);
Modal Pop Up Duitku JS
- Production
<script src="https://app-prod.duitku.com/lib/js/duitku.js"></script>
- Sandbox
<script src="https://app-sandbox.duitku.com/lib/js/duitku.js"></script>
- Implement
checkout.process("DXXXXS875LXXXX32IJZ7", {
defaultLanguage: "id", //optional
successEvent: function(result){
console.log(result);
alert('Payment Success');
},
pendingEvent: function(result){
console.log(result);
alert('Payment Pending');
},
errorEvent: function(result){
console.log(result);
alert('Payment Error');
},
closeEvent: function(result){
console.log(result);
alert('customer closed the popup without finishing the payment');
}
});
Handle Callback Transaction
example:
use AdityaDarma\LaravelDuitku\Facades\DuitkuPOP;
$payment = DuitkuPOP::getNotificationTransaction();
License
This Package is licensed under the MIT license. Enjoy!