1

I would like to get User billing information from PayPal so that I can compare the billing information the user would have inputted in my site with those which the user has in PayPal.

I did try to access this information using the response which PayPal gives using getECResponse.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Street1 but these are all null.

Is this possible? I am using Express checkout and these are digital goods so the user would not be inputting any shipping details himself.

Thanks

Mark Farrugia
  • 87
  • 2
  • 9

2 Answers2

2

GetExpressCheckoutDetails returns Billing information if you had passed REQBILLINGADDRESS = 1 in SetExpressCheckout. Before doing this, you will need to get billing address enabled by contacting PayPal customer/Business Support.

A sample GETEC response :

TOKEN=EC-6CW49061US796703X
BILLINGAGREEMENTACCEPTEDSTATUS=0
CHECKOUTSTATUS=PaymentActionNotInitiated
TIMESTAMP=2014-11-06T09:29:59Z
CORRELATIONID=ac2e59af86d9c
ACK=Success
VERSION=109.0
BUILD=13630372
EMAIL=vimalbuyer@gmail.com
PAYERID=ZK5AUW8MWY9CW
PAYERSTATUS=verified
FIRSTNAME=vimalbuyer
LASTNAME=ravichandran
COUNTRYCODE=US
SHIPTONAME=J Smith
SHIPTOSTREET=1 Main St
SHIPTOCITY=San Jose
SHIPTOSTATE=CA
SHIPTOZIP=95131
SHIPTOCOUNTRYCODE=US
SHIPTOCOUNTRYNAME=United States
BILLINGNAME=vimalbuyer ravichandran //Billing information starts
STREET=1 Main St
CITY=San Jose
STATE=CA
ZIP=95131
COUNTRY=US
COUNTRYNAME=United States
ADDRESSID=PayPal
ADDRESSSTATUS=Confirmed
CURRENCYCODE=USD
AMT=0.01
SHIPPINGAMT=0.00
HANDLINGAMT=0.00
TAXAMT=0.00
INSURANCEAMT=0.00
SHIPDISCAMT=0.00
PAYMENTREQUEST_0_CURRENCYCODE=USD
PAYMENTREQUEST_0_AMT=0.01
PAYMENTREQUEST_0_SHIPPINGAMT=0.00
PAYMENTREQUEST_0_HANDLINGAMT=0.00
PAYMENTREQUEST_0_TAXAMT=0.00
PAYMENTREQUEST_0_INSURANCEAMT=0.00
PAYMENTREQUEST_0_SHIPDISCAMT=0.00
PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED=false
PAYMENTREQUEST_0_SHIPTONAME=J Smith
PAYMENTREQUEST_0_SHIPTOSTREET=1 Main St
PAYMENTREQUEST_0_SHIPTOCITY=San Jose
PAYMENTREQUEST_0_SHIPTOSTATE=CA
PAYMENTREQUEST_0_SHIPTOZIP=95131
PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE=US
PAYMENTREQUEST_0_SHIPTOCOUNTRYNAME=United States
PAYMENTREQUEST_0_ADDRESSSTATUS=Confirmed
PAYMENTREQUEST_0_ADDRESSNORMALIZATIONSTATUS=None
PAYMENTREQUESTINFO_0_ERRORCODE=0 
Vimalnath
  • 6,373
  • 2
  • 26
  • 47
  • BTW, which contact window should I ask Paypal for opening billing address api? I had tried the one in "Contact PayPal" -> "Email us" but no luck :( – Jim Horng Apr 29 '15 at 08:11
  • FYI http://stackoverflow.com/questions/17369587/paypal-express-checkout-billing-addresses-in-sandbox – Henry Feb 09 '17 at 01:53
-1

The GetExpressCheckoutDetails API call is only going to return the shipping information, and you are correct that if the buyer is going through the flow for digital goods there are not going to be any shipping details. There are a few different ways to get some of the information that you are wanting.

You could use the AddressVerify API. This would need to be enabled on your account by PayPal. The AddressVerify API operation confirms whether a postal address and postal code match those of the specified PayPal account holder.

You could use PayPal Identity (formerly PayPal Access), to get some of the user's information back. The basic account information that will be returned is:

Name (First, Last or Full)
Email Address
Address (Street Address, City, State, Postal Code, Country)
Phone Number

Another option, is you can contact PayPal and request a feature to be enabled to return the billing address for Express Checkout. This is feature that does need to be approved before it can be turned on as well.

PP_MTS_Chad
  • 7,311
  • 1
  • 15
  • 20
  • 1
    `GetExpressCheckoutDetails` returns Billing information if you had passed `REQBILLINGADDRESS = 1` in `SetExpressCheckout`. – Vimalnath Nov 06 '14 at 09:31