Create the payment
POST to /payment/create on the API base URL with your merchant-token and a fresh Idempotency-Key. One call covers cards, APMs, open banking and crypto. The payment_method field switches the flow.
curl -X POST https://devsilo.xyz/api/v2/payment/create \
-H "merchant-token: $SLIKAIR_MERCHANT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{ "merchant_id": "...", "merchant_site_id": "1234", "payment_method": "credit_card", "amount": 99.99, "currency": "EUR", "country": "NLD", "request_id": "order-1001", "notification_link": "https://example.com/webhook" }'What the request needs
- Account: merchant_id, merchant_site_id.
- Order: amount, currency, country, request_id.
- Method: payment_method, plus any method-specific fields.
- Consumer: email, first_name, last_name, device_ip.
- Callbacks: notification_link, success_url, pending_url, fail_url, back_url.
Follow the redirect
Most methods return a redirect target and status 100 (Pending redirect). Send the consumer there and let them finish on the provider side; they come back to your success, pending or fail URL. Never treat the landing URL as proof of payment.
Read the status
Call /payment/get-status with the same request_id to inspect the current state. Use it as a fallback or for reconciliation, not as your primary signal, polling is slower and rate-limited compared to the notification.
Confirm from the webhook
The pay-in notification delivered to your notification_link is the source of truth. Release goods or credit the account only after it arrives with status 200 (Success).