コード例 #1
0
ファイル: EzyCardFunctions.cs プロジェクト: oqasem1/EzyCards
    public bool ShortcutExpressCheckout(string amt, ref string token, ref string retMsg)
    {
        if (bSandbox)
        {
            pEndPointURL = pEndPointURL_SB;
            host         = host_SB;
        }

        string returnURL = "https://" + EzyGateFaceBookWebsite + "/Checkout/CheckoutReview.aspx";
        string cancelURL = "https://" + EzyGateFaceBookWebsite + "/Checkout/CheckoutCancel.aspx";

        NVPEzyCodec encoder = new NVPEzyCodec();

        encoder["METHOD"]                         = "SetExpressCheckout";
        encoder["RETURNURL"]                      = returnURL;
        encoder["CANCELURL"]                      = cancelURL;
        encoder["BRANDNAME"]                      = "EzyGate Facebook Store";
        encoder["PAYMENTREQUEST_0_AMT"]           = amt;
        encoder["PAYMENTREQUEST_0_ITEMAMT"]       = amt;
        encoder["PAYMENTREQUEST_0_PAYMENTACTION"] = "Sale";
        encoder["PAYMENTREQUEST_0_CURRENCYCODE"]  = "USD";

        // Get the Shopping Cart Products
        using (EzyCards.Logic.ShoppingCartActions myCartOrders = new EzyCards.Logic.ShoppingCartActions())
        {
            List <CartItem> myOrderList = myCartOrders.GetCartItems();
            encoder["PAYMENTREQUEST_0_QTYCOUNT"] = myOrderList.Count.ToString();
            for (int i = 0; i < myOrderList.Count; i++)
            {
                encoder["L_PAYMENTREQUEST_0_NAME" + i] = myOrderList[i].Product.ProductName.ToString();
                encoder["L_PAYMENTREQUEST_0_AMT" + i]  = myOrderList[i].Product.UnitPrice.ToString();
                encoder["L_PAYMENTREQUEST_0_QTY" + i]  = myOrderList[i].Quantity.ToString();
            }
        }

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

        NVPEzyCodec decoder = new NVPEzyCodec();

        decoder.Decode(pStresponsenvp);

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

        if (strAck != null && (strAck == "success" || strAck == "successwithwarning"))
        {
            token = decoder["TOKEN"];
            // Don't forget to make the http to https (SSL)
            string ECURL = "https://" + host + "/NVP/APIGetToken.aspx?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);
        }
    }
コード例 #2
0
ファイル: EzyCardFunctions.cs プロジェクト: oqasem1/EzyCards
    private string buildCredentialsNVPString()
    {
        NVPEzyCodec codec = new NVPEzyCodec();

        if (!IsEmpty(APIUsername))
        {
            codec["USER"] = APIUsername;
        }

        if (!IsEmpty(APIPassword))
        {
            codec[PWD] = APIPassword;
        }

        if (!IsEmpty(APISignature))
        {
            codec[SIGNATURE] = APISignature;
        }

        if (!IsEmpty(Subject))
        {
            codec["SUBJECT"] = Subject;
        }

        codec["VERSION"] = "88.0";

        return(codec.Encode());
    }
コード例 #3
0
ファイル: EzyCardFunctions.cs プロジェクト: oqasem1/EzyCards
    public bool GetCheckoutDetails(string token, ref string PayerID, ref NVPEzyCodec decoder, ref string retMsg)
    {
        if (bSandbox)
        {
            pEndPointURL = pEndPointURL_SB;
        }

        NVPEzyCodec encoder = new NVPEzyCodec();

        encoder["METHOD"] = "GetExpressCheckoutDetails";
        encoder["TOKEN"]  = token;

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

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

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

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

            return(false);
        }
    }
コード例 #4
0
ファイル: EzyCardFunctions.cs プロジェクト: oqasem1/EzyCards
    public bool DoCheckoutPayment(string finalPaymentAmount, string token, string PayerID, ref NVPEzyCodec decoder, ref string retMsg)
    {
        if (bSandbox)
        {
            pEndPointURL = pEndPointURL_SB;
        }

        NVPEzyCodec encoder = new NVPEzyCodec();

        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 NVPEzyCodec();
        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);
        }
    }
コード例 #5
0
ファイル: EzyCardFunctions.cs プロジェクト: oqasem1/EzyCards
    public bool ShortcutExpressCheckout(string amt, ref string token, ref string retMsg)
    {
        if (bSandbox)
        {
            pEndPointURL = pEndPointURL_SB;
            host = host_SB;
        }

		string returnURL = "https://" + EzyGateFaceBookWebsite + "/Checkout/CheckoutReview.aspx";
		string cancelURL = "https://" + EzyGateFaceBookWebsite + "/Checkout/CheckoutCancel.aspx";

        NVPEzyCodec encoder = new NVPEzyCodec();
        encoder["METHOD"] = "SetExpressCheckout";
        encoder["RETURNURL"] = returnURL;
        encoder["CANCELURL"] = cancelURL;
		encoder["BRANDNAME"] = "EzyGate Facebook Store";
        encoder["PAYMENTREQUEST_0_AMT"] = amt;
        encoder["PAYMENTREQUEST_0_ITEMAMT"] = amt;
        encoder["PAYMENTREQUEST_0_PAYMENTACTION"] = "Sale";
        encoder["PAYMENTREQUEST_0_CURRENCYCODE"] = "USD";
        
        // Get the Shopping Cart Products
        using (EzyCards.Logic.ShoppingCartActions myCartOrders = new EzyCards.Logic.ShoppingCartActions())
        {
            List<CartItem> myOrderList = myCartOrders.GetCartItems();
            encoder["PAYMENTREQUEST_0_QTYCOUNT"] = myOrderList.Count.ToString();
            for (int i = 0; i < myOrderList.Count; i++)
            {
                encoder["L_PAYMENTREQUEST_0_NAME" + i] = myOrderList[i].Product.ProductName.ToString();
                encoder["L_PAYMENTREQUEST_0_AMT" + i] = myOrderList[i].Product.UnitPrice.ToString();
                encoder["L_PAYMENTREQUEST_0_QTY" + i] = myOrderList[i].Quantity.ToString();
            }
        }

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

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

        string strAck = decoder["ACK"].ToLower();
        if (strAck != null && (strAck == "success" || strAck == "successwithwarning"))
        {
            token = decoder["TOKEN"];
            // Don't forget to make the http to https (SSL)
            string ECURL = "https://" + host + "/NVP/APIGetToken.aspx?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;
        }
    }
コード例 #6
0
ファイル: EzyCardFunctions.cs プロジェクト: oqasem1/EzyCards
    private string buildCredentialsNVPString()
    {
        NVPEzyCodec codec = new NVPEzyCodec();

        if (!IsEmpty(APIUsername))
            codec["USER"] = APIUsername;

        if (!IsEmpty(APIPassword))
            codec[PWD] = APIPassword;

        if (!IsEmpty(APISignature))
            codec[SIGNATURE] = APISignature;

        if (!IsEmpty(Subject))
            codec["SUBJECT"] = Subject;

        codec["VERSION"] = "88.0";

        return codec.Encode();
    }
コード例 #7
0
ファイル: EzyCardFunctions.cs プロジェクト: oqasem1/EzyCards
    public bool DoCheckoutPayment(string finalPaymentAmount, string token, string PayerID, ref NVPEzyCodec decoder, ref string retMsg)
    {
        if (bSandbox)
        {
            pEndPointURL = pEndPointURL_SB;
        }

        NVPEzyCodec encoder = new NVPEzyCodec();
        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 NVPEzyCodec();
        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;
        }
    }
コード例 #8
0
ファイル: EzyCardFunctions.cs プロジェクト: oqasem1/EzyCards
    public bool GetCheckoutDetails(string token, ref string PayerID, ref NVPEzyCodec decoder, ref string retMsg)
    {
        if (bSandbox)
        {
            pEndPointURL = pEndPointURL_SB;
        }

        NVPEzyCodec encoder = new NVPEzyCodec();
        encoder["METHOD"] = "GetExpressCheckoutDetails";
        encoder["TOKEN"] = token;

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

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

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

            return false;
        }
    }