/// <summary> /// Post process payment (payment gateways that require redirecting) /// </summary> /// <param name="order">Order</param> /// <returns>The error status, or String.Empty if no errors</returns> public string PostProcessPayment(Order order) { Uri gatewayUrl = new Uri(SimplePaySettings.GatewayUrl); RemotePost post = new RemotePost(); post.FormName = "SimplePay"; post.Url = gatewayUrl.ToString(); post.Method = "POST"; post.Add("immediateReturn", "1"); post.Add(AmazonHelper.SIGNATURE_VERSION_KEYNAME, AmazonHelper.SIGNATURE_VERSION_2); post.Add(AmazonHelper.SIGNATURE_METHOD_KEYNAME, AmazonHelper.HMAC_SHA256_ALGORITHM); post.Add("accessKey", SimplePaySettings.AccessKey); post.Add("amount", String.Format(CultureInfo.InvariantCulture, "USD {0:0.00}", order.OrderTotal)); post.Add("description", string.Format("{0}, {1}", SettingManager.StoreName, order.OrderId)); post.Add("amazonPaymentsAccountId", SimplePaySettings.AccountId); post.Add("returnUrl", String.Format("{0}AmazonSimplePayReturn.aspx", CommonHelper.GetStoreLocation(false))); post.Add("processImmediate", (SimplePaySettings.SettleImmediately ? "1" : "0")); post.Add("referenceId", order.OrderId.ToString()); post.Add(AmazonHelper.SIGNATURE_KEYNAME, AmazonHelper.SignParameters(post.Params, SimplePaySettings.SecretKey, post.Method, gatewayUrl.Host, gatewayUrl.AbsolutePath)); post.Post(); return(String.Empty); }
public canonicalRequestResponse PostProcessPayment(Order order) { Uri gatewayUrl = new Uri(SimplePaySettings.GatewayUrl); RemotePostProxy post = new RemotePostProxy(); post.FormName = "SimplePay"; //ERIC'S CODE //post.Url = gatewayUrl.ToString(); post.Url = "http://localhost:38623/Default.aspx"; post.Method = "POST"; post.Add("immediateReturn", "1"); post.Add(AmazonHelper.SIGNATURE_VERSION_KEYNAME, AmazonHelper.SIGNATURE_VERSION_2); post.Add(AmazonHelper.SIGNATURE_METHOD_KEYNAME, AmazonHelper.HMAC_SHA256_ALGORITHM); post.Add("accessKey", SimplePaySettings.AccessKey); post.Add("amount", String.Format(CultureInfo.InvariantCulture, "USD {0:0.00}", order.OrderTotal)); post.Add("description", string.Format("{0}, {1}", SettingManager.StoreName, order.OrderId)); post.Add("amazonPaymentsAccountId", SimplePaySettings.AccountId); post.Add("returnUrl", String.Format("{0}AmazonSimplePayReturn.aspx", CommonHelper.GetStoreLocation(false))); post.Add("processImmediate", (SimplePaySettings.SettleImmediately ? "1" : "0")); post.Add("referenceId", order.OrderId.ToString()); post.Add(AmazonHelper.SIGNATURE_KEYNAME, AmazonHelper.SignParameters(post.Params, SimplePaySettings.SecretKey, post.Method, gatewayUrl.Host, gatewayUrl.AbsolutePath)); string tmp = String.Format("{0}AmazonSimplePayReturn.aspx", CommonHelper.GetStoreLocation(false)); //Protocol independant code GlobalState.order.gross = order.OrderTotal; post.req.gross = order.OrderTotal; GlobalState.order.id = order.OrderId; post.req.orderID = order.OrderId; GlobalState.order.status = Global.OrderStatusEnum.Pending; //Contract.Assert(order.OrderTotal == order.OrderTotal); return(post.Post()); }
/// <summary> /// Post process payment (payment gateways that require redirecting) /// </summary> /// <param name="order">Order</param> /// <returns>The error status, or String.Empty if no errors</returns> public string PostProcessPayment(Order order) { Uri gatewayUrl = new Uri(SimplePaySettings.GatewayUrl); RemotePost post = new RemotePost(); post.FormName = "SimplePay"; //ERIC'S CODE string hash = code_to_hash(SourceCode_PlaceOrder); //construct path digest string path_digest = "Merchant[[" + hash + "()]]"; post.Add("path_digest", path_digest); //post.Url = gatewayUrl.ToString(); post.Url = "http://protoagnostic.cloudapp.net:8001/Default.aspx"; post.Method = "POST"; post.Add("immediateReturn", "1"); post.Add(AmazonHelper.SIGNATURE_VERSION_KEYNAME, AmazonHelper.SIGNATURE_VERSION_2); post.Add(AmazonHelper.SIGNATURE_METHOD_KEYNAME, AmazonHelper.HMAC_SHA256_ALGORITHM); post.Add("accessKey", SimplePaySettings.AccessKey); post.Add("amount", String.Format(CultureInfo.InvariantCulture, "USD {0:0.00}", order.OrderTotal)); post.Add("description", string.Format("{0}, {1}", SettingManager.StoreName, order.OrderId)); post.Add("amazonPaymentsAccountId", SimplePaySettings.AccountId); post.Add("returnUrl", String.Format("{0}AmazonSimplePayReturn.aspx", CommonHelper.GetStoreLocation(false))); post.Add("processImmediate", (SimplePaySettings.SettleImmediately ? "1" : "0")); post.Add("referenceId", order.OrderId.ToString()); //the entire msg is signed using the pre-decided simplepay secret key post.Add(AmazonHelper.SIGNATURE_KEYNAME, AmazonHelper.SignParameters(post.Params, SimplePaySettings.SecretKey, post.Method, gatewayUrl.Host, gatewayUrl.AbsolutePath)); string tmp = String.Format("{0}AmazonSimplePayReturn.aspx", CommonHelper.GetStoreLocation(false)); post.Post(); return(String.Empty); }