Low-level API integration
Allows you to build your own custom UI on top of our low-level APIs.
Step 1: (Optional) Create a Customer
Create a Customer object and pass it to your server if you want to save your customer's details and attach payment information to this object. Note that this step is compulsory when you process recurring payments for a new customer.
From your server, access Airwallex API to Create a Customer API.
Step 2: Create a PaymentIntent
Your client app will need a PaymentIntent to create a payment session for Airwallex SDK to present a payment flow.
From your server, access Airwallex API to Create a PaymentIntent API and pass the returned PaymentIntent to the client app.
Step 3: Create a PaymentSession
Create a PaymentSession with all the order related information and payment type information. Ensure you include the merchant identifier information received after registering on Apple developer portal. See Enable Apple Pay for iOS.
Step 4: Collect payment information using custom UI
For native UI integration, this step is handled by the Airwallex-provided UI. For low-level API integration, you must implement your own UI to collect all the information required for payment.
For card payment, your app must be PCI-DSS compliant if using Confirm card payment with card and billing details flow. Provide a PCI-DSS AOC and renew it regularly.
For redirect payments, make sure you collect all the required information (e.g. shopper phone number, email) specified in the response from Get available payment method types API.
Step 5: Start payment flow with PaymentSessionHandler
Create PaymentSessionHandler
Pay with card
Pay with a saved card (consent)
- Pay with a consent object: Confirm intent with a payment consent object
AWXPaymentConsent
- Pay with a consent ID: Confirm intent with a valid payment consent ID only when the card is saved as network token
Pay with Apple Pay
Make sure you have set up
session.applePayOptions
correctly.
Pay with Redirect
Step 6: Query and present payment result
After the PaymentIntent
is confirmed by SDK, this delegate will be called by the SDK automatically and you can check the status to see whether the payment process has completed or not.