public bool DoCheckoutPayment(string finalPaymentAmount, string token, string PayerID, ref NVPCodec decoder, ref string retMsg)
        {
            if (bSandbox)
            {
                pEndPointURL = pEndPointURL_SB;
            }

            NVPCodec encoder = new NVPCodec();

            encoder["METHOD"]  = "DoExpressCheckoutPayment";
            encoder["TOKEN"]   = token;
            encoder["PAYERID"] = PayerID;
            encoder["PAYMENTREQUEST_0_AMT"]           = finalPaymentAmount;
            encoder["PAYMENTREQUEST_0_CURRENCYCODE"]  = "USD";
            encoder["PAYMENTREQUEST_0_PAYMENTACTION"] = "Sale";

            string pStrrequestforNvp = encoder.Encode();
            string pStresponsenvp    = HttpCall(pStrrequestforNvp);

            decoder = new NVPCodec();
            decoder.Decode(pStresponsenvp);

            string strAck = decoder["ACK"].ToLower();

            if (strAck != null && (strAck == "success" || strAck == "successwithwarning"))
            {
                return(true);
            }
            else
            {
                retMsg = "ErrorCode=" + decoder["L_ERRORCODE0"] + "&" +
                         "Desc=" + decoder["L_SHORTMESSAGE0"] + "&" +
                         "Desc2=" + decoder["L_LONGMESSAGE0"];

                return(false);
            }
        }
        public bool ShortcutExpressCheckout(string amt, ref string token, ref string retMsg, DataTable dtResult)
        {
            if (bSandbox)
            {
                pEndPointURL = pEndPointURL_SB;
                host         = host_SB;
            }

            string returnURL = "https://localhost:44355//Checkout/CheckoutReview.aspx";
            string cancelURL = "https://localhost:44355//Checkout/CheckoutCancel.aspx";

            NVPCodec encoder = new NVPCodec();

            encoder["METHOD"]                         = "SetExpressCheckout";
            encoder["RETURNURL"]                      = returnURL;
            encoder["CANCELURL"]                      = cancelURL;
            encoder["BRANDNAME"]                      = " 24 HOUR WEB SELL";
            encoder["PAYMENTREQUEST_0_AMT"]           = amt;
            encoder["PAYMENTREQUEST_0_ITEMAMT"]       = amt;
            encoder["PAYMENTREQUEST_0_PAYMENTACTION"] = "Sale";
            encoder["PAYMENTREQUEST_0_CURRENCYCODE"]  = "USD";

            Session["Currency"] = "$";

            // Get the Shopping Cart Products

            DataTable dtCartProducts = (DataTable)Session["MyCart"];



            for (int i = 0; i < dtCartProducts.Rows.Count; i++)
            {
                encoder["L_PAYMENTREQUEST_0_NAME" + i] = dtCartProducts.Rows[i]["Name"].ToString();
                encoder["L_PAYMENTREQUEST_0_AMT" + i]  = dtCartProducts.Rows[i]["Price"].ToString();
                encoder["L_PAYMENTREQUEST_0_QTY" + i]  = dtCartProducts.Rows[i]["ProductQuantity"].ToString();


                //   encoder["BRANDNAME"] += encoder["L_PAYMENTREQUEST_0_NAME" + i] + "<br>" + encoder["L_PAYMENTREQUEST_0_AMT" + i] + "<br>"+ encoder["L_PAYMENTREQUEST_0_QTY" + i] + "<br>";
            }


            string pStrrequestforNvp = encoder.Encode();
            string pStresponsenvp    = HttpCall(pStrrequestforNvp);

            NVPCodec decoder = new NVPCodec();

            decoder.Decode(pStresponsenvp);

            string strAck = decoder["ACK"].ToLower();

            if (strAck != null && (strAck == "success" || strAck == "successwithwarning"))
            {
                token = decoder["TOKEN"];
                string ECURL = "https://" + host + "/cgi-bin/webscr?cmd=_express-checkout" + "&token=" + token;
                retMsg = ECURL;
                return(true);
            }
            else
            {
                retMsg = "ErrorCode=" + decoder["L_ERRORCODE0"] + "&" +
                         "Desc=" + decoder["L_SHORTMESSAGE0"] + "&" +
                         "Desc2=" + decoder["L_LONGMESSAGE0"];
                return(false);
            }
        }