I am currently implementing a very simple paypal checkout option on a website. For this I am using Express Checkout (Client side version).
It works just fine, but the dialog informs the user, that they will be able to review the order before confirming. However, when they click "continue" the payment instantly goes through.
If you look at their full working demo, you can see, that it is just what happens:
https://developer.paypal.com/demo/checkout/#/pattern/client
This seems highly inconvenient.
Is there any way I can get express checkout to show that review page?
You should specify commit: true in the button options.
Related
I'm relatively new to payment integrations.
I'm just wondering if, it is possible for me to redirect customers to PayPal's checkout page by returning a url for the checkout page from the backend, instead of using PayPal's Smart button?
Tbh, I am having a hard time looking at their documentations. So please bear with me.
It can be possible, but it is an old integration pattern. For current web checkouts, pairing the smart button with a server-side integration is a superior UX in every respect. Here's the code to use for the approval flow: https://developer.paypal.com/demo/checkout/#/pattern/server
This way you never have to redirect away to another (possibly unfamiliar) site and back; your site stays loaded contextually in the background at every moment. Also it has an incline "Debit or Credit Card" button you can include as desired.
I'm attempting to conduct financial transactions with the paypal api using what their documentation describes as 'in context, express checkout'. I have everything working properly when I use USD as the checkout currency but I'm having trouble using HKD and I will outline my situation below.
Given a normal in context express checkout flow of
get express checkout token
give user a link that paypal checkout.js detects the click of
user authrorizes the in context transaction
paypal post the token/payer_id back to my server
USD FLOW - everything ok
get express checkout token,
POST TO PAY PAL
"USER=hidden-facilitator_api1.gmail.com&PWD=NWhidden3TK&SIGNATURE=Arhidden3tCjMfqZyNAlfdDvZ6YAyktOYxObIAzKBgV0N2&METHOD=SetExpressCheckout&VERSION=109.0&PAYMENTREQUEST_0_PAYMENTACTION=SALE&PAYMENTREQUEST_0_AMT=2000.00&PAYMENTREQUEST_0_CURRENCYCODE=USD&RETURNURL=http://localhost:3000/checkout/complete?cartId=126&CANCELURL=http://localhost:3000/checkout/cancel&LANDING=Billing&ADDROVERRIDE=0&NOSHIPPING=1"
Returns Express checkout token
EC-8GN42843W29871826
Which I then embed in the browser as
https://www.sandbox.paypal.com/checkoutnow?useraction=commit&token=EC-8GN42843W29871826&ul=0
Which works fine, initiating the in context checkout flow as referenced here,
https://www.dropbox.com/s/nbigq78achl0xsy/Screenshot%202015-08-05%2011.43.12.png?dl=0
HKD FLOW - everything BROKEN
GET express checkout token
POST TO PAY PAL
"USER=hidden-facilitator_api1.gmail.com&PWD=NWXhiddenTK&SIGNATURE=ArOphiddenzfdDvZ6YAyktOYxObIAzKBgV0N2&METHOD=SetExpressCheckout&VERSION=109.0&PAYMENTREQUEST_0_PAYMENTACTION=SALE&PAYMENTREQUEST_0_AMT=2000.00&PAYMENTREQUEST_0_CURRENCYCODE=HKD&RETURNURL=http://localhost:3000/checkout/complete?cartId=126&CANCELURL=http://localhost:3000/checkout/cancel&LANDING=Billing&ADDROVERRIDE=0&NOSHIPPING=1"
Returns Express Checkout Token
EC-4JK68416ST774680H
Which is embedded as get in the browser as
https://www.sandbox.paypal.com/checkoutnow?useraction=commit&token=EC-4JK68416ST774680H&ul=0
Which when clicked actually totally hijacks and pretty much breaks the checkout process, the in context browser 'modal' opens but then something bad happens, the browser modal window closes itself and the parent browser context appears to be in some kind of redirect loop.
https://www.dropbox.com/s/y2snlujy8mtljwv/Screenshot%202015-08-05%2011.47.18.png?dl=0
I've contacted PayPal merchant/technical support crew and their answers were so bad it was almost like they either weren't reading my email, didn't care about my problem or just generally were incompetent and I hesitate to criticize someone professionally, but if paypal is taking a cut of transactions, I expect the supporting api and documentation to not be terrible.
What can I do in this situation to gain further insight into the problem that I'm having ?
Cheers and thanks,
JD
UPDATES:
The process is failing specifically related to HKD when I attempt to launch the in context browser window with paypal.checkout and I can successfully complete this process with other foreign currencies including (but not limited to) 'PLN' (polish zloty), 'DKK' (danish krone) but fails for 'HKD' (hong kong dollar) and 'THB' (thai baht), so maybe paypal checkout.js doesn't like certain regions ?
It would appear that the devil was in the details but PayPal express checkout and pay pal checkout support HKD but in context checkout using checkout.js does not support this and my troubles were tied to erroneously believing the the false parts.
https://www.dropbox.com/s/g7s0i5g0y718c8r/Screenshot%202015-08-05%2013.44.27.png?dl=0
I use magento 1.9. I setup express checkout. But after hitting "Checkout with paypal" paypal review page doesn't display order details. Someone suggested to implement "GetExpressCheckoutDetails" api. But i don't know where i'll put it.
Anybody has solution?
http://i.stack.imgur.com/RayuQ.jpg
Just been trying to find the new IPN History link on the new PayPal website and I can't see it anywhere.
Are they still supporting this?
The current PayPal for Business interface only provides a way to access IPN History if you have manually configured IPN in your PayPal account settings. In this case, you'd go to [your name] > Account Settings > Notifications > Instant Payment Notifications (click Update here), then the explanatory text there will include a link to the IPN History page.
However, that link would not appear if you have not manually configured IPN -- e.g., when your ecommerce platform automatically transmits IPN parameters to PayPal for each checkout. While you could manually enable IPN with a dummy Notification URL in order to get the IPN History link, this could result in PayPal completely disabling IPN for your PayPal account if they try sending any actual notifications to that dummy URL.
In that case, you can use this link to access IPN History directly once you're already logged into PayPal:
https://www.paypal.com/cgi-bin/webscr?cmd=_display-ipns-history
Note that if you have not manually configured IPN in PayPal, you will see a notice in IPN History saying, "The IPN feature is turned off. You must turn on IPN in order to create history data." That notice is irrelevant if your ecommerce platform specs IPN dynamically for each checkout; in that scenario, you can still view/search your IPN History without manually turning on IPN there.
More menu -> Site map -> Transactions -> IPN History
2020
Sitemap (Footer) -> Instant Payment Notification (IPN) history (under "Transactions")
It's still available in the same place. If you want to navigate to it
Log in
Profile link (white bar up top)
IPN settings
History link on this page
Currently it's directly at https://www.paypal.com/us/cgi-bin/webscr?cmd=_profile-ipn-notify (provided you're logged in)
In the latest UI: Settings > My Selling Tools > Instant Payment Notifications click "Update". You will see a link there called "IPN History page".
As of May 2022, it's still convoluted.
TL;DR:
For IPN History, try https://www.paypal.com/us/cgi-bin/webscr?cmd=_display-ipns-history
For IPN Settings, try https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-ipn-notify
Also, a few reminders:
PayPal IPN is a completely separate feature from PayPal Webhooks.
Even though it's the exact same concept (argh!).
PayPal IPN is associated with your normal/business PaypPal account. It is is not a part of the PayPal Developer experience.
Also, PayPal IPN is now clearly deprecated, if not effectively obsolete, so if your application code is still reliant on PayPal IPN you really should update it to use PayPal Developer APIs and the Webhook service instead.
Anyway, here's the steps I took to find it today on 1st May, 20222:
Start off on your PayPal Business Account Dashboard page:
https://www.paypal.com/mep/dashboard
It should look like this:
Don't confuse this with the Developer Not
Use the top-left menu to go to Account Settings:
https://www.paypal.com/businessmanage/account/accountAccess
On the Account Settings page, look for "Notifications" in the left-side menu:
https://www.paypal.com/businessmanage/account/notifications
Then you'll see the link to PayPal Instant Payment Notifications.
Annoyingly, they don't use the term "IPN" so Ctrl+Fing for that won't work.
Click the "Update" link (even though we aren't updating anything: we just want to see IPN History), and you'll be taken to a page belonging to Olde PayPal just with a new header:
https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-ipn-notify
And the link to the History page is disguised in the page's text:
https://www.paypal.com/us/cgi-bin/webscr?cmd=_display-ipns-history
And you'll be welcomed back-in-time to 2005 with a page that looks like this:
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.