Getting started

Digipae lets your point of sale charge customers with a dynamic, signed QR code — no card terminal, a flat 1.29% on bank & wallet payments, and free next-day ACH payouts. This guide takes you from zero to your first confirmed payment.

1. Create a merchant account#

Register your business and complete verification. Once your account is active, open Dashboard → Integrations to generate your live API key.

Your API key is shown once at generation. Store it in a secrets manager — never in client-side code or your repo. If it leaks, rotate it immediately (see Rotate API key).

2. Base URL & authentication#

All API requests are HTTPS, JSON, and authenticated with your API key as a Bearer token:

Base URL
https://quirky-chameleon-588.convex.site
Authentication header
Authorization: Bearer dgp_live_YOUR_KEY

Optionally, pin your server IPs on the Integrations page — requests from any other address are rejected even with a valid key.

3. Create your first payment session#

A session is a single charge. Create one at checkout, render the returned qrPayload as a QR code, and the customer scans it with the Digipae app. Sessions expire after 3 minutes.

curl
curl -X POST https://quirky-chameleon-588.convex.site/api/v1/sessions \
  -H "Authorization: Bearer dgp_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order_1042" \
  -d '{
    "amountCents": 2500,
    "orderRef": "ORDER-1042"
  }'
Response · 201
{
  "sessionId": "j5xkg8...",
  "status": "PENDING",
  "expiresAt": 1746489600000,
  "qrPayload": "digipae://qr/j5xkg8...",
  "idempotent": false
}

4. Confirm the payment#

Two ways — use webhooks in production, polling while you prototype:

Webhooks (recommended). Save a webhook URL on the Integrations page. Digipae POSTs a signed digipae.payment.completed event the moment the customer pays. See Webhooks.

Polling. GET the session until its status is terminal:

curl
curl https://quirky-chameleon-588.convex.site/api/v1/sessions/j5xkg8... \
  -H "Authorization: Bearer dgp_live_YOUR_KEY"

Next steps#

  • Accepting payments — static vs. dynamic QR, Pay by ID, and the embeddable status endpoint.
  • Webhooks — signature verification with copy-paste snippets for Node, Python, and PHP.
  • Payouts — how your balance accrues and how free next-day ACH payouts work.
  • API reference — every endpoint, parameter, and error code.