This page explains how to add Atome to your existing iOS Components integration.
Requirements
Select the server-side flow that your integration uses:
Requirement | Description |
---|---|
Integration type | Make sure that you have built a Sessions flow iOS Components integration. |
Setup steps | Before you begin, contact our Support Team to add Atome in your Customer Area. |
API reference
Select which endpoint you are using:
This is the default with Components v5.0.0 or later.
When making an Atome payment, you need to:
- Collect shopper details, and specify these in your payment request. Atome uses these for risk checks.
- Provide information about the purchased items.
-
Make sure that you use a supported combination of country/region and currency:
Country/region countryCode
amount.currency
Malaysia MY MYR Singapore SG SGD
Parameter | Required | Description |
---|---|---|
shopperName | ![]() |
The shopper's full name. |
shopperEmail | ![]() |
The shopper's email address. |
telephoneNumber | ![]() |
The shopper's phone number. |
billingAddress | ![]() |
The postal address to be included on the invoice. |
lineItems | ![]() |
Price and product information about the purchased items. |
deliveryAddress | The postal address where the goods will be shipped. Optional if billingAddress and deliveryAddress are the same. |
curl https://checkout-test.adyen.com/checkout/v69/sessions \ -H 'x-api-key: ADYEN_API_KEY' \ -H 'content-type: application/json' \ -d '{ "amount":{ "value":1000, "currency":"SGD" }, "shopperName":{ "firstName":"Simon", "lastName":"Hopper" }, "shopperEmail":"s.hopper@example.com", "shopperReference":"", "reference":"YOUR_ORDER_REFERENCE", "merchantAccount":"YOUR_MERCHANT_ACCOUNT", "returnUrl":"my-app://adyen", "countryCode":"SG", "telephoneNumber":"6512345678", "billingAddress":{ "city":"Singapore", "country":"SG", "houseNumberOrName":"109", "postalCode":"179097", "stateOrProvince":"Singapore", "street":"North Bridge Road" }, "deliveryAddress":{ "city":"Singapore", "country":"SG", "houseNumberOrName":"109", "postalCode":"179097", "stateOrProvince":"Singapore", "street":"North Bridge Road" }, "lineItems":[ { "description":"Shoes", "quantity":"1", "amountIncludingTax":"400", "amountExcludingTax": "331", "taxAmount": "69", "id":"Item #1" }, { "description":"Socks", "quantity":"2", "amountIncludingTax":"300", "amountExcludingTax": "248", "taxAmount": "52", "id":"Item #2" } ] }'
Component configuration
v5.0.0 or later
If your integration uses iOS Components v5.0.0 or later, configure and create an instance of the Atome Component:
let paymentMethods = session.sessionContext.paymentMethods // Check that the payment method is supported before showing the Component. guard let paymentMethod = paymentMethods.paymentMethod(ofType: AtomePaymentMethod.self) else { return } let configuration = AtomeComponent.Configuration() let component = AtomeComponent(paymentMethod: paymentMethod, context: context, configuration: configuration) self.currentComponent = component // Set the session as the delegate. component.delegate = session present(component)
v4.x.x
If your integration uses an earlier version of iOS Components:
// Check that the payment method is supported before showing the Component. guard let paymentMethod = paymentMethods.paymentMethod(ofType: AtomePaymentMethod.self) else { return } let style = FormComponentStyle() let component = AtomeComponent(paymentMethod: paymentMethod, apiContext: context, style: style) present(component)
There are no configuration steps specific to Atome required for Components.
Refunds and cancellations
Partial refunds
To partially refund a payment, specify in your /payments/{paymentPspReference}/refunds request:
- amount: The amount to be refunded to the shopper.
Test and go live
To test Atome payments, you need a test shopper account in the Atome sandbox environment. To request a test account, reach out to your Adyen contact. If you are testing in multiple countries/regions, use a different test account for each location.
To test the QR code flow, download one of the following test apps:
For Malaysia (MY)
For Singapore (SG)
You can check the status of test payments in your Customer Area > Transactions > Payments.
To accept live Atome payments, you must contact our Support Team to add Atome in your live Customer Area.