Accept cards without touching card data
Your server calls the ePay API and your page shows the n1co.js form. The card number never passes through either of them.
Two integration surfaces#
ePay API, on your server#
Uses your secret key sk_…. Creates card sessions and payment intents, reads payments and refunds, and receives signed webhooks.
n1co.js, on your page#
Uses your publishable key pk_…. Shows the card element in an n1co iframe, saves cards and confirms payments with 3D Secure.
There is no customer resource: the customer travels inside each request, with your own id, their name, email and phone.
How a payment flows#
- Your server creates a payment intent with the amount, currency and customer.
- The API responds with the intent and its
client_secret. - Your server hands the
client_secretto your page. - Your page calls
confirmPayment()from n1co.js. - n1co.js sends the tokenized card and shows 3D Secure if the bank asks for it.
- A webhook notifies your server, which fulfills the order.