Skip to main content

Plug-and-play payment page

A ready-to-use payment page in 3 lines of code

No need to build your own form. Create a checkout session via the API, redirect your user to `saalapay.com/pay/cs_<id>`, and we handle UX, mobile, expiration and webhooks.

What you get

5-minute integration

POST /v1/checkout/sessions with amount + return URLs. No frontend JS to maintain, no provider logic to code.

Mobile-optimized

Native responsive page, automatic dark mode via prefers-color-scheme, WCAG AA visible focus, live aria-live countdown.

Short-lived sessions

Default 30 min, configurable up to 24h. Sweeper cron moves expired sessions to EXPIRED + dispatches checkout.session.expired.

End-to-end webhooks

checkout.session.created → completed (with payment_id) or expired/cancelled. The merchant tracks the lifecycle without polling.

Create a checkout session bash
curl https://api.saalapay.com/v1/checkout/sessions \
  -H "X-SP-Signature: $HMAC_SIGNATURE" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 25000,
    "currency": "XOF",
    "success_url": "https://shop.example/order/ok",
    "cancel_url":  "https://shop.example/cart",
    "expires_in_minutes": 30
  }'

# Réponse → redirige l'user vers data.hosted_url
{
  "data": {
    "id": "cs_018f2c...",
    "hosted_url": "https://saalapay.com/pay/cs_018f2c...",
    "status": "pending",
    "expires_at": "2026-05-04T22:55:00+00:00"
  }
}
~5 min Integration time
0 JS To maintain on the merchant side
WCAG AA Compliant accessibility

Accept your first payment today.

The hosted page runs in sandbox without any provider configuration.