Top up result

This commit is contained in:
CHIEFSOFT\ameye
2023-07-28 14:01:25 -04:00
parent 683096e59a
commit 450a733d76
6 changed files with 112 additions and 42 deletions
@@ -219,6 +219,7 @@ enum { PARTNER_STRIPE };
#define WRENCHBOARD_ACCOUNT_WALLETS 11060
#define WRENCHBOARD_ACCOUNT_TOPUP_RESULT 11061
#define WRENCHBOARD_ACCOUNT_PREPARE_TOPUP 11062
#define WRENCHBOARD_ACCOUNT_COMPLETE_TOPUP 11063
+103 -42
View File
@@ -124,7 +124,7 @@ long WrenchBoardDeleteAccount(CVars in, CVars &out);
long VerifyWrenchAccountLink(CVars in, CVars &out);
long LoginWrenchBoardAuxAccount(CVars in, CVars &out);
long WrenchDeleteUsersCCard(CVars in, CVars &out);
long WrenchFlutterCreditHook(CVars in, CVars &out);
long WrenchFlutterCreditHook(CVars in, CVars &out);
long test() {
FILE* oldFile = Output2FILE::Stream();
@@ -408,6 +408,11 @@ long account_calls(CVars in, CVars &out) {
return WrenchBoardMobileSendUserWallet(in, out);
break;
case WRENCHBOARD_ACCOUNT_TOPUP_RESULT:
logfmt(logINFO, "/WRENCHBOARD_ACCOUNT_TOPUP_RESULT()");
return WrenchBoardStartBalanceTopup(in, out);
break;
case WRENCHBOARD_ACCOUNT_PREPARE_TOPUP:
logfmt(logINFO, "/WRENCHBOARD_ACCOUNT_PREPARE_TOPUP()");
return WrenchBoardStartBalanceTopup(in, out);
@@ -491,6 +496,30 @@ long WrenchFlutterCreditHook(CVars in, CVars &out) {
xx["raw_result"] = in["raw_result"]; xx["raw_result"].set_valid(true);
out["hook_id"] = insert_db_record(DBS_VALID, "flutterwave_hooks", "flutterwave_hooks_id_seq", xx);
if ( out["hook_id"].Long() > 0 && in["status"] == "successful"){
// lets find teh customer now
CVars cc;
if ( load_db_record(cc, "SELECT member_id, uid,amount,currency FROM members_credit WHERE uid = '%s'", xx["txRef"].c_str()> 0){
CVars xn;
xn["member_id"] = cc["member_id"]; xn["member_id"].set_valid(true);
xn["amount"] = cc["amount"]; xn["amount"].set_valid(true);
xn["currency"] = cc["currency"]; xn["currency"].set_valid(true);
xn["transaction_id"] = xx["txRef"]; xn["transaction_id"].set_valid(true);
long trx_id = WrenchBoardStartBalanceTopup(xn, out);
if ( trx_id > 0 ){
CVars tx;
tx["return_status"] = in["status"]; tx["return_status"].set_valid(true);
tx["status"] = "5"; tx["status"].set_valid(true);
tx["tx_ref"] = xx["txRef"]; tx["tx_ref"].set_valid(true);
tx["transaction_id"] = xx["txRef"]; tx["transaction_id"].set_valid(true);
long credit_id = WrenchBoardCompleteBalanceTopup(in, out);
}
}
}
} catch (bad_parameter) {
out["log_status"] = "Something went wrong";
@@ -499,6 +528,50 @@ long WrenchFlutterCreditHook(CVars in, CVars &out) {
return ret;
}
long WrenchBoardStartBalanceTopup(CVars in, CVars &out){
logfmt(logINFO, "WrenchBoardStartBalanceTopup()");
long trx_id = 0;
/*
$data['tx_ref'] = 'wrench-'.rand(1000000000,9999999999);
$data['currency'] = "NGN";
$data['customer_email'] = $_SESSION['username'];
$data['customer_phone_number'] = '';
$data['customer_name'] = $_SESSION['firstname'].' '.$_SESSION['lastname'];
$data['consumer_id'] = $_SESSION['member_id'];
$data['consumer_mac'] = $_SESSION['member_id']."-912ba-1192a";
$data['redirect_url'] = base_url() . "dash"; //"https://oameye.work.wrenchboard.com/dash";
$data['public_key'] = "FLWPUBK_TEST-54c90141b028789d671067bd72f781a9-X";
*/
out["public_key"] = CfgReadChar("flutterwave.public_key");
try {
REQ_LONG(in, "member_id", 1, -1);
REQ_LONG(in, "amount", 1, -1);
REQ_STRING(in, "currency", 2, 10, "(.*)");
REQ_STRING(in, "transaction_id", 2, 50, "(.*)");
CVars x;
x["member_id"] = in["member_id"];
x["member_id"].set_valid(true);
x["amount"] = in["amount"];
x["amount"].set_valid(true);
x["currency"] = in["currency"];
x["currency"].set_valid(true);
x["transaction_id"] = in["transaction_id"];
x["transaction_id"].set_valid(true);
trx_id = insert_db_record(DBS_VALID, "flutterwave_payments", "flutterwave_payments_id_seq", x);
if (trx_id > 0) {
load_db_record(out, "SELECT fp.member_id AS consumer_id,fp.tx_ref,fp.tx_ref,fp.currency,m.phone,m.uid AS consumer_mac " \
"FROM flutterwave_payments fp LEFT JOIN members m ON m.id=fp.member_id WHERE fp.id =%lu",trx_id);
}
out["status"] = "OK";
} catch (bad_parameter) {
logfmt(logINFO, "ERROR CALL long WrenchBoardStartBalanceTopup(CVars in, CVars &out)");
}
return trx_id;
}
long WrenchDeleteUsersCCard(CVars in, CVars &out) {
logfmt(logINFO, "VerifyWrenchAccountLink()");
@@ -575,6 +648,32 @@ long WrenchBoardDeleteAccount(CVars in, CVars &out)
DO THE DELETE HERE NOW
*/
return ret;
}
long WrenchBoardTopupResult(CVars in, CVars &out){
/*
action
:
11062
amount
:
555
currency
:
"NGN"
member_id
:
"1"
sessionid
:
"72227C1650AA2D3838C448E5393B3CAD2E694A483B1C4F52C44662FE6FC01B0C"
uid
:
"3119b744-42ad-4834-bb83-b737588754ca"
*/
}
long WrenchBoardCompleteBalanceTopup(CVars in, CVars &out){
@@ -583,9 +682,9 @@ long WrenchBoardCompleteBalanceTopup(CVars in, CVars &out){
const PGresult *res;
try {
REQ_STRING(in, "tx_ref", 2, 50, "(.*)");
REQ_STRING(in, "transaction_id", 2, 50, "(.*)");
REQ_LONG(in, "status", 1, -1);
REQ_STRING(in, "tx_ref", 2, 50, "(.*)");
REQ_STRING(in, "transaction_id", 2, 50, "(.*)");
REQ_LONG(in, "status", 1, -1);
res = pgsql_query("SELECT id AS trx_id,member_id FROM flutterwave_payments WHERE tx_ref = '%s' AND status=0",in["tx_ref"].c_str());
if (res != NULL && pgsql_num_rows(res) > 0) {
@@ -611,46 +710,8 @@ long WrenchBoardCompleteBalanceTopup(CVars in, CVars &out){
return trx_id;
}
long WrenchBoardStartBalanceTopup(CVars in, CVars &out){
logfmt(logINFO, "WrenchBoardStartBalanceTopup()");
long trx_id = 0;
/*
$data['tx_ref'] = 'wrench-'.rand(1000000000,9999999999);
$data['currency'] = "NGN";
$data['customer_email'] = $_SESSION['username'];
$data['customer_phone_number'] = '';
$data['customer_name'] = $_SESSION['firstname'].' '.$_SESSION['lastname'];
$data['consumer_id'] = $_SESSION['member_id'];
$data['consumer_mac'] = $_SESSION['member_id']."-912ba-1192a";
$data['redirect_url'] = base_url() . "dash"; //"https://oameye.work.wrenchboard.com/dash";
$data['public_key'] = "FLWPUBK_TEST-54c90141b028789d671067bd72f781a9-X";
*/
out["public_key"] = CfgReadChar("flutterwave.public_key");
try {
REQ_LONG(in, "member_id", 1, -1);
REQ_LONG(in, "amount", 1, -1);
REQ_STRING(in, "currency", 2, 10, "(.*)");
CVars x;
x["member_id"] = in["member_id"];
x["member_id"].set_valid(true);
x["amount"] = in["amount"];
x["amount"].set_valid(true);
x["currency"] = in["currency"];
x["currency"].set_valid(true);
trx_id = insert_db_record(DBS_VALID, "flutterwave_payments", "flutterwave_payments_id_seq", x);
if (trx_id > 0) {
load_db_record(out, "SELECT fp.member_id AS consumer_id,fp.tx_ref,fp.tx_ref,fp.currency,m.phone,m.uid AS consumer_mac " \
"FROM flutterwave_payments fp LEFT JOIN members m ON m.id=fp.member_id WHERE fp.id =%lu",trx_id);
}
out["status"] = "OK";
} catch (bad_parameter) {
logfmt(logINFO, "ERROR CALL long WrenchBoardStartBalanceTopup(CVars in, CVars &out)");
}
return trx_id;
}
long WrenchBoardMobileSendUserWallet(CVars in, CVars &out) {
logfmt(logINFO, "WrenchBoardMobileSendUserWallet()");
char vname[30];
+2
View File
@@ -231,6 +231,8 @@ define('WRENCHBOARD_USER_SETTINGS', 11058);
define('WRENCHBOARD_GETUSER_SETTINGS', 11059);
define('WRENCHBOARD_ACCOUNT_WALLETS', 11060);
define('WRENCHBOARD_ACCOUNT_TOPUP_RESULT', 11061);
define('WRENCHBOARD_ACCOUNT_PREPARE_TOPUP', 11062);
define('WRENCHBOARD_ACCOUNT_COMPLETE_TOPUP', 11063);
define('WRENCHBOARD_ACCOUNT_REFFERHX', 11064 );
+2
View File
@@ -86,6 +86,8 @@ $routes->post('/en/wrench/api/v1/purchasehx', 'WrenchApi::apigate');
$routes->post('/en/wrench/api/v1/stepresetpass', 'WrenchApi::apigate');
$routes->post('/en/wrench/api/v1/starttopup', 'WrenchApi::apigate');
$routes->post('/en/wrench/api/v1/topupresult', 'WrenchApi::apigate');
$routes->post('/en/wrench/api/v1/jobmanageragree', 'WrenchApi::apigate');
@@ -166,6 +166,7 @@ abstract class BaseController extends Controller
'activetaskslist' => ['POST'],
'profilepasschange' => ['POST'],
'starttopup' => ['POST'],
'topupresult'=> ['POST'],
'familylist' => ['POST'],
'familyadd' => ['POST'],
'familyupdate' => ['POST'],
+3
View File
@@ -140,6 +140,9 @@ class WrenchApi extends BaseController
case 'starttopup':
$in["action"] = WRENCHBOARD_ACCOUNT_PREPARE_TOPUP;
break;
case 'topupresult':
$in["action"] = WRENCHBOARD_ACCOUNT_TOPUP_RESULT;
break;
case 'profilepasschange':
$in["action"] = WRENCHBOARD_PROFILE_RESETPASS;
break;