From 37acf827d7a4d221c5c7180f6f481192703b1f55 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Thu, 13 Jul 2023 10:17:38 -0400 Subject: [PATCH] Start payment call --- wrenchboard/src/include/payments.h | 2 +- wrenchboard/src/include/wrenchboard_api.h | 1 + wrenchboard/src/shared_tool/account.cc | 4 +- wrenchboard/src/shared_tool/payments.cc | 53 +++++++++++++++++++++++ www-api/app/Config/Constants.php | 1 + 5 files changed, 59 insertions(+), 2 deletions(-) diff --git a/wrenchboard/src/include/payments.h b/wrenchboard/src/include/payments.h index 8c15ea04..9edae75f 100644 --- a/wrenchboard/src/include/payments.h +++ b/wrenchboard/src/include/payments.h @@ -9,7 +9,7 @@ long WrenchRefundoffer( CVars in, CVars &out ); long WrenchContractPayment( CVars in, CVars &out ); long WrenchCanceContractPayment( CVars in, CVars &out ); - +long WrenchStartPayment( CVars in, CVars &out ); long WrenchNewCardPayment( CVars in, CVars &out ); long WrenchCardRechargePayment( CVars in, CVars &out ); long CheckWallet(long member_id,CVars in); diff --git a/wrenchboard/src/include/wrenchboard_api.h b/wrenchboard/src/include/wrenchboard_api.h index 034bbfb3..b7e3ea89 100644 --- a/wrenchboard/src/include/wrenchboard_api.h +++ b/wrenchboard/src/include/wrenchboard_api.h @@ -204,6 +204,7 @@ enum { PARTNER_STRIPE }; #define WRENCHBOARD_USER_SENDMONEY 11051 #define WRENCHBOARD_USER_SENDJOBINT 11052 +#define WRENCHBOARD_USER_STARTCREDIT 11053 #define WRENCHBOARD_USER_ADNEWCC 11054 #define WRENCHBOARD_USER_CARDLIST 11055 #define WRENCHBOARD_USER_USESAVEDCC 11056 diff --git a/wrenchboard/src/shared_tool/account.cc b/wrenchboard/src/shared_tool/account.cc index cbcfe90c..b441f116 100644 --- a/wrenchboard/src/shared_tool/account.cc +++ b/wrenchboard/src/shared_tool/account.cc @@ -357,7 +357,9 @@ long account_calls(CVars in, CVars &out) { case WRENCHBOARD_USER_SENDJOBINT: return WrenchBoardMobileSendJobInterest(in, out); break; - + case WRENCHBOARD_USER_STARTCREDIT: + return WrenchStartPayment(in, out); + break; case WRENCHBOARD_USER_ADNEWCC: return WrenchNewCardPayment(in, out); break; diff --git a/wrenchboard/src/shared_tool/payments.cc b/wrenchboard/src/shared_tool/payments.cc index 54765b0b..2900cb1e 100644 --- a/wrenchboard/src/shared_tool/payments.cc +++ b/wrenchboard/src/shared_tool/payments.cc @@ -255,6 +255,59 @@ if ( load_db_record( y, "SELECT * FROM members_wallet WHERE id = %lu AND member_ return 1; } +long WrenchStartPayment( CVars in, CVars &out ){ + + logfmt(logINFO, "WrenchStartPayment()"); + long ret = PHP_API_BAD_PARAM; + const PGresult *res; + out["status_text"] = "Start"; + out["status"] = "-1"; + + try { + long member_id = REQ_LONG( in, "member_id", 1, -1 ); + long amount = REQ_LONG( in, "amount", 1, -1 ); + REQ_STRING (in, "currency", 4, 15, "(.*)"); + REQ_STRING(in, "uid", 3, 150, "(.*)"); + const PGresult *res = pgsql_query("SELECT uid,id AS member_id FROM members WHERE id=%lu AND uid='%s'", member_id, in["uid"].c_str()); + if (res != NULL && pgsql_num_rows(res) > 0) { + mapf = pgsql_fetch_assoc(res, 0); + CVars rec; + map_to_cvars(f, rec); + out["status"] = "STARTED"; + out = rec; + } + else{ + out["status"] = "ERROR"; + return ret; + } + + CVars xx; + + xx["member_id"] = member_id; + xx["member_id"].set_valid(true); + xx["amount"] = in["amount"]; + xx["amount"].set_valid(true); + xx["currency"] = in["currency"]; + xx["currency"].set_valid(true); + out["credit_ref_no"] = "0"; + out["credit_ref_no"] = insert_db_record(DBS_VALID, "members_credit", "members_credit_id_seq", xx); + + if ( out["credit_ref_no"].Long() > 0) { + load_db_record( out, "SELECT uid AS credit_reference FROM members_credit WHERE member_id = %lu AND id=%lu ", member_id, out["credit_ref_no"].Long()); + out["status"] = "OK"; + ret = PHP_API_OK; + } + + } catch (bad_parameter) { + out["status"] = "ERROR"; + } + + logfmt(logINFO, "/WrenchStartPayment()"); + return ret; + +return 0; +} + long WrenchNewCardPayment( CVars in, CVars &out ) { diff --git a/www-api/app/Config/Constants.php b/www-api/app/Config/Constants.php index c752282a..5fac2538 100644 --- a/www-api/app/Config/Constants.php +++ b/www-api/app/Config/Constants.php @@ -219,6 +219,7 @@ define('WRENCHBOARD_USER_GETBANKLIST', 11050); define('WRENCHBOARD_USER_SENDMONEY', 11051); define('WRENCHBOARD_USER_SENDJOBINT', 11052); +define('WRENCHBOARD_USER_STARTCREDIT', 11053); define('WRENCHBOARD_USER_ADNEWCC', 11054); define('WRENCHBOARD_USER_CARDLIST', 11055); define('WRENCHBOARD_USER_USESAVEDCC', 11056);