public GetExpressCheckoutDetailsResponseType GetExpressCheckoutDetails(string token) { var result = new GetExpressCheckoutDetailsResponseType(); using (var service = new PayPalAPIAASoapBinding()) { var req = new GetExpressCheckoutDetailsReq(); req.GetExpressCheckoutDetailsRequest = new GetExpressCheckoutDetailsRequestType { Token = token, Version = PayPalHelper.GetApiVersion() }; service.Url = PayPalHelper.GetPaypalServiceUrl(Settings); service.RequesterCredentials = PayPalHelper.GetPaypalApiCredentials(Settings); result = service.GetExpressCheckoutDetails(req); } return(result); }
public GetExpressCheckoutDetailsResponseType GetExpressCheckoutDetails(string token) { var result = new GetExpressCheckoutDetailsResponseType(); var settings = CommonServices.Settings.LoadSetting <PayPalExpressPaymentSettings>(CommonServices.StoreContext.CurrentStore.Id); using (var service = new PayPalAPIAASoapBinding()) { var req = new GetExpressCheckoutDetailsReq(); req.GetExpressCheckoutDetailsRequest = new GetExpressCheckoutDetailsRequestType { Token = token, Version = PayPalHelper.GetApiVersion() }; service.Url = PayPalHelper.GetPaypalServiceUrl(settings); service.RequesterCredentials = PayPalHelper.GetPaypalApiCredentials(settings); result = service.GetExpressCheckoutDetails(req); } return(result); }
/// <summary> /// Gets a paypal express checkout result /// </summary> /// <param name="token">paypal express checkout token</param> /// <returns>Paypal payer</returns> public PaypalPayer GetExpressCheckout(string token) { InitSettings(); GetExpressCheckoutDetailsReq req = new GetExpressCheckoutDetailsReq(); GetExpressCheckoutDetailsRequestType request = new GetExpressCheckoutDetailsRequestType(); req.GetExpressCheckoutDetailsRequest = request; request.Token = token; request.Version = this.APIVersion; GetExpressCheckoutDetailsResponseType response = service2.GetExpressCheckoutDetails(req); string error; if (!PaypalHelper.CheckSuccess(response, out error)) { throw new NopException(error); } PaypalPayer payer = new PaypalPayer(); payer.PayerEmail = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Payer; payer.FirstName = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerName.FirstName; payer.LastName = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerName.LastName; payer.CompanyName = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerBusiness; payer.Address1 = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Street1; payer.Address2 = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Street2; payer.City = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.CityName; payer.State = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.StateOrProvince; payer.Zipcode = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.PostalCode; payer.Phone = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.ContactPhone; payer.PaypalCountryName = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.CountryName; payer.CountryCode = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Country.ToString(); payer.PayerID = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerID; payer.Token = response.GetExpressCheckoutDetailsResponseDetails.Token; return(payer); }
public static string GetECDetails(string payPalToken, int customerId) { var payPalRefund = new PayPalAPISoapBinding(); var payPalBinding = new PayPalAPIAASoapBinding(); var payerId = string.Empty; var addressStatus = string.Empty; var request = new GetExpressCheckoutDetailsReq(); var requestType = new GetExpressCheckoutDetailsRequestType(); var response = new GetExpressCheckoutDetailsResponseType(); var responseType = new GetExpressCheckoutDetailsResponseDetailsType(); GetPaypalRequirements(out payPalRefund, out payPalBinding); request.GetExpressCheckoutDetailsRequest = requestType; response.GetExpressCheckoutDetailsResponseDetails = responseType; requestType.Token = payPalToken; requestType.Version = API_VER; response = payPalBinding.GetExpressCheckoutDetails(request); var payerInfo = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo; payerId = payerInfo.PayerID; if (string.IsNullOrEmpty(payerId)) // If we don't have a PayerID the transaction must be aborted. { return(string.Empty); } addressStatus = payerInfo.Address.AddressStatus.ToString(); //Is address AVS Confirmed or Unconfirmed? var requireConfirmedAddress = AppLogic.AppConfigBool("PayPal.Express.AVSRequireConfirmedAddress"); if (requireConfirmedAddress && !addressStatus.Equals("Confirmed", StringComparison.OrdinalIgnoreCase)) { return("AVSFAILED"); } var customer = new Customer(customerId, true); customer.UpdateCustomer( email: customer.IsRegistered ? null : payerInfo.Payer, firstName: payerInfo.PayerName.FirstName, lastName: payerInfo.PayerName.LastName, phone: payerInfo.Address.Phone != null ? payerInfo.Address.Phone : string.Empty, okToEmail: false ); //Use the address from PayPal var payPalAddress = Address.FindOrCreateOffSiteAddress( customerId: customerId, city: payerInfo.Address.CityName, stateAbbreviation: AppLogic.GetStateAbbreviation(payerInfo.Address.StateOrProvince, payerInfo.Address.CountryName), postalCode: payerInfo.Address.PostalCode, countryName: payerInfo.Address.CountryName, offSiteSource: AppLogic.ro_PMPayPalExpress, firstName: payerInfo.PayerName.FirstName, lastName: payerInfo.PayerName.LastName, address1: payerInfo.Address.Street1, address2: payerInfo.Address.Street2, phone: payerInfo.Address.Phone != null ? payerInfo.Address.Phone : null ); customer.SetPrimaryAddress(payPalAddress.AddressID, AddressTypes.Billing); customer.SetPrimaryAddress(payPalAddress.AddressID, AddressTypes.Shipping); return(payerId); }