Build on rheopay.
API-first by design.

A clean REST API, HMAC-signed webhooks, and API key management — everything you need to integrate payments into any system.

REST API

Standard JSON over HTTPS. Bearer token auth with scoped API keys. No SDKs required.

HMAC Webhooks

Every webhook payload is signed with SHA-256. Verify the X-Webhook-Signature header in seconds.

API Key Management

Create multiple named keys from your dashboard. Each key hashed at rest — the raw value shown only once.

Real-time Events

Get notified on payment.succeeded, payment.refunded, and payment.failed events instantly.

Create a payment link
in one API call.

Authenticate with your API key, POST to /api/links with the amount and description, and you'll receive a hosted payment URL in the response — ready to share immediately.

  • Returns a unique token and full checkout URL
  • Optional: expiry, usage limits, redirect URL
  • Attach products with quantity and unit price
POST /api/links
// Request
Authorization: Bearer rp_a1b2c3d4...

{
  "description": "Consulting invoice #042",
  "amount":      2500,
  "currency":    "EUR",
  "expiresAt":   "2026-07-01T00:00:00Z"
}

// Response 201
{
  "id":    "lnk_xK9mT2eRq8",
  "token": "xK9mT2",
  "url":   "https://rheopay.com/pay/xK9mT2",
  "status":"ACTIVE"
}

Verify signatures
in 5 lines.

Every webhook POST includes an X-Webhook-Signature header. Compare it to an HMAC-SHA256 of the raw body using your signing secret — stored in your dashboard settings.

  • Signing secret rotatable from the dashboard
  • Use the built-in "Send test" button to verify your endpoint
  • Events fire within milliseconds of payment confirmation
Node.js verification
import { createHmac } from 'node:crypto'

function verify(req) {
  const sig = req.headers[
    'x-webhook-signature'
  ]
  const expected = 'sha256=' +
    createHmac('sha256', process.env.SECRET)
      .update(req.rawBody)
      .digest('hex')

  return sig === expected
}

Core endpoints

Method
Path
Description
GET
/api/links
List all payment links
POST
/api/links
Create a payment link
GET
/api/links/:id
Retrieve a link
DELETE
/api/links/:id
Delete a link
GET
/api/transactions
List transactions with filters
POST
/api/transactions/:id/refund
Refund a transaction

Full reference available after signing up. API access requires the Pro plan.

Ready to integrate?

Sign up, generate your API key, and start building.

Get started free