Does Express Checkout Trigger IPN? - paypal

I am working on integrating this
https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/
Into my website. But my question is while using Express Checkout (posted in link) will it trigger an IPN like normal? Because my website currently just uses a normal PayPal button that when payment is complete my IPN listener receives and processes the IPN message. But I am just wondering if after a payment is made through Express Checkout if IPN message gets sent to my IPN listener like normal?

Yes, Express Checkout triggers an IPN just like any other PayPal transaction, but the txn_type would be different.
If using Express Checkout with a single item the txn_type would be express_checkout. If multiple items are in the Express Checkout payment then it would come through IPN as cart.
More details on that available here: https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNandPDTVariables/#id08CTB0S055Z

Related

PayPal IPN empty when buying by card

I have tested a PayPal IPN on sandbox. It works without issue. I tested it using the demo PayPal account. Now I have moved live I cannot test with a PayPal account, as I only have one. So I tried using a card. The payment is successfully made. However, the IPN is empty.
I don't have any PHP errors for the IPN call. The IPN URL defined in Notifications -> Payment Notifications on my live account is correct.
The payment is made using PayPal Smart Checkout: https://developer.paypal.com/docs/checkout/#how-the-buttons-work
Does PayPal not use IPNs when buying by card?
What do you need IPN for? That is a very old service.
Use a server-side integration for the PayPal Checkout. Here's the UI: https://developer.paypal.com/demo/checkout/#/pattern/server
You'll need two corresponding routes on your server, one for 'Set Up Transaction' and one for 'Capture Transaction', documented here: https://developer.paypal.com/docs/checkout/reference/server-integration/

Paypal Express Checkout : Creating subscriptions / recurring payments

Using my Paypal account, I would like to add the following functionality to my new website
A checkout process that allows for payments via Paypal, Paypal Credit, or credit card (Google and Apple Pay would be nice)
The user should not leave my website
The checkout process should create a subscription / recurring payment
I would like to be notified if they cancel their sub or their payment is declined in subsequent months. (I'm assuming I can use IPN for this?)
I've played around with the Express Checkout form builder, but I don't see a way to specify "payment type". i.e. "Subscription"
Is this possible?

Javascript Express Checkout - are they IPN compatible?

I'm currently using PayPal buttons on a site. When the transaction completes, my backend system gets an IPN with the details to process and dispatch the purchased item.
The javascript-driven express checkout looks nice and fancy, but I'm confused by the mixed statements and documentation. Do I need to implement WebHooks to achieve the same with the newer express checkout? Or do I still receive IPNs?
I also have subscription buttons that won't use the express checkout yet. So I need to know if I can use IPNs to process both purchase types, or if JS-express checkouts only send webhooks and not IPNs.
I want to avoid signing up to webhooks and then receiving both webhooks and IPNs for the same order.
Found out I can actually test this in the sandbox by creating a sandbox merchant account, logging in on sandbox.paypal.com, and setting up IPNs there.
Yes, IPNs are still sent for the Javascript Express Checkout functionality. Webhooks are optional.

IPN with Express Checkout

I'm overflowed a little bit reading Introducing IPN https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/:
at the begiining: "IPN is a message service that PayPal uses to notify you about events, such as: Instant payments, including Express Checkout, ..."
at the end: "If you are using Express Checkout ... You should not use IPN for this purpose."
Perhaps anybody knows correct option - to use or not to use IPN with Expres Checkout?
IPN can be used for purposes such as:
Trigger order fulfillment or enable media downloads
Update a list of customers
Update accounting records
Create specialized "to do" lists
If you are using Express Checkout or Direct Payment, the PayPal API notifies you of the status and details of the transaction immediately and automatically. In either case, you can immediately show your customer the payment information returned by PayPal . You should not use IPN for this purpose.
This means that you need not use IPN for knowing the transaction status , because once "dodirectpayment" is completed, you will know the transaction status immediately.
Yes, if you want to use IPN for backoffice operations such as updating your own database, emailing your customers upon purchase and offers etc. you can use IPN with Express Checkout.

Do you need to use IPN with express checkout to confirm PayPal payments?

When I use the Checkout express API calls do I need to have an IPN listener to confirm payment?
Some places give the idea that once I receive a response from DoExpressCheckoutPayment the payment has gone through and I can take action - update the database etc.
Some posts here http://www.zen-cart.com/showthread.php?72304-Paypal-IPN-and-Express-Checkout suggests that IPN is old or outdated.
You could use either or, or you could use both. The IPN will will update your system if the buyer pays with an echeck once it clears, just as it will update your system of refunds and chargebacks. The respone from the Express Checkout API call wont do this. You would have to check manually.