Merchant Security Updates: Learn how security upgrades may affect your integration at the 2017-2018 Merchant Security Roadmap Microsite
Upcoming Change to PayPal Subscriptions Beginning February 1, 2018, changes will be made to the way PayPal creates, manages, and displays subscriptions. Click here for an FAQ related to the upcoming changes being made to PayPal subscriptions.
I have PayPal Express on my Abantecart site, it works.
I disabled the credit card option in PP Express.
The way my site works, the customer has 2 payment options:
click the PayPal Express button and login to PP to complete checkout, or
click the 'Checkout With Credit Card' button to commence a Stripe credit card checkout process.
If a customer has a paypal account, they can use PP Express. If not, they checkout with credit card via stripe.
If a PP customer is buying an item for themself, the PP Express extension works perfectly. They click PP Express, login, click continue, and bounce back to my Confirm page to click confirm. The PP Express extension correctly populates the billing and shipping address fields on my site with the PP user's address data.
However, if a PP customer chooses a different ship-to name & address while they are on the PP page (like for a gift for some other person), there is a problem with the address data sent back to my site: I get the PP customer's name and the gift recipient's address.
Betty lives on Red Street in Dallas.
She goes to my site and uses PP Express checkout to buy a purse as a gift for Julie who lives on Green Street in Houston.
The only information passed back to my site is Betty on Green Street in Houston.
I tested this several times, using a name & address from my "address book" on PayPal, and also entering a new name & address by hand.
Here are the resultant problems:
I don't receive or know the name of the GIFT recipient (Julie).
I don't receive or know the address of the BUYER ( Betty, who is my actual customer).
Also, I don't know that I don't know, because to me this looks like any other normal transaction.
There is no way for me to know that I am getting a BUYER name combined with a Recipient address.
There is no indication that the BUYER is attempting to use the PayPal tool to specify a different shipping address.
Also, when the customer Betty arrives back at my Confirm page, after PayPal but before clicking the Confirm button, Betty will see her name combined with Julie's address, in both the Billing and Shipping Address fields on my site. There is no means for editing the address data on the Confirm page, so Betty will click the Back button on my page so that she can edit the incorrect address data, which will then restart the checkout, requiring another visit to Paypal, and repeating the error. Then Betty will just leave. Lost sale.
I asked the AbanteCart developers about this, and received only a very short reply:
"Unfortunately paypal API gives only shipping address for payment. We cannot to affect on it."
I have read PayPal support files about managing address data withing PP Express, and also searched this forum, but cannot find any info on this problem.
1 - How to fix the primary problem of PP passing BUYER name + GIFT address back to my cart whenever a PP customer on my site chooses a different shipping address while they are on the PP page during checkout?
2 - How to tell PP Express to send BOTH the BUYER name and address, and the SHIPPING name and address, whenever a PP Express customer chooses a different shipping address while on the PP page during checkout? BOTH.
My site is inspired-designco.com. You can see this problem yourself by adding an item to the cart and then clicking the PP Express option, then logging on to your account, then choosing a different shipping address, then clicking continue. This will take you back to my Confirm page, where you will see the address problems I described above. As long as you don't click the Confirm button, the sale will not complete. You can even go back and empty the cart after you see my Confirm page, etc.
That's awesome! Thanks for the replies! This is great! I'll have it fixed in no time! [thumbs up thumbs up thumbs up]
Wow! That's an even better idea! Thanks for posting it! This support forum ios GREAT. So many great responses, and all within minutes! I love it!
Hi VMorrison, the checkout offers the option to change the shipping address for the buyer. If this is a gift for somebody else than the buyer, then what you could do is to store a different address in a variable so you will have the shipping address for the receiver and the other address with the buyer/payer address.
To do that you need to collect these different address details on your website and pass them to ExpressCheckout through the following variable: PAYMENTREQUEST_n_CUSTOM
You can then retrieve the value of this variable. Please find here the specifications of this varaible: https://developer.paypal.com/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP/#payment...
So you could ask on your website to fill in the GIFT ADDRESS and then when you call ExpressCheckout you pass these details in the PAYMENTREQUEST_0_CUSTOM variable.
Whatever address will be selected on the PayPal checkout you will have the GIFT address reading the custom variable above.
Thanks for the reply!
A primary objective for PP Express is speed.
The PP Express button is on the vendor site's Cart page.
From the Cart, the PP account holder sees the PP Express button, and clicks it.
Assuming they use the "stay logged on" feature of PP, they are now 2 clicks from completion of the transaction: the Continue button on the PP page, and the Confirm button on the site page that PP returns them to. That's it. There is no data entry or other interaction required. Hence the name paypal EXPRESS. As in the spirit of Amazon 1-click checkout. Because shoppers want to be done. They don't want to have to keep clicking stuff and entering data, they just want to be done.
Now assume the same customer and same transaction from above, with the only difference being that the customer wants to ship the purchased item as a gift to Aunt Sally in Petaluma...
From the Cart page, the customer clicks the PP Express Button.
On the PP page, the customer clicks the "Use different address" button. Then the customer chooses Aunt Sally from the address book that is provided by paypal. So that is two additional clicks. No data entry required if Aunt Sally is already in the PP acount-holder's address book.
Then the customer clicks Continue on the PP page, and the transaction is the same from there to completion.
So what we see is that PP already has the "gift" capability built into the PP Express API, and based on that capability, a website customer pursuing a gift purchase is only 4 clicks from completion after they click the PP Express payment button on the vendor site.
BUT - the bug in PP causes PP to return "billing name" plus "shiiping address" to the website, which will confuse the store-owner and the customer, resulting in no sale. Important: this bug already exists. Now. Today. It causes all of the problems I described in my OP.
We know that PP knows the accountholder's name and address data. That data = "billing adress".
We know that PP already knows the name and address of the "different ship-to address" that is either selected from the PP address book or hand-entered by the customer (and then saved to address book) when the customer is buying a gift.
We know that despite this information being known to PP, PP will pass an erroneous "billing" name + "shipping" address combination back to the site. and...
PP will only pass 1 address back to the site, which results in...
The erroneous combination populating both the billing and shipping adddress fields on the vendor site, which confuses the customer, so the sale is lost.
So now we get to your response. You say that the solution is to add a new gift address entry element to the website, so that customers who want to buy a gift with PP Express must first choose a "gift status AND hand-enter address" routine on the vendor site before clicking the PP Express button, after which they may still be inclined to use the PP "different address, choose it from my address book" feature on the paypal page because they (the account holder) have no idea that the PP "different address and address book" feature is ACTUALLY WORTHLESS AND DOESN'T DO ANYTHING EXCEPT PASS ERRONEUS ADDRESS DATA BACK TO THE VENDOR SITE!!
Your solution proposes to slow down the EXPRESS nature of a PP Express checkout by adding the requirement to hand-enter a gift address on the vendor site so that the gift address can be passed to Paypal, instead of utilizing the existing PP capability to select a different address from an address book on paypal.
Problems with your idea:
1 - there is no assurance that PP will not then still **bleep** up the address data that it passes back to the vendor site. Why would it not continue to combine billing name with shipping address?
2 - you are killing the Express spirit of PP Express by failing to utilize the features that are already built into PP Express. All PP needs to do is change the API so that it is capable of accurately returning TWO addresses back to the vendor site in the instances that a customer chooses a gift address from their PP address book.
If the API is never changed to pass 2 addresses back to the vendor site, then how will the vendor ever know that the address he has received from PP is the address for a gift recipient, not the address for his actual customer?
This bug is simple. The fix is simple. We just need a way to break through the impenetrable fortress surrounding the coders at PayPal and get one of them to change the API. In my 18 years of dealing with paypal, that has never been a simple process.
Can you do it Andre?
Hi Dave, the option to change the address on the checkout page will allow you only to change the address but the name will be the same.
The solution I gave before was in case you wanted to store both the addresses in the transaction.
Reading your post then you can pass the name and address of the gift receiver into the ExpressCheckout variables below, that have been created for the purpose to pass a different ship-to name and address:
Here the references on that:
In this way you have:
1) the API caller who process the API and whose API credentials are used to process the payment
2) the payer that can be for example "Mr Jhon Doe" with his PayPal account
3) the shipTo name and address that can be "Mr Robert Gift", the receiver of the gift with a different name and address than the payer
You need to collect and pass the gift receiver details to Express Checkout (using the variables above) together with the 2 variables below to make sure to store the address into the transaction:
Hi, I understand your reply, but it is not a solution.
1 - I guess PP Express is not "Express". It is not expedient at all to hand-enter a gift address before clicking the PP Express button to check out.
2 - It doesn't make sense to have the PP Express button on the Cart page of the vendor site. There is no provision on a cart page for entering a gift address.
3 - Even if the PP button is on a later page, it doesn't make sense to ask customers to enter address data before clicking the PP Express button. The whole purpose of an Express checkout is to eliminate the slowest parts of checkout: address entry.
4 - It doesn't make sense for PP to offer PP users access to their "address book" while they are on the PP page during checkout, because any user who uses the address book will transmit an incorrect name+address combo back to the vendor site when they click continue.
5 - A small proportion of instances of "use different shipping address" are for people who want to shp something to themselves at an address different than their standard address. The vast majority on the other hand are gift purchases.
6 - There is no way to control what people will do when they are on the PP page during checkout. Some are bound to click the "use different address" feature with the intent to ship to a gift recipient, and then be puzzled when they see a wrong name+address combination when they are returned to the vendor's Confirm page. This leads to lost sale.
Everyone knows how e-commerce checkout works: the goods are shipped to you at your billing address unless you specify a different recipient. This is how e-commerce works everywhere in the world, except for paypal.
I shouldn't have to modify (complicate and slow-down) my checkout flow just because paypal doesn't work intuitively.
The proper solution is for Paypal to improve their code so that PP Express works the same as every other checkout flow on the planet. The customer can ship to theself at the billing address, or they can specify any other address and the payment app will not then insist that the data transmitted back to the vendor site must e paypal account-holder name plus whatever address was enetered.
I can think of one obvious solution: don't use paypal.
If my only choice is to either modify my site to slow down and complicate the checkout flow, or to stop using paypal...