@@ -10,10 +10,10 @@ Webhooks deliver real-time notifications when payment and request events occur.
10
10
## Webhook Configuration
11
11
12
12
### Setup in Portal
13
- 1 . Navigate to ** Platform Settings → Webhooks** in Request Portal
13
+ 1 . Navigate to ** Platform Settings → Webhooks** in [ Request Portal] ( https://portal.request.network )
14
14
2 . Click ** Add webhook**
15
15
3 . In the dialog that opens, enter URL and click ** Create webhook**
16
- 4 . Click copy button to copy ** Signing Secret** to clipboard
16
+ 4 . Click copy button to copy ** Signing Secret** to clipboard (see [ Authentication ] ( /api-reference/authentication ) for API key setup)
17
17
5 . Enable/disable or delete webhooks as needed
18
18
19
19
### Local Development
@@ -25,6 +25,10 @@ ngrok http 3000
25
25
26
26
## Event Types
27
27
28
+ <Info >
29
+ See [ Payload Examples] ( #payload-examples ) below for detailed webhook structures.
30
+ </Info >
31
+
28
32
### Payment Events
29
33
30
34
| Event | Description | Context | Primary Use |
@@ -130,6 +134,14 @@ Request API logs all webhook delivery failures with:
130
134
131
135
## Payload Examples
132
136
137
+ All payment events include an ` explorer ` field linking to [ Request Scan] ( https://scan.request.network ) for transaction details.
138
+
139
+ ** Common Fields:**
140
+ - ` requestId ` / ` requestID ` : Unique identifier for the payment request
141
+ - ` paymentReference ` : Short reference, also unique to a request, used to link payments to the request
142
+ - ` timestamp ` : ISO 8601 formatted event timestamp
143
+ - ` paymentProcessor ` : Either ` request-network ` (crypto) or ` request-tech ` (fiat)
144
+
133
145
### Payment Confirmed
134
146
``` json
135
147
{
@@ -148,7 +160,7 @@ Request API logs all webhook delivery failures with:
148
160
"paymentCurrency" : " USDC" ,
149
161
"isCryptoToFiat" : false ,
150
162
"subStatus" : " " ,
151
- "paymentProcessor" : " request_network " ,
163
+ "paymentProcessor" : " request-network " ,
152
164
"fees" : [
153
165
{
154
166
"type" : " network" ,
@@ -169,7 +181,7 @@ Request API logs all webhook delivery failures with:
169
181
"offrampId" : " offramp_test123456789" ,
170
182
"timestamp" : " 2025-10-03T14:35:00Z" ,
171
183
"subStatus" : " ongoing_checks" ,
172
- "paymentProcessor" : " request_tech " ,
184
+ "paymentProcessor" : " request-tech " ,
173
185
"rawPayload" : {
174
186
"status" : " ongoing_checks" ,
175
187
"providerId" : " provider_test123"
@@ -195,7 +207,7 @@ Request API logs all webhook delivery failures with:
195
207
"paymentCurrency" : " USDC" ,
196
208
"isCryptoToFiat" : false ,
197
209
"subStatus" : " " ,
198
- "paymentProcessor" : " request_network " ,
210
+ "paymentProcessor" : " request-network " ,
199
211
"fees" : []
200
212
}
201
213
```
@@ -208,7 +220,7 @@ Request API logs all webhook delivery failures with:
208
220
"requestID" : " 0151b394e3c482c5aebaa04eb04508a8db70595470760293f1b258ed96d1fafa93" ,
209
221
"paymentReference" : " 0x2c3366941274c34c" ,
210
222
"subStatus" : " insufficient_funds" ,
211
- "paymentProcessor" : " request_network "
223
+ "paymentProcessor" : " request-network "
212
224
}
213
225
```
214
226
@@ -230,6 +242,8 @@ Request API logs all webhook delivery failures with:
230
242
231
243
## Implementation Examples
232
244
245
+ For a complete working example, see the [ EasyInvoice demo] ( /use-cases/invoicing ) which implements webhook handling for payment notifications.
246
+
233
247
<Tabs >
234
248
<Tab title = " Express.js" >
235
249
``` javascript
@@ -354,18 +368,6 @@ app.post("/webhook", (req, res) => {
354
368
});
355
369
```
356
370
357
- ### Local Development Setup
358
- ``` bash
359
- # Terminal 1: Start your application
360
- npm run dev
361
-
362
- # Terminal 2: Expose localhost to internet
363
- ngrok http 3000
364
-
365
- # Use the HTTPS URL in Portal webhook settings
366
- # Example: https://abc123.ngrok.io/api/webhook
367
- ```
368
-
369
371
## Best Practices
370
372
371
373
### Error Handling
@@ -399,16 +401,24 @@ ngrok http 3000
399
401
<Card title = " Webhooks & Events" href = " /api-features/webhooks-events" >
400
402
High-level webhook concepts and workflow
401
403
</Card >
402
-
404
+
403
405
<Card title = " EasyInvoice Demo" href = " /use-cases/invoicing" >
404
406
Complete webhook implementation example
405
407
</Card >
406
-
408
+
407
409
<Card title = " Authentication" href = " /api-reference/authentication" >
408
410
API key setup and webhook security
409
411
</Card >
410
-
412
+
411
413
<Card title = " Payment Processing" href = " /api-features/payment-processing" >
412
414
Understanding payment lifecycle events
413
415
</Card >
416
+
417
+ <Card title = " Request Portal" href = " https://portal.request.network" icon = " browser" >
418
+ Configure webhooks and manage API keys
419
+ </Card >
420
+
421
+ <Card title = " Request Scan" href = " https://scan.request.network" icon = " magnifying-glass" >
422
+ Explore transactions and request details
423
+ </Card >
414
424
</CardGroup >
0 commit comments