Webhooks allow you to subscribe to specific Slope events and be notified via HTTP webhook as soon as they occur. They are useful for integrations that rely on asynchronous events to improve your customer's experience, notify your team, or any action other action in your system. For example,
so.slope.customer.created events can be used to notify your customers of increased limits or Payout Paid events to disburse funds to your sellers.
Reach out to our support team to help you get webhooks configured. Support in the merchant dashboard is coming soon.
Before you get started, you must be able to build a public webhook endpoint that can be accessed using a public HTTPS URL. For local development, we recommend using a tool like ngrok to proxy events to your local development environment.
You can start receiving events by following these steps:
- Identify the events you want to receive
- Build an HTTP endpoint to [receive events] identified above
- Configure a new webhook in Slope
To start receiving webhook requests your endpoint must meet the following requirements:
- Publicly accessible HTTPS URL
- Accepts POST request with a JSON body
- Responds with a 2xx response code on success within 5 seconds
Slope sends webhook requests with event as JSON object in the request body. Events will always
be in the documented Event Schema.
Once the endpoint has successfully handled an event, it should return a 2xx response status code so
that Slope is aware that the webhook request has succeeded. Returning a non-2xx status code will result
in retries according to the retry behavior. Events may be sent out of order and your server should handle this as well.
All 2xx response status codes returned by your endpoint will be marked successful by Slope. However, this does not guarantee duplicate events wont be sent again so your endpoint should be idempotent.
Should there be any error that occurs, your endpoint should respond with any non-2xx response code. We will exponentially retry until a 2xx status code is received.
If you are verifying the IP addresses of Slope webhook requests, then add these to your allowlist:
Updated 4 months ago