Skip to main content
Secure Server-to-Server (S2S) integration that enables seamless processing of Atome Buy Now, Pay Later (BNPL) payments in Singapore. Atome splits the purchase into 3 interest-free installments for the customer while you receive full settlement upfront.

Prerequisites

  1. Sign up for a Razorpay account.
  2. Generate API Keys.
  3. Follow the Razorpay S2S Integration documentation.

Integrate Atome on S2S

Create an order and pass method=paylater and provider=atome in the payment object.
Watch Out!Passing real product details (line_items) and customer_details.shipping_address in the Orders API request is strongly recommended for Atome transactions in Singapore. If these are not provided, fallback values will be used. This may negatively impact payment approval (success) rates and could risk account suspension by Atome.

Create an Order and a Payment

Use the consolidated order and payment API to create a single API call that combines order and payment creation. POST /orders

Handle the Redirect

After successful order and payment creation, redirect the customer to the url returned in payment_workflow.next. The customer will be taken to the Atome authentication page to log in and approve the installment plan, then redirected back to your return URL.
amount mandatory : integer Payment amount in the smallest currency sub-unit. For SGD 500.00, pass 50000.currency mandatory : string Must be SGD for Singapore Atome transactions.receipt optional : string Your receipt id for this order. Maximum length 40 characters.customer_details mandatory : json object Customer details.name mandatory : string The customer’s name.contact mandatory : string Customer’s phone number in E.164 format (e.g. +6580001500).email mandatory : string Customer’s email address.shipping_address optional (strongly recommended) : json object Shipping address for the order. Strongly recommended for Atome success rates. If not provided, a default address is sent to Airwallex, which may reduce approval rates.line1 optional : string Street address line 1. Concatenated with line2 and sent to Atome.line2 optional : string Street address line 2.city optional : string City name.country optional : string ISO 3-letter country code. Use SGP for Singapore.state optional : string State or province.zipcode optional : string Postal code.line_items optional (strongly recommended) : array Product line items in the cart. Strongly recommended for Atome success rates. If not provided, a single generic item is sent to Atome, which may reduce approval rates.name mandatory per item : string Product name.quantity mandatory per item : integer Number of units.price mandatory per item : integer Unit price in the smallest currency sub-unit (e.g. cents). For SGD 500.00, pass 50000.payment mandatory : json object Payment details.contact mandatory : string Customer’s phone number in E.164 format.email mandatory : string Customer’s email address.method mandatory : string Must be paylater.provider mandatory : string Must be atome.
id : string Unique identifier of the order.amount : integer The transaction amount in smallest currency sub-unit.currency : string The currency of the transaction. Here, SGD.status : string Order status. Will be attempted after the payment is initiated.payment_workflow.razorpay_payment_id : string Unique identifier of the payment.payment_workflow.next[].action : string Next action to complete the payment. Will be redirect.payment_workflow.next[].url : string URL to redirect the customer to the Atome authentication page.

Constraints and Limitations

  • Maximum transaction amount: SGD 3,000 (Atome-imposed limit).
  • Only SGD is supported for Atome transactions in Singapore.
  • Customer phone number should be in E.164 format (e.g. +6580001500).
  • Refunds follow the standard Razorpay refunds process.