Stripe ➔ Supabase Payload Specification
Technical reference for automating data exchange between Payments and Backend/DB workflows.
💡 How this integration works:
1. Stripe triggers an event when checkout.session.completed occurs.
2. Data is packaged into a standard JSON webhook payload.
3. Payload is delivered into your Supabase intake pipeline and mapped to your Backend/DB targets.
Authentication & Event Specs
| Parameter | Source (Stripe) | Destination (Supabase) |
|---|---|---|
| Auth Mechanism | Bearer Secret Key | Anon / Service Role Key |
| Trigger Event | checkout.session.completed | Ingest Pipeline |
Sample Webhook JSON Payload
{
"event": "checkout.session.completed_to_supabase",
"timestamp": 1788105198,
"source": {
"platform": "Stripe",
"auth_mode": "Bearer Secret Key",
"data": {
"session_id": "sample_session_id_val",
"customer_email": "sample_customer_email_val",
"amount_total": "sample_amount_total_val",
"currency": "sample_currency_val"
}
},
"destination": {
"platform": "Supabase",
"auth_mode": "Anon / Service Role Key",
"target_endpoint": "https://api.supabase.com/v1/ingest",
"mapped_fields": {
"schema": "{{source.session_id}}",
"table": "{{source.customer_email}}",
"commit_timestamp": "{{source.amount_total}}",
"record_data": "{{source.currency}}"
}
}
}
Quick Integration Setup
- Retrieve your secret API credentials from your Stripe developer dashboard using authentication method
Bearer Secret Key. - Configure the target endpoint URL to route payloads into the Supabase intake pipeline.
- Map incoming schema properties according to the JSON specification detailed above.
Expected HTTP Response Codes
| Status Code | Meaning | Troubleshooting Step |
|---|---|---|
200 OK | Success | Payload accepted and queued for routing. |
401 Unauthorized | Auth Failure | Verify headers for valid Bearer Secret Key credentials. |
422 Unprocessable | Schema Error | Check field keys alignment between source and target payload. |