Webhooks
Webhooks are HTTP callbacks sent from PayIn to a merchant system when payment events occur.
They are the usual way for merchant software to learn that an order was paid, a deposit was detected, or a payment status changed.
Common events
Examples include:
- Order created
- Payment pending confirmation
- Payment confirmed
- Order expired
- Deposit detected
- Webhook delivery failed or retried
Integration requirements
A production webhook endpoint should:
- Accept HTTPS requests.
- Verify webhook signatures.
- Return a success status quickly.
- Process events idempotently.
- Store event IDs to avoid duplicate side effects.
- Retry internal business processing separately when needed.
Why idempotency matters
Webhook delivery can be retried. A merchant system must safely handle the same payment event more than once without double-crediting a user or fulfilling an order twice.