Webhooks, status tracking and reconciliation

Updated

Short answer

Yes. Payluk sends signed webhook events to your callback URL, for example escrow.created, escrow.completed, escrow.disputed, escrow.refunded and payment.deposit.success. Each request carries an x-payluk-signature header, an HMAC-SHA512 of the body keyed with your secret key. For reconciliation, use the merchant transactions, payment history, escrow verify and dispute feed endpoints.

Events

  • Escrow events: escrow.created, plus one for each status change (ongoing, claimed, disputed, investigating, completed, refunded, split)
  • Payment events: payment.<type>.<success|failed|reversed> for deposits, withdrawals, transfers, escrow payments, commissions and delivery fees
  • Separate callback URLs for test and live

Delivery

Webhooks are best-effort. Payluk waits up to 10 seconds for your response and retries failed deliveries up to 3 times. Respond with a 2xx quickly, handle events idempotently, and don’t assume they arrive in order.

Treat webhooks as a signal to refresh. Confirm state through the API before acting on money.

Reconciliation

  • Merchant balance and merchant transactions, filterable by type, reference and date
  • Payment history per customer
  • Escrow verify by payment token, plus escrow transactions and dispute feeds

Frequently asked questions

Developer docs

Still stuck?

Email [email protected] and our team will help.

Back to Help Center