Express Checkout is a PayPal API payment system that allows users to accept payments from PayPal accounts. This API is free to use.
Express Checkout exists to allow you to accept PayPal as a payment option in your checkout system. Unlike PayPal Payments Pro, this option does not require a subscription to work. This option must be presented to customers before you require them to enter any other data.
Express Checkout works through a series of redirects and API calls. You can do this in both REST and Classic APIs.
- You send the initial data to PayPal. This includes how much you are asking the user for and any item details. This item detail will be visible in both your PayPal account, as well as theirs. You will need to specify a URL within your checkout process where PayPal needs to return your users after they have authenticated with PayPal.
- PayPal responds with a token, representing that user's session. You redirect the user to PayPal's site using that token
- The user logs into their PayPal account and selects a shipping address. They confirm they want to pay you.
- PayPal redirects the user to the URL you specified in Step 1. This redirect now includes the token and their payer ID
- At this point, you may request the user's payment details (including their address) from PayPal.
- It is recommended you offer the user a final confirmation page before paying but this is not necessary. Regardless of what you decide to do, you now make the final API call and complete the payment.
One major caveat here is that you will get one transaction ID and the customer will get another. You need to store your transaction ID, as this is what you will use for future API calls (i.e. refunds).