Skip to content
How it worksRoutingPricingDocs
Sign inGet started
  • Quickstart
  • Stripe SDK drop-in
  • JSON API
  • Idempotency, modes, errors
  • Signed callbacks
  • Payment methods and routing

Quickstart

Create a payment link from your backend in two requests. Money settles into your own provider account; Cortana never holds it.

1. Create a test API key

In the dashboard open Developers → API keys and choose Create key in Test mode. You get a key that starts with ck_test_. Copy it straight away: only a hash is stored. Test keys never move real money.

Connect a test provider first

Under Connections add a card account in Test mode (your Stripe test keys, or the built-in test provider) so the payment page has something to charge.

2. Create a checkout session

Amounts are integers in the currency's smallest unit (2500 is 25.00 USD). The Idempotency-Key makes retries safe: the same key with the same body returns the same session.

curl https://cortanapay.com/api/v1/checkout/sessions \
  -H "Authorization: Bearer ck_test_YOUR_KEY" \
  -H "Idempotency-Key: order-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 2500,
    "currency": "usd",
    "description": "Pro plan, annual",
    "success_url": "https://example.com/thanks?cs={CHECKOUT_SESSION_ID}",
    "cancel_url": "https://example.com/cart"
  }'

The answer is a Stripe-shaped checkout session. Redirect the payer to url.

Response
{
  "id": "cs_inv_8f3kQ2mZp0aXw1Lc",
  "object": "checkout.session",
  "mode": "payment",
  "url": "https://cortanapay.com/pay/…",
  "status": "open",
  "payment_status": "unpaid",
  "amount_total": 2500,
  "currency": "usd",
  "livemode": false,
  "success_url": "https://example.com/thanks?cs={CHECKOUT_SESSION_ID}"
}

3. Learn that it was paid

Never trust the browser redirect. Either register a signed callback and wait for invoice.paid, or fetch the session from your server: GET /api/v1/checkout/sessions/:id and check payment_status === "paid".

Already use Stripe Checkout?

Point the Stripe SDK you already have at Cortana and keep your code. See the drop-in guide.

Many gateways, one place you control. Payments settle into your own accounts; Cortana never holds your funds.

Product

  • How it works
  • Pricing
  • FAQ

Developers

  • Docs
  • API reference

Account

  • Sign in
  • Create account

© 2026 Cortana