Developers / Guides
Create your first payment
From API keys to a settled payment: create a charge, handle redirect methods, and read the timeline.
Get your test keys
Sign in to the dashboard and open Developers, then API keys. Copy the secret test key; it starts with sk_test_. Test mode is fully isolated from live money and needs no approval.
Create a payment
POST to /v1/payments with an amount in the smallest currency unit, a currency, and a method. Card payments authorize in seconds. Bank transfer methods return a redirect_url the customer opens to receive transfer instructions.
curl https://api.example.com/v1/payments \
-u sk_test_example: \
-d amount=4900 \
-d currency=EUR \
-d method=bank_transfer \
-d reference=order-10482 import { PaymentsClient } from '@examplepay/node';
const ll = new PaymentsClient('sk_test_example');
const payment = await ll.payments.create({
amount: 4900,
currency: 'EUR',
method: 'bank_transfer',
reference: 'order-10482',
});
console.log(payment.status); // pending import examplepay
ll = examplepay.Client('sk_test_example')
payment = ll.payments.create(
amount=4900,
currency='EUR',
method='bank_transfer',
reference='order-10482',
)
print(payment.status) # pending Handle redirect methods
Send return_url when the method can redirect, such as iDEAL or online banking. The customer returns to that URL with a payment query parameter; confirm the state server-side by retrieving the payment, never by trusting the redirect alone.
Read the timeline
Every payment carries a timeline of events. For bank transfers the sequence is created, funds_reserved, then settled. Webhooks deliver the same events to your endpoint; the timeline is the source of truth.
Move to live mode
Replace the test key with your live key after activation. Amounts, methods, and settlement currencies behave identically, so no code changes are needed. Test cards and simulated bank accounts stop working in live mode.
| Test card | Behavior |
|---|---|
4242 4242 4242 4242 | Succeeds immediately |
4000 0000 0000 9995 | Declined, insufficient funds |
4000 0027 6000 3184 | Triggers 3-D Secure challenge |
5555 5555 5555 4444 | Mastercard, succeeds |
Test mode needs no approval
Request a demo key and follow this guide against your own flows.