private string BuildCredentialsNVPString() { var codec = new NVPCodec(); if (!string.IsNullOrEmpty(APIUsername)) { codec["USER"] = APIUsername; } if (!string.IsNullOrEmpty(APIPassword)) { codec["PWD"] = APIPassword; } if (!string.IsNullOrEmpty(APISignature)) { codec["SIGNATURE"] = APISignature; } if (!string.IsNullOrEmpty(Subject)) { codec["SUBJECT"] = Subject; } codec["VERSION"] = "88.0"; return(codec.Encode()); }
public bool DoCheckoutPayment(string finalPaymentAmount, string token, string payerId, ref NVPCodec decoder, ref string retMsg) { if (bSandbox) { pEndPointURL = pEndPointURL_SB; } var encoder = new NVPCodec { ["METHOD"] = "DoExpressCheckoutPayment", ["TOKEN"] = token, ["PAYERID"] = payerId, ["PAYMENTREQUEST_0_AMT"] = finalPaymentAmount, ["PAYMENTREQUEST_0_CURRENCYCODE"] = "CAD", ["PAYMENTREQUEST_0_PAYMENTACTION"] = "Sale" }; var pStrrequestforNvp = encoder.Encode(); var pStresponsenvp = HttpCall(pStrrequestforNvp); decoder = new NVPCodec(); decoder.Decode(pStresponsenvp); var 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 GetCheckoutDetails(string token, ref string payerId, ref NVPCodec decoder, ref string retMsg) { if (bSandbox) { pEndPointURL = pEndPointURL_SB; } var encoder = new NVPCodec(); encoder["METHOD"] = "GetExpressCheckoutDetails"; encoder["TOKEN"] = token; var pStrrequestforNvp = encoder.Encode(); var pStresponsenvp = HttpCall(pStrrequestforNvp); decoder = new NVPCodec(); decoder.Decode(pStresponsenvp); var 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); } }
public bool ShortcutExpressCheckout(string amt, ref string token, ref string retMsg) { if (bSandbox) { pEndPointURL = pEndPointURL_SB; host = host_SB; } string returnURL = "https://localhost:44394/Checkout/CheckoutReview.aspx"; string cancelURL = "https://localhost:44394/Checkout/CheckoutCancel.aspx"; NVPCodec encoder = new NVPCodec(); encoder["METHOD"] = "SetExpressCheckout"; encoder["RETURNURL"] = returnURL; encoder["CANCELURL"] = cancelURL; encoder["BRANDNAME"] = "Wingtip Toys Sample Application"; encoder["PAYMENTREQUEST_0_AMT"] = amt; encoder["PAYMENTREQUEST_0_ITEMAMT"] = amt; encoder["PAYMENTREQUEST_0_PAYMENTACTION"] = "Sale"; encoder["PAYMENTREQUEST_0_CURRENCYCODE"] = "AUD"; // Get the Shopping Cart Products using (WingtipToys.Logic.ShoppingCartActions myCartOrders = new WingtipToys.Logic.ShoppingCartActions()) { List <CartItem> myOrderList = myCartOrders.GetCartItems(); 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 pStrresponseNvp = HttpCall(pStrrequestforNvp); NVPCodec decoder = new NVPCodec(); decoder.Decode(pStrresponseNvp); 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); } }
public bool ShortcutExpressCheckout(string amt, ref string token, ref string retMsg) { if (bSandbox) { pEndPointURL = pEndPointURL_SB; host = host_SB; } var returnURL = "https://localhost:44324/Checkout/CheckoutReview.aspx"; var cancelURL = "https://localhost:44324/Checkout/CheckoutCancel.aspx"; var encoder = new NVPCodec { ["METHOD"] = "SetExpressCheckout", ["RETURNURL"] = returnURL, ["CANCELURL"] = cancelURL, ["BRANDNAME"] = "Wingtip Toys Sample Application", ["PAYMENTREQUEST_0_AMT"] = amt, ["PAYMENTREQUEST_0_ITEMAMT"] = amt, ["PAYMENTREQUEST_0_PAYMENTACTION"] = "Sale", ["PAYMENTREQUEST_0_CURRENCYCODE"] = "CAD" }; // Get the Shopping Cart Products using (var myCartOrders = new ShoppingCartActions()) { var myOrderList = myCartOrders.GetCartItems(); for (int i = 0; i < myOrderList.Count; i++) { encoder[$"L_PAYMENTREQUEST_0_NAME{i}"] = myOrderList[i].Product.Name; encoder[$"L_PAYMENTREQUEST_0_AMT{i}"] = myOrderList[i].Product.UnitPrice.ToString(); encoder[$"L_PAYMENTREQUEST_0_QTY{i}"] = myOrderList[i].Quantity.ToString(); } } var pStrrequestforNvp = encoder.Encode(); var pStresponsenvp = HttpCall(pStrrequestforNvp); var decoder = new NVPCodec(); decoder.Decode(pStresponsenvp); var strAck = decoder["ACK"].ToLower(); if (strAck != null && (strAck == "success" || strAck == "successwithwarning")) { token = decoder["TOKEN"]; var 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); } }
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"] = "AUD"; encoder["PAYMENTREQUEST_0_PAYMENTACTION"] = "Sale"; string pStrrequestforNvp = encoder.Encode(); string pStrresponseNvp = HttpCall(pStrrequestforNvp); decoder = new NVPCodec(); decoder.Decode(pStrresponseNvp); 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); } }