private SetExpressCheckoutReq GetSetExpressCheckoutRequest(CustomerOrder order, Store store, PaymentIn payment) { var ecDetails = new SetExpressCheckoutRequestDetailsType { CallbackTimeout = "3", ReturnURL = string.Format("{0}/{1}?cancel=false&orderId={2}", store.Url, PaypalPaymentRedirectRelativePath, order.Id), CancelURL = string.Format("{0}/{1}?cancel=true&orderId={2}", store.Url, PaypalPaymentRedirectRelativePath, order.Id) }; if (PaymentMode.Equals("BankCard")) { ecDetails.SolutionType = SolutionTypeType.SOLE; ecDetails.LandingPage = LandingPageType.BILLING; } else { ecDetails.SolutionType = SolutionTypeType.MARK; ecDetails.LandingPage = LandingPageType.LOGIN; } var billingAddress = order.Addresses.FirstOrDefault(s => s.AddressType == VirtoCommerce.Domain.Commerce.Model.AddressType.Billing); if (billingAddress == null) { billingAddress = order.Addresses.FirstOrDefault(); } if (billingAddress != null && !string.IsNullOrEmpty(billingAddress.Email)) { ecDetails.BuyerEmail = billingAddress.Email; } ecDetails.PaymentDetails.Add(GetPaypalPaymentDetail(order.Currency.ToString(), PaypalPaymentActionType, payment)); return(new SetExpressCheckoutReq { SetExpressCheckoutRequest = new SetExpressCheckoutRequestType { SetExpressCheckoutRequestDetails = ecDetails } }); }