I am working on a project which will be able to accept paypal payments. The sequence I am using is as follows:
My current development sites' payment steps:
- The user goes to my site,
- Chooses to pay for something,
- Is redirected to paypal,
- The payment is completed on paypal,
- Then the user gets redirected back to my sites success url.
This works fine, as I use an IPN listener to update my database in the background when paypal decides to confirm the committed payment and let the user know accordingly.
However, a few days ago, I was doing some online shopping of my own, and paid using paypal. I noticed that when I paid, I was redirected to paypal, where I logged in and saw the paypal invoice. I clicked confirm, and I was redirected back to the sellers website, where I so a summary and was told to commit the purchase!!!
So basically, the sequence was something like this:
My shopping experience from a different sellers site:
- I wanted to pay for the items,
- I was redirected to paypal,
- I was the invoice and confirmed the payment,
- I was redirected to the sellers site,
- I was was shown a confirmation of the order and was asked to commit the payment,
- I committed the payment and was told that the order has been completed.
The difference, my site commits the purchase on the paypal website and I listen for a reponse from paypal using their IPN system, but this second site seems to commit the payment on the sellers actual website.
I thought, wow, that felt so much more reassuring from a user experience point of view.
How is that done?