iOS SDK
When capturing a Stored Credential for the first time

Create a customer object and pass it to your server if it is a new customer. Recurring payment requires a customer ID to be initiated.
From your server, Create a Customer API with customer data received from client app and save the
Customer IDreturned.(Optional) If the shopper wishes to pay for the first order
Your client app will need a
PaymentIntentto form a payment session for Airwallex SDK to present payment flow.From your server, access Airwallex API to Create a Payment Intent API and pass the
PaymentIntentreturned to client app.Create an
AWXRecurringSession(if No payment is to be made here), or anAWXRecurringWithIntentSession(ifPayment Intentwas created for this order)Parameters required when creating a
Sessionare listed as follows:
AWXRecurringSession
AWXRecurringWithIntentSession
- Present payment/authentication flow by creating an
AWXUIContextwith the Session created in the last step
Handle authentication result
In
AWXPaymentResultDelegate, handle authentication result to present it to the shopper.
If PaymentIntent was created for this order, retrieve the Payment Intent API from your server to query payment result and pass it to client app.
When initiating a subsequent one-click transaction (CIT)

Create a
Payment IntentYour client app will need a
PaymentIntentto form a payment session for Airwallex SDK to present payment flow.From your server, access Airwallex API to Create a Payment Intent API and pass the
PaymentIntentreturned to client app.Create an
AWXOneOffSessionwith thePaymentIntentcreated in the previous step, areturnURLto your app, and shipping address and shopper country code of this order.
- Present payment flow by with the
Sessioncreated in the previous step, Airwallex SDK will handle the rest of the payment process and let you know when the payment flow is completed or cancelled.
Query and present payment result
After the
PaymentIntentis 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 been completed or not.
Note that a completed flow does NOT imply a successful transaction, you need to query the payment result afterwards through your server to know whether the order is paied or not. Inside AWXPaymentResultDelegate, ask your server to retrieve the PaymentIntent.
On your server, retrieve the Payment Intent API, get the payment result within it and pass it to client app.
When initiating a subsequent subscription and autodebit transaction (MIT)

From your server, Create a Payment Intent API to request for a subsequent payment.
Confirm the Payment Intent API with reference to Payment Consent ID of the stored Payment Consent