adityadarma / laravel-duitku
Library payment gateway duitku for laravel
1.0.9
2025-03-10 01:24 UTC
Requires
- php: ^8.1
- laravel/framework: ^9.0|^10.0|^11.0
README
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!