Are you looking for test card numbers?

Would you like to contact support?

Payment-method icon

Atome Component

Add Atome to your existing Components integration.

On this page, you can find additional configuration for adding Atome to your Components integration.

Before you begin

This page assumes you've already:

When making an Atome payment, you also need to:

  1. Collect shopper details, and specify these in your payment request. Atome uses these for risk checks.
  2. Provide information about the purchased items.
  3. Make sure you use a supported combination of country and currency.
Country countryCode amount.currency
Hong Kong HK HKD
Malaysia MY MYR
Singapore SG SGD

API reference

Select which endpoint you're integrating:

This is the default with Drop-in v5.0.0 or later.
Parameter Required Description
shopperName -white_check_mark- The shopper's full name.
shopperEmail -white_check_mark- The shopper's email address.
telephoneNumber -white_check_mark- The shopper's phone number.
billingAddress -white_check_mark- The postal address to be included on the invoice.
lineItems -white_check_mark- 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/v68/sessions \
-H "x-API-key: YOUR_X-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":"https://your-company.com/checkout?shopperOrder=12xy..",
  "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"
     }
  ]
}'
Client client = new Client("Your X-API-KEY", Environment.TEST);
Checkout checkout = new Checkout(client);

CreateCheckoutSessionRequest sessionRequest = new CreateCheckoutSessionRequest();
sessionRequest.setMerchantAccount("YOUR_MERCHANT_ACCOUNT");
sessionRequest.setReference("YOUR_ORDER_REFERENCE");

Amount amount = new Amount();
amount.setCurrency("SGD");
amount.setValue(1000L);
sessionRequest.setAmount(amount);

sessionRequest.setCountryCode("SG");
sessionRequest.setTelephoneNumber("6512345678");
sessionRequest.setShopperEmail("s.hopper@example.com");

Name shopperName = new Name();
shopperName.setFirstName("Simon");
shopperName.setLastName("Hopper");
sessionRequest.setShopperName(shopperName);

sessionRequest.setShopperReference("");

Address billingAddress = new Address();
billingAddress.setCity("Singapore");
billingAddress.setCountry("SG");
billingAddress.setHouseNumberOrName("109");
billingAddress.setPostalCode("179097");
billingAddress.setStateOrProvince("Singapore");
billingAddress.setStreet("North Bridge Road");
sessionRequest.setBillingAddress(billingAddress);

Address deliveryAddress = new Address();
deliveryAddress.setCity("Singapore");
deliveryAddress.setCountry("SG");
deliveryAddress.setHouseNumberOrName("109");
deliveryAddress.setPostalCode("179097");
deliveryAddress.setStateOrProvince("Singapore");
deliveryAddress.setStreet("North Bridge Road");
sessionRequest.setDeliveryAddress(deliveryAddress);

sessionRequest.returnUrl("https://your-company.com/checkout?shopperOrder=12xy..");

LineItem lineItem1 = new LineItem();
lineItem1.setQuantity(1L);
lineItem1.setAmountExcludingTax(331L);
lineItem1.setDescription("Shoes");
lineItem1.setId("Item #1");
lineItem1.setTaxAmount(69L);
lineItem1.setAmountIncludingTax(400L);

LineItem lineItem2 = new LineItem();
lineItem2.setQuantity(2L);
lineItem2.setAmountExcludingTax(248L);
lineItem2.setDescription("Socks");
lineItem2.setId("Item #2");
lineItem2.setTaxAmount(52L);
lineItem2.setAmountIncludingTax(300L);

List<LineItem> lineItems = new ArrayList<LineItem>();
lineItems.add(lineItem1);
lineItems.add(lineItem2);
sessionRequest.setLineItems(lineItems);

CreateCheckoutSessionResponse sessionResponse = checkout.sessions(sessionRequest);
var paymentRequest = new PaymentRequest
{
    MerchantAccount = "YOUR_MERCHANT_ACCOUNT",
    Reference = "YOUR_ORDER_REFERENCE",
    Amount = {
    Currency = "SGD",
    Value = 1000
  },
    CountryCode = "SG",
    TelephoneNumber = "6512345678",
    ShopperEmail = "s.hopper@example.com",
    ShopperName = {
    FirstName = "Simon",
    LastName = "Hopper"
  },
    ShopperReference = "",
    BillingAddress = {
    City = "Singapore",
    Country = "SG",
    HouseNumberOrName = "109",
    StateOrProvince = "Singapore",
    PostalCode = "179097",
    Street = "North Bridge Road"
  },
    DeliveryAddress = {
    City = "Singapore",
    Country = "SG",
    HouseNumberOrName = "109",
    StateOrProvince = "Singapore",
    PostalCode = "179097",
    Street = "North Bridge Road"
  },
    ReturnUrl = "https://your-company.com/checkout?shopperOrder=12xy..",
    LineItems = new System.Collections.Generic.List<LineItem> {
    new LineItem {
      Quantity = 1,
        AmountExcludingTax = 331,
        Description = "Shoes",
        Id = "Item #1",
        TaxAmount = 69,
        AmountIncludingTax = 400
    },
    new LineItem {
      Quantity = 2,
        AmountExcludingTax = 248,
        Description = "Socks",
        Id = "Item #2",
        TaxAmount = 52,
        AmountIncludingTax = 300
    }
  }
};

Component configuration

Step 1: Create a DOM element

Create a DOM element on your checkout page, placing it where you want the payment method form to be rendered:

 <div id="atome-container"></div>

Step 2: Create an instance of the Component

Use the create method of your AdyenCheckout instance, in this case checkout, to create the Component:

const atomeComponent = checkout.create('atome').mount('#atome-container');

Capture the payment

Depending on your merchant account configuration, Atome payments are captured automatically after authorisation, or manually captured.
If you prefer to capture the payment after the goods have been sent, or if you want to partially capture payments, you need to set up a capture delay or use manual capture. When you use manual capture, Atome payments have to be captured within 13 days after authorisation.
During authorisation, the shopper is charged for the first installment. If the payment isn't captured within 13 days, before the second installment, Atome cancels the payment and refunds the first installment 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, use a different test account for each country.
To test the QR code flow, download one of the following test apps:
For Hong Kong (HK)

For Malaysia (MY)

For Singapore (SG)

You can check the status of test payments in your Customer Area > Transactions > Payments.
Before you can accept live Atome payments, you need to submit a request for Atome in your live Customer Area.

See also