DEVELOPER ZONE

One API for every payment
you need to move.

JSON in, JSON out. Standard HTTP verbs and response codes, a sandbox that mirrors live, and webhooks you can trust as the source of truth.

Go live in three steps

01

Get your credentials

Your merchant_id, merchant_site_id and merchant-token live under My Account → Integration settings in the control panel.

02

Call the sandbox

Point your integration at the sandbox base URL and run test transactions with the Demo provider — no impact on live data or banking networks.

03

Listen for notifications

Expose a notification_link endpoint and confirm the final transaction result from the server-to-server webhook, not the browser redirect.

AUTHENTICATION

Your first payment request

Requests are authenticated with an API key sent in the merchant-token header. Every call also carries your merchant_id and merchant_site_id, and V2 create calls require a unique Idempotency-Key so a retry never charges twice.

JSON-encoded requests and responses, standard HTTP verbs and status codes.
Sandbox is a duplication of live — test with the Demo provider and simulate scenarios.
Card tokenization uses a merchant-signed EdDSA (Ed25519) JWT; card data never hits your logs.
curl -X POST https://devsilo.xyz/api/v2/payment/create \
  -H "merchant-token: $SLIKAIR_MERCHANT_TOKEN" \
  -H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
  -H "Content-Type: application/json" \
  -d '{
    "merchant_id": "9e07802d51264b02b4b3ef09dfb94219",
    "merchant_site_id": "1234",
    "payment_method": "credit_card",
    "amount": 99.99,
    "currency": "EUR",
    "country": "NLD",
    "email": "john@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "device_ip": "192.168.1.1",
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "notification_link": "https://example.com/webhook",
    "success_url": "https://example.com/success",
    "pending_url": "https://example.com/pending",
    "fail_url": "https://example.com/fail",
    "back_url": "https://example.com/back"
  }'

API REFERENCE

Endpoints at a glance

https://devsilo.xyz/api/v2

Structured payment sessions, card tokenization with merchant-signed JWTs, payouts and typed notifications.

Payment sessions

Create and track a customer payment across every method you have enabled.

  • POST/payment/createCreate Payment
  • POST/payment/get-statusGet Payment Status

Tokenization

Vault card data with a merchant-signed EdDSA JWT, then charge the stored token.

  • POST/payment/create/tokenizationTokenize Card
  • POST/payment/create/tokenPay With Token

Payouts

Send funds back to the consumer with no reference to a previous transaction.

  • POST/payouts/createCreate Payout
  • POST/payouts/get-statusGet Payout Status

Webhooks

Server-to-server notifications delivered to your notification_link.

  • POSTv2_payin_notificationPay-in notification
  • POSTv2_tokenization_notificationTokenization notification
Open the full V2 reference

One field switches the method

The payment_method value determines which fields are required on the request. Add a method without rebuilding your integration.

credit_cardcredit_card_ftdopen_bankingcryptoblikgooglepayapplepayinterac

Direct Merchant Notifications

When slikair receives the bank's response, it posts the outcome to your endpoint. Redirect pages can be lost — the DMN is the reliable signal that a deposit completed, so reconcile against it before you release goods or credit an account.

Reason codes

Failed transactions carry a machine-readable reason code alongside human-readable text. Branch on the reason code, quote the numeric error code to support, and treat unknown values gracefully — new codes ship over time.

INVALID_REQUESTINVALID_PARAMSMISSING_PARAMSNO_ROUTE_AVAILABLEPAYMENT_METHOD_NOT_ENABLEDUNSUPPORTED_COUNTRYUNSUPPORTED_CURRENCYINVALID_CARD_DATATHREE_DS_FAILEDRISK_BLOCKEDINSUFFICIENT_FUNDSDO_NOT_HONOREXPIRED_CARDGATEWAY_TIMEOUT

Status code reference

PAYMENTS

100Pending redirect
101Pending
200Success
302Declined due to risk decision
500Provider declined
502Unauthorized
510Missing params
511Invalid checksum

PAYOUTS

P100Payout initiated
P101Payout processing
P200Payout succeeded
C403Merchant payout wallet is missing
C405Insufficient balance in the wallet
C501General gateway declined
See every status and reason code

Start building on slikair.

Grab sandbox credentials, run your first test transaction today, and talk to an integration engineer when you are ready for live.