We're using Paypal Name-Value Pair API. As I see, there are at least 3 display styles:
1 - Paypal Account first
2 - Guest/CC first
3 - So modern layout
Do you know anyway to pick one of them as default theme?
Thanks for any suggestion.
PayPal is in the process of testing and rolling out #3 to all payment flows, but they are not there quite yet.
Sometimes, depending on the situation, variables passed, buyer/seller country, other factors, it will default back to #1 or #2.
If going to #1 or #2, you can control which one of those screens defaults by passing a couple of variables in the SetExpressCheckout call:
SOLUTIONTYPE=Sole
LANDINGPAGE=Billing
SolutionType allows Guest Checkout (Paying with a CC without signing up for PayPal). LandingPage=Billing will default (if the classic view is used) to the Guest Checkout portion (#2 above). Passing Login instead of Billing will default it to #1.
Related
I have the following variables defined in my SetExpressCheckout API code:
SOLUTIONTYPE=Sole
LANDINGPAGE=Billing
USERSELECTEDFUNDINGSOURCE=CreditCard
Previously, this worked so that the shopper is first shown a form where he can enter his credit card details, followed by an option to log into his existing PayPal account. Since about a week however, everyone gets this screen:
Yes, I tested it from several machines, several countries, with cookies cleared, etc. And the sandbox is giving me the same issue.
Unfortunately, not all of our users are tech savvy and we've heard from several of them that they found no way to pay with credit card, even though the PayPal button to pay with a card is there - just not very visible because it's grey.
Is anyone experiencing the same thing lately? Have you found a way around it to display the credit card form first?
Unfortunately, there's nothing you can do about this.
PayPal is split testing those checkout pages. I've seen 3 different versions pop up lately. The old/original one where the full form is displayed by default, this new page design/style with the button only, and I've also seen another new page design that does display the full form as well by default.
They are letting their split tests run their course, though, and in theory will choose the one that performs the best over all.
I've integrated the PayPal WPP Pro Payment Method into my Drupal 7 site and it's working ok. My invoices are starting at #1 however, and I'd like to change my invoice numbering system...anyone know how to change the default?
#Machavity is correct except that with CreateRecurringPaymentsProfile the parameter is actually called INVOICE.
It sounds like Drupal must be using that with its own record IDs. If that assumption is correct then you'll need to configure Drupal to set those IDs how you're wanting. Whatever value you send in that parameter to PayPal is what will get used.
When you send your DoDirectPayment (or however you're sending it) there's a parameter called INVNUM you can pass. This value is defined by you and passed back to you as you sent it, but unlike CUSTOM it is shown to both you and the customer (if you're doing it in Express Checkout)
This is probably a stupid question, I think I'm having a mental block.
I want to use Paypal's express checkout for buyers to make purchases with as few steps as possible (also using Paypal's optional account feature). The problem is: for me to direct the user to paypal, I will need to have calculated shipping costs, which depends on the country they're in. Obviously I cannot know this unless I have been told one way or another. What are common solutions to this problem?
Ideas:
Use their IP address. Not reliable - various types of proxies, VPNs, anonymizers etc.
Have the user select their country from a drop-down box before I redirect them to paypal
Force them to log in using Paypal's Identity service before calculating postage
Use 1. or 2. and once payment is received, if country is different to expected,
Refund buyer the difference in postage cost or request an additional payment. (Hardly ideal)
Similar to 4., instead of "Sale Payment Action for Express Checkout" Use 1. or 2. in conjunction with one of Paypal's delayed express checkout payment methods and if necessary reduce or increase the amount charged:
Authorization Payment Action for Express Checkout
Order Payment Action for Express Checkout
I'd like to know what solutions other developers have chosen - maybe I've missed an idea. As a consumer, I cannot remember seeing solutions to this.
The general way people do this is simply to use GetExpressCheckoutDetails to obtain the buyer's shipping address, apply any shipping/tax as necessary, and display a final review page on your site that the user would confirm before calling DoExpressCheckoutPayment.
If you want to eliminate the additional review page (PayPal's and then your own) you can use the Instant Update API.
In this case you would include an additional parameter on the URL when you redirect to PayPal (useraction=commit) and this will change the button on the PayPal review page to say Pay instead of Continue.
Also in your SEC request you'll include the CALLBACK parameter and include a URL to your callback listener. PayPal's review page will POST the buyer's shipping address to this callback URL so that you can receive the data, calculate shipping and tax accordingly, and send a response of those options back to the PayPal review page. This will populate the PayPal review page's drop down menu for the shipping option and the user can choose accordingly.
This method allows you to utilize the PayPal review page entirely and finalize the payment there so that the only thing the user sees once they're returned to your site (after you call DECP) is a final thank you / receipt page.
I need to implement Paypal express checkout and client needs the Paypal checkout to have their own theme (at least the header). Paypal facilitates that by providing an option to upload banner image and a logo. That works fine for me, but I have a different scenario here.
Paypal checkout has 3 (abstract) steps, first where Paypal asks for login, second where it asks you to review shipping address and final the payment confirmation page. I need Paypal checkout to have three different banner images for three different steps. The reason I want to do this is because I want to give a feel of navigation to the user, each banner image will have a tab selected for each step. It might sound confusing, look at the screenshot attached and you'll understand. Its a shot from a checkout on Etsy.com
Is this possible at all? If not, how have the guys at Etsy.com done this? Is there any other way to implement tab/navigation like the header in Paypal Checkout? Any suggestions?
Etsy uses a fixed header as well, specifically https://www.etsy.com/images/paypal/paypal-checkout-steps.png
However, the same header is used when you're returned to Etsy's website for order review and order completion.
To answer your question directly; in PayPal itself, you can't set up three different 'headers' for each step in the process.
I'm using paypal website standard and passing my order id that is generated on my site via item_number field. I was wondering, how does paypal know that the content in the form has not been altered by user? For example, someone could just change the amount of $10 to $5 and paypal would not not have any way of knowing. I've doe this before with other payment processor, and they make me send them md5 hash of amount and some other data + secret key, but I am not sure if paypal has this?
Based on this article, I believe it depends on whether or not you are using "Payment Data Transfer". If you're just using a button, then you'll need to manually verify the payment amount before shipping. If you're using PDT, you should be able to verify the payment_gross amount sent back in the response from PayPal.
Your right -- in general you can't keep someone from altering your data. If you must use PayPal (yeah, I know, no monthly fee) so far as I know you have three options:
Let PayPal host your button data. But this gives you little control over the process.
Manually verify each transaction, checking price etc before shipping item.
Using their API to receive completed transaction to automatically check data.
Another thing to watch out for is calculation of sales tax. PayPal's approach was too simplistic for our needs, which forced me to take control of the checkout process.
See this link.
you should try to implement it using ipn, pdt is prone to not passing the variables from paypal to your website if the user does not press the "go to store" button. as what others had answered hosting your button would make it secure at the cost of flexibility. Here is a link on the variables that could be altered on hosted buttons https://www.x.com/people/PP_MTS_Haack/blog/2009/11/11/override-variables-for-hosted-and-encrypted-buttons , as you would look into the variables, you cant really change the important ones.