How to set paypal checkout to specific country for shipping? - paypal

customer pay my products from outside shipping address country, i cannot ship outside the country and only want ship within canada
I have to set paypal checkout only for canada address

This depends on how your PayPal Checkout flow is configured and which PayPal API and/or SDK you are using, but the general answer that applies to almost all PayPal Checkout integrations (except the old HTML payments standard) is that you can get the selected address before capturing or executing the payment. So if it's a non-CA address, simply refuse to do the final API step of capturing the order/payment and display an error.

Related

PayPal adaptive guest payment requirements

We are using the adaptive payment API to setup a payment between 2 of our users. The receiver user has a paypal account, the source (the one who pays) doesn't. We don't use any chained or parallel payments just simple tranffer from A to B.
We'd like to allow the source to pay with credit/debit card. The problem is that in some cases its allowed, and in some it isn't.
We found this document about the subject but it looks outdated, since in the limitations section it says:
Cannot be made to a personal or un-registered PayPal account
I have a personal account and it works with that but with my colleague's personal account (different country) it doesn't.
Not available if the API caller passes an email address in the request
envelope.
This is very vague. Pass where? We use the email address in the pay request but it works in some cases.
Could anyone give some up-to-date info about this subject?
Guest payments are only made available to certain countries no matter which PayPal product you are using (PayPal Payments Standard, PayPal Express Checkout, Adaptive Payments). So if a buyer is in a country that requires a PayPal account, then they will only see the option to "Login to PayPal" or "Create Account" when they land of the PayPal checkout page. Unfortunately there is not a list of countires in our documentation to show which countries allow guest payments and which don't.
Here are my findings together with PP_MSI_Colin's answer:
Documentations
Guest payment - integration guide (UI is different now)
Guest payment - adaptive payment
Account optional settings
Requirements
Upgrade to business or premium account.
Make sure the email address is verified.
Make sure that on this settings page the Paypal account optional setting is ON.
Limitations, exceptions
In EU, this option is limited to 10 payments/card
In some countries (tested in Hungary) a personal account can also receive guest payments.
In some countries it is always disabled. No official list found.
Logic
Even if it is enabled for a user, it is up to Paypal if they show it or not. Where its enabled it also depends on the paying user. If Paypal finds (from cookies, etc) that the user has a paypal account they don't show credit card option. To test it try to pay in an incognito window. PayPal’s fraud prevention measures can also cause the guest checkout to not be displayed in certain scenarios
Limitations for making guest payments via PayPal adaptive payments are documented here:
Guest payments cannot be made to a personal or un-registered PayPal account

How to stop NVP forcing customers to sign up for account

I've had an NVP integration running for a year, and it's been great.
However, PayPal have now changed the page my customers see and the new style forces a user to create an account.
My customers are older people and don't want to sign up for an account. Previously they didn't have to
Is there anything I can do to make this optional again?
Thanks
It's important to remember that Guest Checkout feature for Website Payment Standard and Express Checkout is not guaranteed for every transaction.
To control the risk for merchant, PayPal may close the guest checkout function for some special countries or districts buyers and the buyer will be asked to create a PayPal account.
If possible, please consider using the PayPal Payment PRO product line, where merchants can accept Credit Card directly within their own website.

Paypal keeps on asking to create new account when paying using credit card

Is this the real behavior of Paypal. I am using the Paypal REST api (payment api's), and it is working fine and customers can use it. The only problem is when a new customer (one that has not visited paypal.com once) tries to buy our product, paypal seems to require him to create an account.
Here's the procedure:
First time to visit paypal.com (meaning no cookies / not cached or anything).
Customer Buy Product (Our website creates the payment transaction then redirects him to paypal.com)
Customer click Pay with my credit or debit card (He does not want to create a paypal account).
The country set is Philippines (I think paypal detects this so it is initially set to where I am) and I can proceed paying with my credit card
I tried changing the country to somewhere else
Here's comes the problem, on some countries, I am shown a different form, a form for creating a new account in Paypal.
Hope you understand what I am saying. Thanks.
It’s important to remember that guest checkout is not guaranteed for every transaction. PayPal runs a risk check to determine eligibility for guest checkout. There will be times when guest checkout is not available. This is intended. Here are a few things to make sure guest checkout is offered as often as possible.
-Verified PayPal account
-Confirmed email address
-Guest Checkout enabled - To see this, log in, go to Profile and click 'My selling preferences', click on Update next to Website preferences - scroll down the screen and find "PayPal Account Optional" section - you can enable/disable PayPal Account optional here.
-With Express Checkout their cart must pass “SOLUTIONTYPE=Sole”
Unfortunately, there are few parameters which are still incompatible with REST API including SOLUTIONTYPE which works only in Classic API.
If all of these are met and it’s not available then our system has decided to disable the guest checkout option for risk reasons. This is not a permanent decision and it will be available in the future.

How do I prevent the user to change the shipping address? Or instant update callback for Payflow Pro Express Checkout

I'm using Payflowlink Pro Express Checkout
Flow:
User select items on merchant site.
User clicks buy and fill shipping address.
Server get rates from USPS and FedEx for selected items.
User selects desired postal service with defined rate.
Server calls paypal to setup transaction with selected shipping rate.
User on paypal where he or she able to change shipping address, but shipping rate is already calculated for address what he inputted on merchant site.
I've found a solution of my problem only for classic API (Instant update callback), but not for Payflow Pro Express Checkout
Like a part of solution, user'll be warned about this situation on merchant site, but.. How do I prevent the PP user to change the shipping address or tell me please if it is possible to use instant update callback for Payflow Pro Express Checkout?
Try using the ADDROVERIDE variable with a value of 1. Doing that tells PayPal to use the shipping address you provided and not the address the buyer has set in their PayPal account.
The ADDROVERIDE and the shipping variables are available in the Express Checkout for Payflow Pro guide.
Sorry, I wanted to add this as a comment to the above, but my reputation is < 50
For some reason I couldn't get NOSHIPPING=1 and ADDROVERIDE=1 to prevent paypal asking for the shipping address; It may be due to me not supplying the address to PayPal in the first place.
However, 'no_shipping=1' does prevents PayPal asking the user for the shipping address (for me at least)
I think there may be two different solutions based on certain scenarios, so if one is not working try the other.

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!