コード例 #1
0
        public static string GetMBUrl(MBOrderData objRequest)
        {
            string strParam    = PrepareMBRequest(objRequest);
            string strResponse = PostDataOnMB(strParam);

            if (!strResponse.StartsWith("Error HTML :"))
            {
                return(strMoneyBookersURL + "?sid=" + strResponse);
            }
            else
            {
                //log error

                Logger.Logger log = new Logger.Logger();
                log.Log(strResponse, Logger.LogType.ERROR);
                return(string.Empty);
            }
        }
コード例 #2
0
        private static string PrepareMBRequest(MBOrderData objRequest)
        {
            StringBuilder sbRequest = new StringBuilder();

            if (objRequest.Amount > 0)
            {
                sbRequest.Append("&amount=" + objRequest.Amount);
            }
            if (!string.IsNullOrEmpty(objRequest.Currency))
            {
                sbRequest.Append("&currency=" + HTTPPOSTEncode(objRequest.Currency));
            }
            if (!string.IsNullOrEmpty(objRequest.Description))
            {
                sbRequest.Append("&detail1_description=" + HTTPPOSTEncode(objRequest.Description));
            }
            if (!string.IsNullOrEmpty(objRequest.DetailText))
            {
                sbRequest.Append("&detail1_text=" + HTTPPOSTEncode(objRequest.DetailText));
            }
            sbRequest.Append("&prepare_only=" + HTTPPOSTEncode(strMoneyBookersURL));

            if (!string.IsNullOrEmpty(objRequest.PayToEmail))
            {
                sbRequest.Append("&pay_to_email=" + HTTPPOSTEncode(objRequest.PayToEmail));
            }
            if (!string.IsNullOrEmpty(objRequest.ReturnURL))
            {
                sbRequest.Append("&return_url=" + HTTPPOSTEncode(objRequest.ReturnURL));
            }
            if (!string.IsNullOrEmpty(objRequest.ReturnURLText))
            {
                sbRequest.Append("&return_url_text=" + objRequest.ReturnURLText);
            }
            else
            {
                sbRequest.Append("&return_url_text=" + HTTPPOSTEncode("Return to " + HttpContext.Current.Request.Url.DnsSafeHost));
            }
            sbRequest.Append("&return_url_target=" + (int)TargetType._Self);
            if (!string.IsNullOrEmpty(objRequest.CancelURL))
            {
                sbRequest.Append("&cancel_url=" + HTTPPOSTEncode(objRequest.CancelURL));
            }
            sbRequest.Append("&cancel_url_target=" + (int)TargetType._Self);

            if (!string.IsNullOrEmpty(objRequest.StatusURL))
            {
                sbRequest.Append("&status_url=" + HTTPPOSTEncode(objRequest.StatusURL));
            }
            if (!string.IsNullOrEmpty(objRequest.NameInSatetment))
            {
                sbRequest.Append("&dynamic_descriptor=" + HTTPPOSTEncode(objRequest.NameInSatetment));
            }
            sbRequest.Append("&language=" + objRequest.Language.ToString());
            if (!string.IsNullOrEmpty(objRequest.ConfirmationNote))
            {
                sbRequest.Append("&confirmation_note=" + HTTPPOSTEncode(objRequest.ConfirmationNote));
            }
            if (!string.IsNullOrEmpty(objRequest.LogoURL))
            {
                sbRequest.Append("&logo_url=" + HTTPPOSTEncode(objRequest.LogoURL));
            }
            if (!string.IsNullOrEmpty(objRequest.PayFromEmail))
            {
                sbRequest.Append("&pay_from_email=" + HTTPPOSTEncode(objRequest.PayFromEmail));
            }

            //Customer details
            if (!string.IsNullOrEmpty(objRequest.Title))
            {
                sbRequest.Append("&title=" + HTTPPOSTEncode(objRequest.Title));
            }
            if (!string.IsNullOrEmpty(objRequest.FirstName))
            {
                sbRequest.Append("&firstname=" + HTTPPOSTEncode(objRequest.FirstName));
            }
            if (!string.IsNullOrEmpty(objRequest.LastName))
            {
                sbRequest.Append("&lastname=" + HTTPPOSTEncode(objRequest.LastName));
            }
            if (!string.IsNullOrEmpty(objRequest.Address))
            {
                sbRequest.Append("&address=" + HTTPPOSTEncode(objRequest.Address));
            }
            if (!string.IsNullOrEmpty(objRequest.Address2))
            {
                sbRequest.Append("&address2=" + HTTPPOSTEncode(objRequest.Address2));
            }
            if (!string.IsNullOrEmpty(objRequest.PhoneNumber))
            {
                sbRequest.Append("&phone_number=" + HTTPPOSTEncode(objRequest.PhoneNumber));
            }
            if (!string.IsNullOrEmpty(objRequest.PostalCode))
            {
                sbRequest.Append("&postal_code=" + HTTPPOSTEncode(objRequest.PostalCode));
            }
            if (!string.IsNullOrEmpty(objRequest.City))
            {
                sbRequest.Append("&city=" + HTTPPOSTEncode(objRequest.City));
            }
            if (!string.IsNullOrEmpty(objRequest.State))
            {
                sbRequest.Append("&state=" + HTTPPOSTEncode(objRequest.State));
            }
            if (!string.IsNullOrEmpty(objRequest.Country))
            {
                sbRequest.Append("&country=" + HTTPPOSTEncode(objRequest.Country));
            }

            return(sbRequest.ToString());
        }
コード例 #3
0
 public static void RedirectToMB(MBOrderData objRequest)
 {
     HttpContext.Current.Response.RedirectPermanent(GetMBUrl(objRequest));
 }