fix payment gateway and table

This commit is contained in:
Ibnu Maksum 2022-09-16 11:38:03 +07:00
parent b6204a5f94
commit 1c18f6091d
No known key found for this signature in database
GPG Key ID: 7FC82848810579E5
4 changed files with 23 additions and 13 deletions

View File

@ -131,8 +131,8 @@ CREATE TABLE
`routers` varchar(32) COLLATE utf8mb4_general_ci NOT NULL, `routers` varchar(32) COLLATE utf8mb4_general_ci NOT NULL,
`price` varchar(40) 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 '', `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_method` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`payment_channel` varchar(32) 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_request` text COLLATE utf8mb4_general_ci,
`pg_paid_response` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci, `pg_paid_response` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci,
`expired_date` datetime DEFAULT NULL, `expired_date` datetime DEFAULT NULL,
@ -227,7 +227,7 @@ CREATE TABLE
`recharged_on` date NOT NULL, `recharged_on` date NOT NULL,
`expiration` date NOT NULL, `expiration` date NOT NULL,
`time` time 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, `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 `type` enum('Hotspot', 'PPPOE') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci; ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;
@ -271,7 +271,7 @@ CREATE TABLE
`expiration` date NOT NULL, `expiration` date NOT NULL,
`time` time NOT NULL, `time` time NOT NULL,
`status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci 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, `routers` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`type` varchar(15) 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; ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;

View File

@ -92,10 +92,10 @@
echo "ALTER TABLE `tbl_routers` CHANGE `description` `description` VARCHAR(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL;"; 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;"); $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"; 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(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '';"); $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(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;\n\n"; 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(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;"); $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 <a href='/admin/'>Back To Home</a>"; echo "Success update database for new system <a href='/admin/'>Back To Home</a>";
}catch(PDOException $ex){ }catch(PDOException $ex){
echo "Error Failed to connect to database: ".$ex->getMessage()."\n"; echo "Error Failed to connect to database: ".$ex->getMessage()."\n";

View File

@ -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; global $config, $routes, $ui;
$channels = json_decode(file_get_contents('system/paymentgateway/channel_tripay.json'), true); $channels = json_decode(file_get_contents('system/paymentgateway/channel_tripay.json'), true);
@ -91,7 +91,7 @@ function tripay_create_transaction($channel, $trx, $user)
die(); die();
} }
$json = [ $json = [
'method' => $channel, 'method' => $routes[4],
'amount' => $trx['price'], 'amount' => $trx['price'],
'merchant_ref' => $trx['id'], 'merchant_ref' => $trx['id'],
'customer_name' => $user['fullname'], 'customer_name' => $user['fullname'],
@ -128,7 +128,7 @@ function tripay_create_transaction($channel, $trx, $user)
function tripay_get_status($trx, $user) function tripay_get_status($trx, $user)
{ {
global $config; 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'] 'Authorization: Bearer ' . $config['tripay_api_key']
]), true); ]), true);
if ($result['success'] != 1) { if ($result['success'] != 1) {

View File

@ -8,6 +8,14 @@
* Payment Gateway xendit.com * 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() function xendit_show_config()
{ {
@ -100,7 +108,7 @@ function xendit_create_transaction($trx, $user)
function xendit_get_status($trx, $user) function xendit_get_status($trx, $user)
{ {
global $config; 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'] . ':') 'Authorization: Basic ' . base64_encode($config['xendit_secret_key'] . ':')
]), true); ]), true);
@ -125,9 +133,11 @@ function xendit_get_status($trx, $user)
r2(U . "order/view/" . $trx['id'], 'd', Lang::T("Transaction expired.")); r2(U . "order/view/" . $trx['id'], 'd', Lang::T("Transaction expired."));
} else if ($trx['status'] == 2) { } else if ($trx['status'] == 2) {
r2(U . "order/view/" . $trx['id'], 'd', Lang::T("Transaction has been paid..")); 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() function xendit_get_server()
{ {