Take payments with our Hosted Cashier and stay out of scope, or integrate the Direct API and keep the checkout entirely your own. Pay-ins, payouts, refunds, transaction queries and webhooks all run through the same integration.
Build against the test environment, then switch the base URL to go live. Every request is authenticated with your API key in the X-API-KEY header.
# Test https://api.test.cyberpay.link # Production https://api.cyberpay.link # Every request X-API-KEY: your_api_key Content-Type: application/json
Create a session and redirect the customer to a hosted payment page. CyberPay handles the payment methods, the payment data and the customer experience. The response returns a cashierUrl you send the customer to.
Server-to-server. Fetch the available payment options for the market, submit the payment, then confirm it. You keep full control of the checkout experience and the presentation of methods.
Create a payment session with the amount, market and customer details, then redirect to the returned cashier URL. Set redirectUrl for where the customer returns, and notificationUrl to receive the webhook for the final status.
# Create a hosted cashier session POST https://api.test.cyberpay.link/payment-session X-API-KEY: your_api_key { "country": "DE", # Alpha-2 ISO country code "currency": "EUR", # ISO currency code "amount": 49.90, # two decimal places (eight for crypto) "language": "en", # Alpha-2 ISO language code "redirectUrl": "https://yourshop.com/return", "notificationUrl": "https://yourshop.com/webhooks/cyberpay", "customer": { /* firstName, lastName, email, phone, ip, userDevice (MOBILE|DESKTOP|TABLET), userAgent, address */ } } # Response { "cashierUrl": "https://cashier.test.cyberpay.link?sessionId=..." }
Payouts follow the same pattern with /payout-session.
The full set, with request and response schemas, lives in the API reference.
| Purpose | Endpoint | Notes |
|---|---|---|
| Hosted pay-in | POST /payment-session | Returns a cashierUrl to redirect to. |
| Hosted payout | POST /payout-session | Hosted payout flow. |
| Direct pay-in options | POST /v3/payment-options | Methods available for that market and amount. |
| Direct pay-in | POST /v3/payment | Submit the payment server-to-server. |
| Confirm payment | POST /confirm-payment | Complete the flow where confirmation is required. |
| Direct payout options | POST /v3/payout-options | Payout methods available for that market. |
| Direct payout | POST /v3/payout | Server-to-server disbursement. |
| Settle payout | POST /settle-payout | Settle a submitted payout. |
| Refund | POST /refund/by-reference | Refund against your reference. |
| Query transaction | GET /payments/{transactionId} | Current status for reconciliation. |
Set notificationUrl per session, or configure a default in the Merchant Portal — the per-session value overrides it. Treat the webhook as the source of truth for the final state, and confirm with GET /payments/{transactionId} before releasing goods or credit.
We issue test credentials and configure the methods and markets for your business.
Integrate against api.test.cyberpay.link and verify the flows end to end.
Consume notifications and reconcile with transaction queries.
Change the base URL and your key. Nothing else in your integration changes.
Tell us what you're building and which markets you need. We'll point you at the right flow.