forked from kevinowino869/mitrobill
change to pg- and add duitku
This commit is contained in:
45
system/autoload/PGDuitku.php
Normal file
45
system/autoload/PGDuitku.php
Normal file
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
|
||||
/**
|
||||
* PHP Mikrotik Billing (https://ibnux.github.io/phpmixbill/)
|
||||
*
|
||||
* Payment Gateway duitku.com
|
||||
**/
|
||||
|
||||
class PGDuitku
|
||||
{
|
||||
protected $user;
|
||||
protected $trx;
|
||||
|
||||
public function __construct($trx, $user)
|
||||
{
|
||||
$this->user = $user;
|
||||
$this->trx = $trx;
|
||||
}
|
||||
|
||||
function getSignature($amount,$datetime)
|
||||
{
|
||||
global $_c;
|
||||
return hash('sha256', $_c['duitku_merchant_id'] . $amount . $datetime . $_c['duitku_merchant_key']);
|
||||
}
|
||||
|
||||
|
||||
function createTransaction($channel)
|
||||
{
|
||||
}
|
||||
|
||||
function getStatus($trxID)
|
||||
{
|
||||
}
|
||||
|
||||
private function getServer()
|
||||
{
|
||||
global $_app_stage;
|
||||
if ($_app_stage == 'Live') {
|
||||
return 'https://passport.duitku.com/webapi/api/merchant/';
|
||||
} else {
|
||||
return 'https://sandbox.duitku.com/webapi/api/merchant/';
|
||||
}
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ class PGTripay
|
||||
return hash_hmac('sha256', $_c['tripay_merchant'] . $this->trx['id'] . $this->trx['price'], $_c['tripay_secret_key']);
|
||||
}
|
||||
|
||||
function createTransaction($channel) //$trxID, $channel, $amount, $user, $description)
|
||||
function createTransaction($channel)
|
||||
{
|
||||
global $_c;
|
||||
$json = [
|
||||
|
@ -13,7 +13,7 @@ switch ($action) {
|
||||
case 'xendit':
|
||||
$ui->assign('_title', 'Xendit - Payment Gateway - '. $config['CompanyName']);
|
||||
$ui->assign('channels', json_decode(file_get_contents('system/paymentgateway/channel_xendit.json'), true));
|
||||
$ui->display('app-xendit.tpl');
|
||||
$ui->display('pg-xendit.tpl');
|
||||
break;
|
||||
case 'xendit-post':
|
||||
$xendit_secret_key = _post('xendit_secret_key');
|
||||
@ -56,7 +56,7 @@ switch ($action) {
|
||||
case 'midtrans':
|
||||
$ui->assign('_title', 'Midtrans - Payment Gateway - '. $config['CompanyName']);
|
||||
$ui->assign('channels', json_decode(file_get_contents('system/paymentgateway/channel_midtrans.json'), true));
|
||||
$ui->display('app-midtrans.tpl');
|
||||
$ui->display('pg-midtrans.tpl');
|
||||
break;
|
||||
case 'midtrans-post':
|
||||
$midtrans_merchant_id = _post('midtrans_merchant_id');
|
||||
@ -110,7 +110,7 @@ switch ($action) {
|
||||
case 'tripay':
|
||||
$ui->assign('_title', 'Tripay - Payment Gateway - '. $config['CompanyName']);
|
||||
$ui->assign('channels', json_decode(file_get_contents('system/paymentgateway/channel_tripay.json'), true));
|
||||
$ui->display('app-tripay.tpl');
|
||||
$ui->display('pg-tripay.tpl');
|
||||
break;
|
||||
case 'tripay-post':
|
||||
$tripay_merchant = _post('tripay_merchant');
|
||||
@ -161,4 +161,50 @@ switch ($action) {
|
||||
|
||||
r2(U . 'paymentgateway/tripay', 's', $_L['Settings_Saved_Successfully']);
|
||||
break;
|
||||
case 'duitku':
|
||||
$ui->assign('_title', 'Duitku - Payment Gateway - '. $config['CompanyName']);
|
||||
$ui->assign('channels', json_decode(file_get_contents('system/paymentgateway/channel_duitku.json'), true));
|
||||
$ui->display('pg-duitku.tpl');
|
||||
break;
|
||||
case 'duitku-post':
|
||||
$duitku_merchant_id = _post('duitku_merchant_id');
|
||||
$duitku_merchant_key = _post('duitku_merchant_key');
|
||||
$d = ORM::for_table('tbl_appconfig')->where('setting', 'duitku_merchant_id')->find_one();
|
||||
if($d){
|
||||
$d->value = $duitku_merchant_id;
|
||||
$d->save();
|
||||
}else{
|
||||
$d = ORM::for_table('tbl_appconfig')->create();
|
||||
$d->setting = 'duitku_merchant_id';
|
||||
$d->value = $duitku_merchant_id;
|
||||
$d->save();
|
||||
}
|
||||
$d = ORM::for_table('tbl_appconfig')->where('setting', 'duitku_merchant_key')->find_one();
|
||||
if($d){
|
||||
$d->value = $duitku_merchant_key;
|
||||
$d->save();
|
||||
}else{
|
||||
$d = ORM::for_table('tbl_appconfig')->create();
|
||||
$d->setting = 'duitku_merchant_key';
|
||||
$d->value = $duitku_merchant_key;
|
||||
$d->save();
|
||||
}
|
||||
|
||||
$d = ORM::for_table('tbl_appconfig')->where('setting', 'duitku_channel')->find_one();
|
||||
if($d){
|
||||
$d->value = implode(',',$_POST['duitku_channel']);
|
||||
$d->save();
|
||||
}else{
|
||||
$d = ORM::for_table('tbl_appconfig')->create();
|
||||
$d->setting = 'duitku_channel';
|
||||
$d->value = implode(',',$_POST['duitku_channel']);
|
||||
$d->save();
|
||||
}
|
||||
|
||||
_log('[' . $admin['username'] . ']: Duitku ' . $_L['Settings_Saved_Successfully'], 'Admin', $admin['id']);
|
||||
|
||||
r2(U . 'paymentgateway/duitku', 's', $_L['Settings_Saved_Successfully']);
|
||||
break;
|
||||
default:
|
||||
$ui->display('a404.tpl');
|
||||
}
|
||||
|
98
system/paymentgateway/channel_duitku.json
Normal file
98
system/paymentgateway/channel_duitku.json
Normal file
@ -0,0 +1,98 @@
|
||||
[
|
||||
{
|
||||
"id": "BC",
|
||||
"name": "BCA"
|
||||
},
|
||||
{
|
||||
"id": "M2",
|
||||
"name": "Mandiri"
|
||||
},
|
||||
{
|
||||
"id": "VA",
|
||||
"name": "Maybank"
|
||||
},
|
||||
{
|
||||
"id": "I1",
|
||||
"name": "BNI"
|
||||
},
|
||||
{
|
||||
"id": "MANDIRIVA",
|
||||
"name": "Mandiri"
|
||||
},
|
||||
{
|
||||
"id": "B1",
|
||||
"name": "CIMB Niaga"
|
||||
},
|
||||
{
|
||||
"id": "BT",
|
||||
"name": "Permata Bank"
|
||||
},
|
||||
{
|
||||
"id": "A1",
|
||||
"name": "ATM Bersama"
|
||||
},
|
||||
{
|
||||
"id": "AG",
|
||||
"name": "Artha Graha"
|
||||
},
|
||||
{
|
||||
"id": "NC",
|
||||
"name": "Bank Neo Commerce/BNC"
|
||||
},
|
||||
{
|
||||
"id": "BR",
|
||||
"name": "BRIVA"
|
||||
},
|
||||
{
|
||||
"id": "S1",
|
||||
"name": "Bank Sahabat Sampoerna"
|
||||
},
|
||||
{
|
||||
"id": "OV",
|
||||
"name": "OVO"
|
||||
},
|
||||
{
|
||||
"id": "SA",
|
||||
"name": "Shopee Pay"
|
||||
},
|
||||
{
|
||||
"id": "LF",
|
||||
"name": "LinkAja Apps (Fixed Fee)"
|
||||
},
|
||||
{
|
||||
"id": "LA",
|
||||
"name": "LinkAja Apps (Percentage Fee)"
|
||||
},
|
||||
{
|
||||
"id": "DA",
|
||||
"name": "DANA"
|
||||
},
|
||||
{
|
||||
"id": "SP",
|
||||
"name": "QRIS Shopee Pay"
|
||||
},
|
||||
{
|
||||
"id": "LQ",
|
||||
"name": "QRIS LinkAja"
|
||||
},
|
||||
{
|
||||
"id": "NQ",
|
||||
"name": "QRIS Nobu"
|
||||
},
|
||||
{
|
||||
"id": "FT",
|
||||
"name": "Pegadaian/ALFA/Pos"
|
||||
},
|
||||
{
|
||||
"id": "A2",
|
||||
"name": "POS Indonesia"
|
||||
},
|
||||
{
|
||||
"id": "IR",
|
||||
"name": "Indomaret"
|
||||
},
|
||||
{
|
||||
"id": "VC",
|
||||
"name": "Credit Card (Visa / Master Card / JCB)"
|
||||
}
|
||||
]
|
@ -1,82 +1,66 @@
|
||||
[
|
||||
{
|
||||
"id": "credit_card",
|
||||
"name": "Credit Card",
|
||||
"min": 10000
|
||||
"name": "Credit Card"
|
||||
},
|
||||
{
|
||||
"id": "bca_va",
|
||||
"name": "BCA",
|
||||
"min": 10000
|
||||
"name": "BCA"
|
||||
},
|
||||
{
|
||||
"id": "permata_va",
|
||||
"name": "Permata",
|
||||
"min": 10000
|
||||
"name": "Permata"
|
||||
},
|
||||
{
|
||||
"id": "bni_va",
|
||||
"name": "BNI",
|
||||
"min": 10000
|
||||
"name": "BNI"
|
||||
},
|
||||
{
|
||||
"id": "bri_va",
|
||||
"name": "BRI",
|
||||
"min": 10000
|
||||
"name": "BRI"
|
||||
},
|
||||
{
|
||||
"id": "echannel",
|
||||
"name": "Mandiri Bill",
|
||||
"min": 10000
|
||||
"name": "Mandiri Bill"
|
||||
},
|
||||
{
|
||||
"id": "gopay",
|
||||
"name": "Gopay",
|
||||
"min": 1000
|
||||
"name": "Gopay"
|
||||
},
|
||||
{
|
||||
"id": "bca_klikbca",
|
||||
"name": "KLIKBCA",
|
||||
"min": 10000
|
||||
"name": "KLIKBCA"
|
||||
},
|
||||
{
|
||||
"id": "bca_klikpay",
|
||||
"name": "BCA KLIKPAY",
|
||||
"min": 10000
|
||||
"name": "BCA KLIKPAY"
|
||||
},
|
||||
{
|
||||
"id": "cimb_clicks",
|
||||
"name": "CIMB Clicks",
|
||||
"min": 10000
|
||||
"name": "CIMB Clicks"
|
||||
},
|
||||
{
|
||||
"id": "danamon_online",
|
||||
"name": "Danamon",
|
||||
"min": 5000
|
||||
"name": "Danamon"
|
||||
},
|
||||
{
|
||||
"id": "bri_epay",
|
||||
"name": "BRImo",
|
||||
"min": 10000
|
||||
"name": "BRImo"
|
||||
},
|
||||
{
|
||||
"id": "indomaret",
|
||||
"name": "Indomaret",
|
||||
"min": 5000
|
||||
"name": "Indomaret"
|
||||
},
|
||||
{
|
||||
"id": "alfamart",
|
||||
"name": "Alfamart",
|
||||
"min": 5000
|
||||
"name": "Alfamart"
|
||||
},
|
||||
{
|
||||
"id": "ShopeePay",
|
||||
"name": "ShopeePay",
|
||||
"min": 1000
|
||||
"name": "ShopeePay"
|
||||
},
|
||||
{
|
||||
"id": "uob_ezpay",
|
||||
"name": "UOB EZ Pay",
|
||||
"min": 1000
|
||||
"name": "UOB EZ Pay"
|
||||
}
|
||||
]
|
||||
|
@ -1,92 +1,74 @@
|
||||
[
|
||||
{
|
||||
"id": "PERMATAVA",
|
||||
"name": "Permata Bank",
|
||||
"min": 10000
|
||||
"name": "Permata Bank"
|
||||
},
|
||||
{
|
||||
"id": "MYBVA",
|
||||
"name": "Maybank",
|
||||
"min": 10000
|
||||
"name": "Maybank"
|
||||
},
|
||||
{
|
||||
"id": "BNIVA",
|
||||
"name": "BNI",
|
||||
"min": 10000
|
||||
"name": "BNI"
|
||||
},
|
||||
{
|
||||
"id": "BRIVA",
|
||||
"name": "BRI",
|
||||
"min": 10000
|
||||
"name": "BRI"
|
||||
},
|
||||
{
|
||||
"id": "MANDIRIVA",
|
||||
"name": "Mandiri",
|
||||
"min": 10000
|
||||
"name": "Mandiri"
|
||||
},
|
||||
{
|
||||
"id": "BCAVA",
|
||||
"name": "BCA",
|
||||
"min": 10000
|
||||
"name": "BCA"
|
||||
},
|
||||
{
|
||||
"id": "SMSVA",
|
||||
"name": "Sinarmas",
|
||||
"min": 10000
|
||||
"name": "Sinarmas"
|
||||
},
|
||||
{
|
||||
"id": "MUAMALATVA",
|
||||
"name": "Muamalat",
|
||||
"min": 10000
|
||||
"name": "Muamalat"
|
||||
},
|
||||
{
|
||||
"id": "SAMPOERNAVA",
|
||||
"name": "Sahabat Sampoerna",
|
||||
"min": 10000
|
||||
"name": "Sahabat Sampoerna"
|
||||
},
|
||||
{
|
||||
"id": "BSIVA",
|
||||
"name": "BSI",
|
||||
"min": 10000
|
||||
"name": "BSI"
|
||||
},
|
||||
{
|
||||
"id": "ALFAMART",
|
||||
"name": "Alfamart ",
|
||||
"min": 5000
|
||||
"name": "Alfamart "
|
||||
},
|
||||
{
|
||||
"id": "INDOMARET",
|
||||
"name": "Indomaret ",
|
||||
"min": 10000
|
||||
"name": "Indomaret "
|
||||
},
|
||||
{
|
||||
"id": "ALFAMIDI",
|
||||
"name": "Alfamidi ",
|
||||
"min": 5000
|
||||
"name": "Alfamidi "
|
||||
},
|
||||
{
|
||||
"id": "OVO",
|
||||
"name": "OVO",
|
||||
"min": 1000
|
||||
"name": "OVO"
|
||||
},
|
||||
{
|
||||
"id": "QRIS",
|
||||
"name": "QRIS by ShopeePay",
|
||||
"min": 1000
|
||||
"name": "QRIS by ShopeePay"
|
||||
},
|
||||
{
|
||||
"id": "QRISC",
|
||||
"name": "QRIS (Customizable)",
|
||||
"min": 1000
|
||||
"name": "QRIS (Customizable)"
|
||||
},
|
||||
{
|
||||
"id": "QRIS2",
|
||||
"name": "QRIS",
|
||||
"min": 1000
|
||||
"name": "QRIS"
|
||||
},
|
||||
{
|
||||
"id": "SHOPEEPAY",
|
||||
"name": "ShopeePay ",
|
||||
"min": 1000
|
||||
"name": "ShopeePay "
|
||||
}
|
||||
]
|
||||
|
@ -1,82 +1,66 @@
|
||||
[
|
||||
{
|
||||
"id": "CREDIT_CARD",
|
||||
"name": "CREDIT CARD",
|
||||
"min": 10000
|
||||
"name": "CREDIT CARD"
|
||||
},
|
||||
{
|
||||
"id": "PERMATA",
|
||||
"name": "Permata Bank",
|
||||
"min": 10000
|
||||
"name": "Permata Bank"
|
||||
},
|
||||
{
|
||||
"id": "BNI",
|
||||
"name": "BNI",
|
||||
"min": 10000
|
||||
"name": "BNI"
|
||||
},
|
||||
{
|
||||
"id": "BRI",
|
||||
"name": "BRI",
|
||||
"min": 10000
|
||||
"name": "BRI"
|
||||
},
|
||||
{
|
||||
"id": "MANDIRI",
|
||||
"name": "Mandiri",
|
||||
"min": 10000
|
||||
"name": "Mandiri"
|
||||
},
|
||||
{
|
||||
"id": "BCA",
|
||||
"name": "BCA",
|
||||
"min": 10000
|
||||
"name": "BCA"
|
||||
},
|
||||
{
|
||||
"id": "BSI",
|
||||
"name": "BSI",
|
||||
"min": 10000
|
||||
"name": "BSI"
|
||||
},
|
||||
{
|
||||
"id": "DD_BRI",
|
||||
"name": "Direct Debit BRI",
|
||||
"min": 10000
|
||||
"name": "Direct Debit BRI"
|
||||
},
|
||||
{
|
||||
"id": "DD_BCA_KLIKPAY",
|
||||
"name": "Direct Debit BCA KLIKPAY",
|
||||
"min": 10000
|
||||
"name": "Direct Debit BCA KLIKPAY"
|
||||
},
|
||||
{
|
||||
"id": "ALFAMART",
|
||||
"name": "Alfamart ",
|
||||
"min": 5000
|
||||
"name": "Alfamart "
|
||||
},
|
||||
{
|
||||
"id": "INDOMARET",
|
||||
"name": "Indomaret ",
|
||||
"min": 10000
|
||||
"name": "Indomaret "
|
||||
},
|
||||
{
|
||||
"id": "OVO",
|
||||
"name": "OVO",
|
||||
"min": 1000
|
||||
"name": "OVO"
|
||||
},
|
||||
{
|
||||
"id": "DANA",
|
||||
"name": "DANA",
|
||||
"min": 1000
|
||||
"name": "DANA"
|
||||
},
|
||||
{
|
||||
"id": "LINKAJA",
|
||||
"name": "LinkAja",
|
||||
"min": 1000
|
||||
"name": "LinkAja"
|
||||
},
|
||||
{
|
||||
"id": "SHOPEEPAY",
|
||||
"name": "ShopeePay ",
|
||||
"min": 1000
|
||||
"name": "ShopeePay "
|
||||
},
|
||||
{
|
||||
"id": "QRIS",
|
||||
"name": "QRIS",
|
||||
"min": 1000
|
||||
"name": "QRIS"
|
||||
}
|
||||
]
|
||||
|
@ -7,8 +7,8 @@ if(php_sapi_name() !== 'cli'){
|
||||
die("RUN ON COMMAND LINE ONLY BY RADIUS ENGINE");
|
||||
}
|
||||
|
||||
require('config.php');
|
||||
require('orm.php');
|
||||
require(__DIR__.'/config.php');
|
||||
require(__DIR__.'/orm.php');
|
||||
|
||||
use PEAR2\Net\RouterOS;
|
||||
require_once 'autoload/PEAR2/Autoload.php';
|
||||
|
Reference in New Issue
Block a user