You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/partners/external-payouts.mdx
+9-8Lines changed: 9 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ This is the default payout mode for new programs. All partners are paid directly
29
29
### Hybrid
30
30
31
31
Partners with connected bank accounts are paid directly by Dub, while all other partners
32
-
with tenant IDs configured receive payouts via the `payout.confirmed` webhook event.
32
+
with tenant IDs configured receive payouts via the [`payout.confirmed`](/docs/webhooks/events/payout-confirmed) webhook event.
33
33
34
34
This mode offers the best of both worlds:
35
35
@@ -39,7 +39,7 @@ This mode offers the best of both worlds:
39
39
40
40
### External only
41
41
42
-
All payouts are processed through the `payout.confirmed` webhook event to your platform. Dub handles commission tracking and payout calculations, but you're responsible for the actual money transfer.
42
+
All payouts are processed through the [`payout.confirmed`](/docs/webhooks/events/payout-confirmed) webhook event to your platform. Dub handles commission tracking and payout calculations, but you're responsible for the actual money transfer.
43
43
44
44
<Frame>
45
45
<img
@@ -60,7 +60,7 @@ The external payout flow follows these steps:
60
60
</Step>
61
61
62
62
<Steptitle="Webhook event sent">
63
-
Once the payout is processed by Stripe, Dub sends a `payout.confirmed` webhook
63
+
Once the payout is processed by Stripe, Dub sends a [`payout.confirmed`](/docs/webhooks/events/payout-confirmed) webhook
64
64
event for each external payout.
65
65
</Step>
66
66
@@ -82,7 +82,7 @@ If the webhook fails after all retries, you'll need to manually process the payo
82
82
83
83
<Note>
84
84
External payout modes require an active webhook subscribed to the
85
-
`payout.confirmed` event. You'll be prompted to set one up if you haven't
85
+
[`payout.confirmed`](/docs/webhooks/events/payout-confirmed) event. You'll be prompted to set one up if you haven't
86
86
already.
87
87
</Note>
88
88
@@ -113,7 +113,7 @@ You can set the tenant ID when:
113
113
114
114
### 2. Set up webhook receiver
115
115
116
-
Create a webhook endpoint that listens for the `payout.confirmed` event. See our [webhook setup guide](/docs/webhooks/introduction) for detailed instructions.
116
+
Create a webhook endpoint that listens for the [`payout.confirmed`](/docs/webhooks/events/payout-confirmed) event. See our [webhook setup guide](/docs/webhooks/introduction) for detailed instructions.
After configuring your partners and webhook receiver, test the integration to ensure everything works correctly:
165
165
166
166
1.**Confirm a payout** in your Dub dashboard for a partner with a configured `tenantId`
167
-
2.**Check your webhook receiver** to verify it received the `payout.confirmed` event
167
+
2.**Check your webhook receiver** to verify it received the [`payout.confirmed`](/docs/webhooks/events/payout-confirmed) event
168
168
3.**Verify the payout status** in your Dub dashboard shows as "completed" after your webhook returns a 2xx response
169
169
170
170
If the payout is marked as "completed", your external payout integration is working correctly. If it's marked as "failed", check the [troubleshooting section](#troubleshooting) below.
171
171
172
172
## Webhook payload
173
173
174
-
The `payout.confirmed` webhook event contains the following information:
174
+
The [`payout.confirmed`](/docs/webhooks/events/payout-confirmed) webhook event contains the following information:
175
175
176
176
<CodeGroup>
177
177
```json payout-confirmed.json
@@ -262,7 +262,7 @@ Log all webhook events for debugging and reconciliation.
262
262
<AccordionGroup>
263
263
264
264
<Accordiontitle="Webhook not receiving events">
265
-
- Verify your webhook is subscribed to the `payout.confirmed` event - Check
265
+
- Verify your webhook is subscribed to the [`payout.confirmed`](/docs/webhooks/events/payout-confirmed) event - Check
266
266
that your webhook URL is publicly accessible - Ensure your endpoint returns a
267
267
2xx status code - Review webhook logs in your [webhook
268
268
settings](https://app.dub.co/settings/webhooks)
@@ -284,6 +284,7 @@ Log all webhook events for debugging and reconciliation.
0 commit comments