For developers

One call in. One webhook back.

Your team shouldn't need to learn anything about how the money moves. Request a payment, listen for the confirmation, get on with your roadmap.

1 · Request a payment

POST /v1/payments
Content-Type: application/json
x-api-key: <your key>

{
  "amount": 500,
  "clientId": "trader_8412",
  "memo": "Deposit"
}

2 · Get a link back

{
  "success": true,
  "paymentUrl": "https://pay.flowwpay.com/pay/fp_9xQ2",
  "reference": "fp_9xQ2",
  "expiresAt": "2026-07-27T12:30:00Z"
}

3 · We tell you when it's paid

POST https://your-app.com/hooks/flowwpay
X-FlowwPay-Event: payment.completed
X-FlowwPay-Signature: sha256=...

{
  "event": "payment.completed",
  "data": {
    "reference": "fp_9xQ2",
    "clientId": "trader_8412",
    "amount": 500,
    "amountUsd": 500,
    "status": "completed"
  }
}

Details that matter

Built by people who've been on call.

Two integration styles

Redirect to our hosted page, or drop in a script tag and open it as a modal over your own interface.

Signed webhooks

HMAC-SHA256 on every delivery, with retries and a full delivery log you can inspect.

Test environment

A separate environment with simulated payments so you can build without moving real money.

Idempotency

Every create call takes an idempotency key. Retries never double-charge.

Stable payloads

Additive changes only. We don't rename fields under you.

Support that codes

Talk to the people who built it, not a ticket queue.

Want the full reference?

We share complete API documentation and test credentials once we've had a short call about what you're building.