Headless Apple Pay (No Auth and No KYC)
Headless Apple Pay (No Auth and No KYC)
Headless Apple Pay is a lightweight, embeddable UI module that allows partners to offer Apple Pay as a payment method directly within their own application without loading any widget.
Problem Statement
Currently, Transak requires loading the full widget for Apple pay, which forces users to go through multiple screens before reaching payment module. This creates friction and limits the partner control over the payment experience.
Here are some of the key challenges with the current approach:
Our Solution
Headless Apple Pay exposes just the Apple Pay button as a standalone, embeddable component. Partners control where it sits, how it looks, and what happens after payment. Transak handles all the payment infrastructure in the background.
Here are some of the key benefits of the Headless Apple Pay solution:
How does it work?
Current Limitations
Coverage
Supported EU Regions
How to integrate?
Generate a quote using the Quote API
Call the Get Quote API to get a quote for the transaction. Pass the apiKey, fiat amount, fiat currency, crypto currency, network, and order type.
Set paymentMethod to apple_pay while creating a quote.
A successful response returns a quoteId.
Create a transaction session (using Backend only)
Call the Transaction Session API from your backend using the quoteId and the user’s wallet address. You can optionally pass a config object to customise the look and feel of the Apple Pay component.
A successful response returns a sessionId.
Load the Apple Pay Component via Transak UI SDK
Use the Transak UI SDK to render the Apple Pay component. Pass the sessionId received in previous Step.
React Native
Error codes
The onError callback receives a code value. Use it to handle specific failure scenarios:
Here’s how the Apple Pay module appears :
.png)
Process the payment with requestId (using Backend only)
Once the SDK fires onSuccess with a requestId, call the Transaction Process API from your backend to complete the payment and create the order.
A successful response returns the full order details.
Track the requestId (using Backend only)
Call the Transaction Request Status API to check whether the request has been processed. Poll this endpoint after calling the Transaction Process API until the status reaches a terminal state.
Once you receive an orderId, use the Get Order by ID API to fetch full order details.
API Overview
Creates a transaction session using a quote ID and wallet address, returns a sessionId to initialise the Apple Pay component.
Processes the Apple Pay payment using the requestId returned by the SDK’s onSuccess callback.
Polls the status of the requestId until it reaches a terminal state.
Errors & Fallback
API Errors
Transaction Session API
Transaction Process API
Transaction Request Status API
Fallback
In case of the below error codes, partners should redirect users to the Headless Apple Pay (with Auth and KYC) as a fallback to ensure a smooth and uninterrupted experience.
The same applies if the Transaction Request Status API returns HTTP 200 with status as FAILED