Overview
Webhooks in DEX are automated, event-driven notifications that CSG Forte sends to your system whenever a specified event occurs. As a Partner, you can use webhooks to monitor application statuses, streamline operations, and maintain synchronized data between your systems and CSG Forte.
More Information go to: Using Webhooks – Developers |
What Are Webhooks?
Webhooks are POST requests sent by DEX to server-side URLs that you define. These messages notify your systems about specific events—such as merchant application approvals, declines, or updates—enabling you to take real-time actions like:
Updating your CRM or partner portal with new merchant statuses.
Notifying account managers of onboarding progress.
Triggering workflows when certain criteria are met (e.g., application approved).
How Webhooks Work
1. Event-Driven Triggers
Webhooks are triggered by transactional or application events. For merchant applications, typical events include:
merchantapplication.received
merchantapplication.approved
merchantapplication.pending
merchantapplication.declined
merchantapplication.rejected
merchantapplication.recalled
2. Subscription
You can choose to receive all events or subscribe to specific ones by setting custom filters when you create the webhook.
3. Retry Logic
If a webhook fails (e.g., your server doesn’t respond with an HTTP 200 status), CSG Forte will retry up to 20 times, increasing the delay by one minute with each attempt.
What Data Is Included?
Each webhook includes key application details. Here’s a sample of the data you can expect:
Parameter | Description |
---|---|
organization_id | ID of the Partner org that sent the application |
application_id | Unique ID for the merchant application |
status | Current application status (approved, pending, etc.) |
received_date /time | When the application was received |
updated_date /time | When the application was last updated |
fee_id | Associated rate plan ID |
services_requested | e.g., eCheck Acquired, Credit Card Gateway |
decline_reason | If declined, this field provides a reason (e.g., Identity, Type of Business) |
recalled_reason | If recalled, this field explains why (e.g., Incomplete Application) |
legal_name / dba_name | Business names as they appear in legal documents and to customers |
source / type | Indicates where the application originated and the type of webhook |
How to Create a Webhook in DEX
Log into DEX
Go to Developer > Webhooks
Click "Create Webhook"
Fill in the following:
Name: A unique identifier for the webhook
Status: Set to Active or Pending
Endpoint URL: The URL that will receive the POST messages
Define which events to subscribe to (e.g., All or Custom)
Save the webhook configuration
? Only users with Developer or API_User roles in your Partner organization can create webhooks.
FAQs
Can I set webhooks for individual merchant orgs?
No, application status webhooks are only available at the Partner org level and apply to all associated merchant portfolios.
Can I choose which events to receive?
Yes! When creating your webhook, choose Custom to select specific status events.
Is there an “Enrolled” status webhook?
Not yet. The “Enrolled” webhook is in development and was planned for release in Q2 2023.
What timezone are date/time fields in?
All timestamps in webhook payloads are based on Pacific Standard Time (PST).
Best Practices
Validate Data: Use webhook data to verify merchant statuses before triggering downstream workflows.
Ensure Reliability: Make sure your server can respond with an HTTP 200 to prevent unnecessary retries.
Secure Your Endpoint: Implement authentication and input validation to secure your webhook URL.
Monitor and Log: Track incoming webhook events and monitor for delivery failures.
If you'd like, I can turn this into a downloadable PDF or format it for publishing on a knowledge base. Let me know!