Migrating from legacy to v3 webhooks
1. Setup your server to accept webhooks.
┌───────────────────────────────────────────────────┐
│ Rabo Smart Pay │░
└─────────────┬─────────────────────────────────────┘░
░░░░░░░░░░░░░│░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
│
┌─────────────┼──────────────────────────────────────┐
│ ▼ │
│ ╔══════════════════════╗ ╔══════════════════════╗ │
│ ║ legacy endpoint ║ ║ v3 endpoint ║ │
│ ╚══════════════════════╝ ╚══════════════════════╝ │
│ Your Server │
└────────────────────────────────────────────────────┘
2. Create a webhook subscription.
┌───────────────────────────────────────────────────┐
│ Rabo Smart Pay │░
└─────────────┬─────────────────────────┬───────────┘░
░░░░░░░░░░░░░│░░░░░░░░░░░░░░░░░░░░░░░░░│░░░░░░░░░░░░░
│ │
┌─────────────┼─────────────────────────┼────────────┐
│ ▼ ▼ │
│ ╔══════════════════════╗ ╔══════════════════════╗ │
│ ║ legacy endpoint ║ ║ v3 endpoint ║ │
│ ╚══════════════════════╝ ╚══════════════════════╝ │
│ Your Server │
└────────────────────────────────────────────────────┘
3. Disable legacy webhooks in your Dashboard.
┌───────────────────────────────────────────────────┐
│ Rabo Smart Pay │░
└───────────────────────────────────────┬───────────┘░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│░░░░░░░░░░░░░
│
┌───────────────────────────────────────┼────────────┐
│ ▼ │
│ ╔══════════════════════╗ ╔══════════════════════╗ │
│ ║ legacy endpoint ║ ║ v3 endpoint ║ │
│ ╚══════════════════════╝ ╚══════════════════════╝ │
│ Your Server │
└────────────────────────────────────────────────────┘
4. Remove legacy webhooks from your server.
┌────────── ─────────────────────────────────────────┐
│ Rabo Smart Pay │░
└───────────────────────────────────────┬───────────┘░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│░░░░░░░░░░░░░
│
┌───────────────────────────────────────┼────────────┐
│ ▼ │
│ ╔══════════════════════╗ │
│ ║ v3 endpoint ║ │
│ ╚══════════════════════╝ │
│ Your Server │
└────────────────────────────────────────────────────┘
idempotency, again
There will be a window of time where both the legacy, and the v3 webhooks are active, and accepting events. During this period, your server might receive the same event twice, ensure that your server is able to handle this.