MightyPaySecure checkout

Developer API documentation

Authentication

Send your mode-matched API credentials in the X-MightyPay-Public-Key and X-MightyPay-Secret-Key headers. Create credentials in your workspace's Developer API page. The secret is displayed only once.

Create a payment

POST /api/v1/payments
Content-Type: application/json
Idempotency-Key: order-123
X-MightyPay-Public-Key: mp_test_pub_...
X-MightyPay-Secret-Key: mp_test_sec_...

{"amount":"125.50","currency":"USD","method":"bank","reference":"ORDER-123","customer_email":"buyer@example.com"}

Retrieve a payment

GET /api/v1/payments/{transaction_id}

Amounts are returned as decimal strings. Reuse an idempotency key only for the same request. A checkout URL provides instructions for a manual bank transfer or crypto payment; MightyPay does not process card charges or hold funds.

Webhook verification

Webhook requests include X-MightyPay-Signature: sha256=<hex>, X-MightyPay-Event, and X-MightyPay-Delivery. Compute HMAC-SHA256 with the one-time signing secret over the exact raw request body and compare the lowercase hex digest in constant time. Return a 2xx response to acknowledge delivery.

Machine-readable API reference