示例#1
0
    public void PostWithdrawal(
        string txnRef, string bankCode, string accountNumber, string userName, float amount,
        PostSuccessCallback callback, PostFailedCallback fallback)
    {
        string narration   = "Niaja whot withdrawal";
        string post_string = $"{{\"action\":\"transfer\",\"amount\":\"{amount}\",\"bankcode\":\"{bankCode}\",\"accountnumber\":\"{accountNumber}\",\"sender_name\":\"{userName}\",\"narration\":\"{narration}\",\"orderRef\":\"{txnRef}\"}}";

        RequestHelper currentRequest = new RequestHelper
        {
            Uri        = glade_pay_withdrawal_url,
            BodyString = post_string,
            Headers    = new Dictionary <string, string>
            {
                { "Access-Control-Allow-Origin", "*" },
                { "Content-Type", "application/json" },
                { "key", merchant_key },
                { "mid", merchant_id },
            },
            ContentType = "application/json",
            EnableDebug = true,
            Timeout     = 500
        };

        RestClient.Put(currentRequest)
        .Then(response => { Debug.Log(response.StatusCode); callback(response.Text); })
        .Catch(error => { fallback(error); });
    }
示例#2
0
    public void PostDepositValidate(
        string txnRef, string otp,
        PostSuccessCallback callback, PostFailedCallback fallback)
    {
        string post_string = $"{{\"action\":\"validate\",\"txnRef\":\"{txnRef}\",\"otp\":\"{otp}\"}}";

        RequestHelper currentRequest = new RequestHelper
        {
            Uri        = glade_pay_url,
            BodyString = post_string,
            Headers    = new Dictionary <string, string>
            {
                { "Access-Control-Allow-Origin", "*" },
                { "Content-Type", "application/json" },
                { "key", merchant_key },
                { "mid", merchant_id },
            },
            ContentType = "application/json",
            EnableDebug = true
        };

        RestClient.Put(currentRequest)
        .Then(response => { Debug.Log(response.StatusCode); callback(response.Text); })
        .Catch(error => { fallback(error); });
    }
示例#3
0
    public void PostDeposit(
        string email, string amount, string card_no, string cvv, string expiry_month, string expiry_year, string pin,
        PostSuccessCallback callback, PostFailedCallback fallback)
    {
        string post_string = SerializePost(email, amount, card_no, cvv, expiry_month, expiry_year, pin);

        RequestHelper currentRequest = new RequestHelper
        {
            Uri        = glade_pay_url,
            BodyString = post_string,
            Headers    = new Dictionary <string, string>
            {
                { "Access-Control-Allow-Origin", "*" },
                { "Content-Type", "application/json" },
                { "key", merchant_key },
                { "mid", merchant_id },
            },
            ContentType = "application/json",
            EnableDebug = true,
        };

        RestClient.Put(currentRequest)
        .Then(response => { Debug.Log(response.StatusCode); callback(response.Text); })
        .Catch(error => { fallback(error); });
    }
示例#4
0
    public static void DepositWithCard(
        string amount, string card_no, string cvv, string expiry_month, string expiry_year, string pin,
        User user, string id_token, PostSuccessCallback callback, PostFailedCallback fallback
        )
    {
        GladePay gladePay = new GladePay();

        gladePay.PostDeposit(
            user.email, amount, card_no, cvv, expiry_month, expiry_year, pin,
            (response) => { callback(response); },
            (error) => { fallback(error); }
            );
    }
示例#5
0
    public static void DepositValidate(
        float amount, string otp, string tranx_ref,
        User user, string id_token, PostSuccessWalCallback callback, PostFailedCallback fallback
        )
    {
        GladePay gladePay = new GladePay();

        gladePay.PostDepositValidate(
            tranx_ref, otp,
            response => {
            float current_amount    = CurrentUserWallet(user);
            float new_amount        = CreditUserWallet(user, amount);
            string tranx_id         = Generate.UniqueUuid();
            Transaction transaction = new Transaction(tranx_id, "deposit", current_amount, new_amount, user.local_id);
            string id           = Generate.UniqueUuid();
            Deposit deposit     = new Deposit(id, tranx_id, amount, tranx_ref, user);
            string trans_data   = FormatPostData.TransactionFieldModel(transaction);
            string deposit_data = FormatPostData.DepositFieldModel(deposit);
            //FireBase.Post(
            //    trans_data, "/transactions/?documentId="+ tranx_id, id_token,
            //    (response1) => {
            //        FireBase.Post(
            //            deposit_data, "/deposits/?documentId="+ tranx_id, id_token,
            //            (response2) => {
            //                user.wallet_balance = new_amount;
            //                string new_user_data = FormatPostData.UserFieldModel(user);
            //                FireBase.Patch(
            //                    new_user_data, "users/"+user.local_id, id_token,
            //                    (response3) => { callback(response2, new_amount); },
            //                    (error) => { fallback(error); }
            //                );
            //            },
            //            (error) => { fallback(error); }
            //        );
            //    },
            //    (error) => {
            //        fallback(error);
            //    }
            //);
        },
            error => {
            Debug.Log(error);
            fallback(error);
        }
            );
    }
示例#6
0
    public static void GetAllTransactions(User user, string token, PostSuccessCallback callback, PostFailedCallback fallback)
    {
        string quert_data = FormatQuery.GetQueryData("local_id", user.local_id, "transactions");

        //FireBase.Post( quert_data, ":runQuery", token,
        //    (response) => {
        //        List<Transaction> transactions = FormatGetData.AllTransactions(response);
        //        callback(transactions);
        //    },
        //    (error) => { fallback(error); }
        //);
    }
示例#7
0
    public static void StakeForGame(int number_of_players, User user, string token, PostSuccessCallback callback, PostFailedCallback fallback)
    {
        float stake = GetStakeAmount(number_of_players);

        float current_amount = WalletHelpers.CurrentUserWallet(user);
        float new_amount     = WalletHelpers.DebitUserWallet(user, stake);

        string      tranx_id    = Generate.UniqueUuid();
        Transaction transaction = new Transaction(tranx_id, "stake", current_amount, new_amount, user.local_id);
        string      trans_data  = FormatPostData.TransactionFieldModel(transaction);

        user.wallet_balance = new_amount;
        string new_user_data = FormatPostData.UserFieldModel(user);
        //FireBase.Patch(
        //    new_user_data, "users/" + user.local_id, token,
        //    (response3) =>
        //    {
        //        FireBase.Post(
        //            trans_data, "/transactions/?documentId=" + tranx_id, token,
        //            (response1) =>
        //                {
        //                    callback(new_amount);
        //                },
        //            (error) =>
        //                {
        //                    fallback(error);
        //                }
        //            );
        //    },
        //    (error) => { fallback(error); }
        //);
    }
示例#8
0
    public static void WithdrawToBank(User user, string token, float amount, string bankCode, string bankName, string accountNumber, PostSuccessCallback callback, PostFailedCallback fallback)
    {
        float current_amount = CurrentUserWallet(user);
        float new_amount     = DebitUserWallet(user, amount + Env.WITHDRAWAL_FEE);

        GladePay gladePay = new GladePay();
        string   tranRef  = Generate.UniqueUuid();

        string      tranx_id    = Generate.UniqueUuid();
        Transaction transaction = new Transaction(tranx_id, "withdrawal", current_amount, new_amount, user.local_id);
        string      trans_data  = FormatPostData.TransactionFieldModel(transaction);

        gladePay.PostWithdrawal(tranRef, bankCode, accountNumber, user.username, amount,
                                (response) =>
        {
            GladePayWithdrawalResponse pay = FormatGetData.GladePayWithdrawal(response);
            user.wallet_balance            = new_amount;
            string new_user_data           = FormatPostData.UserFieldModel(user);
            //FireBase.Patch(
            //    new_user_data, "users/" + user.local_id, token,
            //    (response3) =>
            //    {
            //        FireBase.Post(
            //            trans_data, "/transactions/?documentId=" + tranx_id, token,
            //            (response1) =>
            //            {
            //                string id = Generate.UniqueUuid();
            //                Withdraw withdraw = new Withdraw(id, tranx_id, bankCode,bankName, accountNumber, amount, pay.txnRef, user);
            //                string withdraw_data = FormatPostData.WithdrawalFieldModel(withdraw);
            //                FireBase.Post(
            //                    withdraw_data, "/withdrawals/?documentId=" + tranx_id, token,
            //                    (response2) => { callback(response, new_amount); },
            //                    (error) => { fallback(error); }
            //                );
            //            },
            //                (error) =>
            //                {
            //                    fallback(error);
            //                }
            //            );
            //    },
            //    (error) => { fallback(error); }
            //);
        },
                                (error) => { fallback(error); }
                                );
    }