Package for Malaysia DuitNow Online Banking/Wallet Payment
You can install the package via composer:
composer require zarulizham/laravel-duitnow
You can publish and run the migrations with:
php artisan vendor:publish --tag="duitnow-migrations"
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --tag="duitnow-config"
You can publish the controller file with:
php artisan vendor:publish --tag="duitnow-controller"
This is the contents of the published config file:
return [
'url' => env('DUITNOW_URL'),
'client_id' => env('DUITNOW_CLIENT_ID'),
'product_id' => env('DUITNOW_PRODUCT_ID'),
'client_secret' => env('DUITNOW_CLIENT_SECRET'),
'merchant_id' => env('DUITNOW_MERCHANT_ID'),
'x_signature_key' => env('DUITNOW_X_SIGNATURE_KEY'),
'token_expiry' => env('DUITNOW_TOKEN_EXPIRY', 3600),
'bank_cache' => env('DUITNOW_BANK_CACHE', 43200), # 12 hours
'merchant_name' => env('DUITNOW_MERCHANT_NAME'),
'account_type' => env('DUITNOW_MERCHANT_ACCOUNT_TYPE'),
'source_of_funds' => [
"01"
],
'certificates' => [
'uat' => [
'disk' => 'local',
'dir' => 'paynet/duitnow/',
],
'production' => [
'disk' => 'local',
'dir' => 'paynet/duitnow/',
]
],
'direct_path' => env('DUITNOW_DIRECT_PATH'),
'callback_path' => env('DUITNOW_CALLBACK_PATH'),
];
Optionally, you can publish the views using
php artisan vendor:publish --tag="duitnow-views"
$duitNowPayment = new DuitNowPayment();
$bankInfo = explode('|', $request->bank);
$bankId = $bankInfo[0];
$bankType = $bankInfo[1];
$redirectUrl = $duitNowPayment->initiatePayment(10, "Zarul Zubir", $bankType, "Ref: " . rand(100, 200), $bankId, 'A1000001');
This major upgrade add column on transaction table to allow morphing.
Run `php artisan vendor:publish --tag=duitnow-v2-migration`
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.