diff --git a/system/install/phpmixbill.sql b/system/install/phpmixbill.sql index e5df3801..1663ad92 100644 --- a/system/install/phpmixbill.sql +++ b/system/install/phpmixbill.sql @@ -131,8 +131,8 @@ CREATE TABLE `routers` varchar(32) COLLATE utf8mb4_general_ci NOT NULL, `price` varchar(40) COLLATE utf8mb4_general_ci NOT NULL, `pg_url_payment` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', - `payment_method` varchar(32) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', - `payment_channel` varchar(32) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `payment_method` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `payment_channel` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', `pg_request` text COLLATE utf8mb4_general_ci, `pg_paid_response` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci, `expired_date` datetime DEFAULT NULL, @@ -227,7 +227,7 @@ CREATE TABLE `recharged_on` date NOT NULL, `expiration` date NOT NULL, `time` time NOT NULL, - `method` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `method` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `routers` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `type` enum('Hotspot', 'PPPOE') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci; @@ -271,7 +271,7 @@ CREATE TABLE `expiration` date NOT NULL, `time` time NOT NULL, `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `method` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `method` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `routers` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `type` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci; diff --git a/system/install/update.php b/system/install/update.php index eeb7df49..58a838c8 100644 --- a/system/install/update.php +++ b/system/install/update.php @@ -92,10 +92,10 @@ echo "ALTER TABLE `tbl_routers` CHANGE `description` `description` VARCHAR(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL;"; $dbh->exec("ALTER TABLE `tbl_routers` CHANGE `description` `description` VARCHAR(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL;"); - echo "ALTER TABLE `tbl_user_recharges` CHANGE `method` `method` VARCHAR(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '';\n\n"; - $dbh->exec("ALTER TABLE `tbl_user_recharges` CHANGE `method` `method` VARCHAR(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '';"); - echo "ALTER TABLE `tbl_transactions` CHANGE `method` `method` VARCHAR(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;\n\n"; - $dbh->exec("ALTER TABLE `tbl_transactions` CHANGE `method` `method` VARCHAR(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;"); + echo "ALTER TABLE `tbl_user_recharges` CHANGE `method` `method` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '';\n\n"; + $dbh->exec("ALTER TABLE `tbl_user_recharges` CHANGE `method` `method` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '';"); + echo "ALTER TABLE `tbl_transactions` CHANGE `method` `method` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;\n\n"; + $dbh->exec("ALTER TABLE `tbl_transactions` CHANGE `method` `method` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;"); echo "Success update database for new system Back To Home"; }catch(PDOException $ex){ echo "Error Failed to connect to database: ".$ex->getMessage()."\n"; diff --git a/system/paymentgateway/tripay.php b/system/paymentgateway/tripay.php index 20d3d394..3faff6b1 100644 --- a/system/paymentgateway/tripay.php +++ b/system/paymentgateway/tripay.php @@ -78,7 +78,7 @@ function tripay_save_config() } -function tripay_create_transaction($channel, $trx, $user) +function tripay_create_transaction($trx, $user) { global $config, $routes, $ui; $channels = json_decode(file_get_contents('system/paymentgateway/channel_tripay.json'), true); @@ -91,7 +91,7 @@ function tripay_create_transaction($channel, $trx, $user) die(); } $json = [ - 'method' => $channel, + 'method' => $routes[4], 'amount' => $trx['price'], 'merchant_ref' => $trx['id'], 'customer_name' => $user['fullname'], @@ -128,7 +128,7 @@ function tripay_create_transaction($channel, $trx, $user) function tripay_get_status($trx, $user) { global $config; - $result = json_decode(Http::getData(tripay_get_server() . 'transaction/detail?' . http_build_query(['reference' => $trx['id']]), [ + $result = json_decode(Http::getData(tripay_get_server() . 'transaction/detail?' . http_build_query(['reference' => $trx['gateway_trx_id']]), [ 'Authorization: Bearer ' . $config['tripay_api_key'] ]), true); if ($result['success'] != 1) { diff --git a/system/paymentgateway/xendit.php b/system/paymentgateway/xendit.php index 9def308d..ed5436ab 100644 --- a/system/paymentgateway/xendit.php +++ b/system/paymentgateway/xendit.php @@ -8,6 +8,14 @@ * Payment Gateway xendit.com **/ +function xendit_validate_config() +{ + global $config; + if (empty($config['xendit_secret_key']) || empty($config['xendit_verification_token'])) { + sendTelegram("Xendit payment gateway not configured"); + r2(U . 'order/package', 'w', Lang::T("Admin has not yet setup Xendit payment gateway, please tell admin")); + } +} function xendit_show_config() { @@ -100,7 +108,7 @@ function xendit_create_transaction($trx, $user) function xendit_get_status($trx, $user) { global $config; - $result = json_decode(Http::getData(xendit_get_server() . 'invoices/' . $trx['id'], [ + $result = json_decode(Http::getData(xendit_get_server() . 'invoices/' . $trx['gateway_trx_id'], [ 'Authorization: Basic ' . base64_encode($config['xendit_secret_key'] . ':') ]), true); @@ -125,8 +133,10 @@ function xendit_get_status($trx, $user) r2(U . "order/view/" . $trx['id'], 'd', Lang::T("Transaction expired.")); } else if ($trx['status'] == 2) { r2(U . "order/view/" . $trx['id'], 'd', Lang::T("Transaction has been paid..")); + }else{ + sendTelegram("xendit_get_status: unknown result\n\n".json_encode($result, JSON_PRETTY_PRINT)); + r2(U . "order/view/" . $trx['id'], 'd', Lang::T("Unknown Command.")); } - r2(U . "order/view/" . $trx['id'], 'd', Lang::T("Unknown Command.")); } function xendit_get_server()