Desktop/Mobile Website Browser
Accept Paypal payments on your website by redirecting shopper to Paypal pages. See checkout process below:
- The shopper selects Paypal payment option on checkout page
- The shopper is redirected to Paypal checkout page with payment details
- The shopper enters required information and confirms the payment
- The shopper is redirected to the confirmation page containing the payment result
Step 1. Initialize a Payment Intent
Create a PaymentIntent object with a request_id
, amount
, currency
and a merchant_order_id
from your backend server.
https://pci-api.airwallex.com/api/v1/pa/payment_intents/create \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer your_bearer_token \
-d '{
"request_id": "ed11e38a-7234-11ea-aa94-7fd44ffd1b89",
"amount": 20,
"currency": "EUR",
"merchant_order_id": "85d7b0e0-7235-11ea-862e-9f6aa1adfca6"
"return_url": "https://www.airwallex.com"
}'
Step 2. Get available payment methods
To be able to display PayPal as a payment option on your checkout page, you need to get available payment methods from Airwallex API.
When the PaymentIntent is created, send a GET
request with parameters country_code
, transaction_currency
, transaction_mode
to API endpoint /api/v1/pa/config/payment_method_types
to query for a list of available payment method based on the information provided. The response will also contain the required fields and necessary resources of each payment method for you to display them on your page.
Request:
/api/v1/pa/config/payment_method_types?transaction_currency=EUR&transaction_mode=oneoff&country_code=EE
Response: Render payment methods in items
to show all available payment methods to the shopper at checkout page.
{
"has_more": false,
"items": [
{
"name": "paypal",
"display_name": "PayPal",
"transaction_mode": "oneoff",
"flows": [],
"transaction_currencies": [
"*"
],
"country_codes": [
"*"
],
"resources": {
"logo_url": "",
"has_schema": true // default is true
},
"active": true
},
...
]
}
Alternatively, you can maintain available payment methods and corresponding resources locally on your server if you do not want to use this API endpoint. However, we highly recommend you get available payment methods dynamically from this API to avoid any trouble when payment method information or resources get updated.
Step 3. Redirect to Paypal to complete payment
When a shopper selects to pay with Paypal on their desktop/mobile browser, call the following API endpoints to get the URL in next_action
which you can use to redirect the shopper to Paypal pages to complete the payment.
- Obtain URL from Airwallex and redirect shopper to Paypal
Request:
https://pci-api.airwallex.com/api/v1/pa/payment_intents/{id}/confirm \
-H 'Content-Type: application/json' \
-H 'client-secret:
Ss3thJHPE6TyI4r-8BJFlqNz1mA7DblVuN0c8GOthnchp7Sf-_JuQnuX3sqzv7_0EiTMOs2kcGopFrMoFC0w7IzPCErJ1a0P7sFnpwB6uz-H2h_6rDhhSd2tKJF-l2myVOXQV4Zou3s_OsX6thLiUKI=" \
-d '{
"request_id": "ed11e38a-7234-11ea-aa94-7fd44ffd1b89",
"payment_method": {
"type": "paypal",
"paypal": {
"shopper_name": "xxxxxx"
"country_code": "EE" // Alpha-2 country code according to ISO 3166
}
}
}'
Response:
{
...
"next_action": {
"type": "redirect",
"method": "GET",
"url": "https://r2.girogate.de/paypal/T1069/I?tx=946001329&rs=PpRx4KawQpYlXP991Nx9PM2uNje3tqHR&cs=c54ab68084c1e125a1060370a2788b58f2f424ea0cc320b697248d437b105a59"
}
}
- Wait for notification from Airwallex
Airwallex will notify you on the payment result asynchronously via the webhook API. Please refer to webhook documentation to set up your webhook accordingly. Although subscribing to different events is optional, it is recommended to at least subscribe to the ‘payment_intent.succeeded’ which indicates that the shopper has successfully paid for the order via Paypal.
- Query the PaymentIntent status
You may also query the status of a payment anytime via the PaymentIntents API
GET /payment_intents/{id}