Paypal NVP API: is zipcode required for UK, Canada, Denmark? - paypal

From PayPal integration guide (PP_NVPAPI_DeveloperGuide_v89.pdf) I found out that zipcode for billing/shipping address is required for U.S. and may be required for other countries. Can someone clear for me is UK, Canada, Denmark included to this "other-coutries" list or zipcode(postal code) is not needed there?

As far as I know Zip Code is mandatory for all countries. Source: Open up Paypal shipping, every country requires a zip code to proceed.

Related

Does the availability of Braintree v.zero mean the location of the merchant or the buyer?

Express Checkout via v.zero is available in Australia, Canada, France, Germany, Italy, Japan, Singapore, the United Kingdom, and the United States.
It says that on PayPal's website for the Braintree v.zero integration.
Does this mean that the buyer must be part of one of these countries (or rather, their PayPal account) or that the seller/merchant's PayPal account must be one of these countries?
In most cases, only the seller has to reside in the country listed. However, there are some countries where both the seller and buyer have to be in the same country. A transaction where both the buyer and seller are in the same country is known as "in-country". You can find a list of the currencies that only allow "in-country" transactions by noting the ones listed with the "in-country only" superscript here from the PayPal developer documentation.

Delivery to specific postcodes

I'm trying to figure out how to set different shipping charges dependent on different post code areas at paypal checkout?
At the moment the courier company I use for delivery from my website charge a flat rate for most of the UK, but some islands and outlying areas are charged more for postage.
These areas are identified via their postal code, however I cant seem to find how to change the postal charges in relation to the postcode entered by the customer.
At the moment someone from an Island could easily buy and pay for something without paying extra for postage as specified on my website.
Thanks for your help......
Look into Standard implementation of PayPal Express checkout (no callback). This way after the user completes the transaction on PayPal, he is taken back to your site and you can charge him whatever you need to based on the address from PayPal.

Getting billing info express checkout

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
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
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.

Let PayPal Express Checkout verify the Address

We are using PayPal Express checkout (it's API) to let customers checkout products in our shop and add the delivery address at the same time.
We only ship to Germany and when a customer checks out, returns to our page and we get to know vie the PayPal API his address is not in Germany, we don't capture the authorized payment. Sometimes however, customers try to trick us and write AT-1234 in the zip field, to indicate they want shipping to austria. They let the country field with the "Germany" value.
Is it possible to let PayPal validate the Address during Express Checkout, such that invalid zip codes cannot be added?
You could the AddressVerify API to check the postal code and postal address. You can find more on this in the developers guide at https://www.x.com/sites/default/files/pp_nvpapi_developerguide.pdf on page 25. Another option that I have seen merchants implement is the Callback API along with Express Checkout. Information on this is found in the same guide on page 55. This allows you to update the PayPal Review page with shipping options, insurance, and tax information during the checkout. You can also generate a message that gets displayed that states you do not ship to that location. Some merchants will also tie this in with 3rd party shipping provider API, so that they can calculate real time shipping charges based on the type of shipping the buyer selected.
Hope this helps you out!

Paypal: Billing & Shipping addresses in different countries?

I think these are pretty close to being non-coding question, but it has everything to do with my current efforts to implement express checkout using paypal NVP API and X.com is absolutely garbage compared to stackoverflow.
So here's what I know, followed by some questions:
If you are a USA paypal user (which means - you have a USA Billing address), you can only set a shipping address to USA. Even if the website tries to force an international address via NVP during "SetExpressCheckout", it will ignore it and use a USA address within the users paypal account. If the user wants to manually put in a non-USA address, he can't - it's stuck to USA only.
If you are NOT a USA paypal user (i tested with germany & canada), you can have your shipping and billing be in 2 different countries. Instead of being locked in, there is a dropdown field allowing you to select a different country.
Questions:
1) Why is this for USA... but not for places like germany and cananda (what's the politics/laws/paypalpolicies)?
2) Does this mean that germany & canada is less protected by paypal than USA? I'm assuming the tigher requirements must mean that paypal has "safer" policies in the USA and therefore better protection?
3) My store is an international gift store, so the shipping & billing being in different countries happens 100% of the time. Can I turn off shipping addresses in paypal by making it a digital purchase, and when I do, am i still using paypal safely?
Thanks
1 and 2: Two words: Risk analysis. Another two words: historical data I'd imagine.
I don't have any idea of PayPal's inner workings when it comes to that, but I presume it's something along those lines.
3: Yes, set NOSHIPPING=1 in your SetExpressCheckout API call and a shipping address won't be collected. Note that you won't be eligible for PayPal Seller Protection in this case though.