Webhooks
Overview
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Customer │ │ MakaPay │ │ Your Server │
│ │ │ │ │ │
│ Sends payment │ ──────→ │ Processes │ │ │
│ │ │ payment │ │ │
│ │ │ ↓ │ │ │
│ │ │ Sends webhook │ ──────→ │ Receives POST │
│ │ │ │ │ request │
│ │ │ │ │ ↓ │
│ │ │ │ │ Fulfills order │
└─────────────────┘ └─────────────────┘ └─────────────────┘Setup
Prerequisites
Configure Webhook URL
Generate API Key
Webhook Events
payment.completed
payment.completedpayment.withdrawn
payment.withdrawnpayment.awaiting_gas
payment.awaiting_gasWebhook Security
Signature Verification
Verifying the Signature
Python Example
Retry Policy
Attempt
Delay
What Counts as Failure
After All Retries Fail
Best Practices
1. Respond Quickly
2. Implement Idempotency
3. Verify Signatures
4. Use HTTPS
5. Handle All Event Types
Testing Webhooks
Manual Trigger
Webhook Logs
Column
Description
Local Testing
Payload Reference
Common Fields
Field
Type
Description
Optional Fields
Field
Type
When Present
Troubleshooting
Webhook Not Received
Signature Mismatch
Timeouts
Duplicate Events
Last updated
