Webhooks
Créer des webhooks
This endpoint can be used to subscribe to webhooks
POST
/
v2
/
webhooks
Create webhooks
curl --request POST \
--url https://sandbox.gateway.sezzle.com/v2/webhooks \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://example.com/webhooks",
"events": [
"customer.tokenized"
]
}
'import requests
url = "https://sandbox.gateway.sezzle.com/v2/webhooks"
payload = {
"url": "https://example.com/webhooks",
"events": ["customer.tokenized"]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({url: 'https://example.com/webhooks', events: ['customer.tokenized']})
};
fetch('https://sandbox.gateway.sezzle.com/v2/webhooks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.gateway.sezzle.com/v2/webhooks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'url' => 'https://example.com/webhooks',
'events' => [
'customer.tokenized'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.gateway.sezzle.com/v2/webhooks"
payload := strings.NewReader("{\n \"url\": \"https://example.com/webhooks\",\n \"events\": [\n \"customer.tokenized\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.gateway.sezzle.com/v2/webhooks")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://example.com/webhooks\",\n \"events\": [\n \"customer.tokenized\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.gateway.sezzle.com/v2/webhooks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://example.com/webhooks\",\n \"events\": [\n \"customer.tokenized\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"uuid": "747cf28a-bb5c-46a8-a288-d9b006fd6113",
"links": [
{
"href": "https://sandbox.gateway.sezzle.com/v2/webhooks",
"rel": "create",
"method": "POST"
},
{
"href": "https://sandbox.gateway.sezzle.com/v2/webhooks",
"rel": "list",
"method": "GET"
},
{
"href": "https://sandbox.gateway.sezzle.com/v2/webhooks/747cf28a-bb5c-46a8-a288-d9b006fd6113",
"rel": "self",
"method": "GET"
},
{
"href": "https://sandbox.gateway.sezzle.com/v2/webhooks/747cf28a-bb5c-46a8-a288-d9b006fd6113",
"rel": "self",
"method": "PATCH"
},
{
"href": "https://sandbox.gateway.sezzle.com/v2/webhooks/747cf28a-bb5c-46a8-a288-d9b006fd6113",
"rel": "self",
"method": "DELETE"
}
]
}[
{
"code": "bad_request",
"message": "bad request"
}
][
{
"code": "unauthorized",
"message": "authorization not accepted"
}
][
{
"code": "record_not_found",
"message": "not found"
}
][
{
"code": "invalid",
"message": "Unprocessable entity"
}
]Événements Webhook valides
Nous acceptons les événements Webhook suivants| Événement | Déclencheur |
|---|---|
customer.tokenized | Un client est tokenisé |
order.authorized | Une commande est autorisée par Sezzle |
order.captured | Une commande est capturée par Sezzle |
order.refunded | Une commande est remboursée par Sezzle |
dispute.merchant_input_requested | Un litige est déposé par un acheteur et la contribution du marchand est requise |
dispute.deadline_approaching | Un litige est transféré en avis final par Sezzle |
dispute.closed.customer_win | L’acheteur gagne le litige et la commande est remboursée |
dispute.closed.merchant_win | Le marchand gagne le litige et il est résolu en sa faveur |
dispute.closed.neutral | Aucun gagnant clair n’est déterminé et le litige est résolu de manière neutre |
Autorisations
The authentication token generated from providing API Keys to Sezzle Gateway
Corps
application/json
The URL you are using to receive webhooks
An array of webhook events you wish to subscribe to
Options disponibles:
customer.tokenized, order.authorized, order.captured, order.refunded, dispute.merchant_input_requested, dispute.deadline_approaching, dispute.closed.customer_win, dispute.closed.merchant_win, dispute.closed.neutral Réponse
Successful Operation
The unique identifier for this response
Available API links prefilled with UUID with accompanying method
Hide child attributes
Hide child attributes
The fully qualified URL for the API endpoint
The relationship type indicating the purpose of this link (e.g., 'self' for the current resource, 'create' for creating a new resource, 'list' for listing resources)
Options disponibles:
self, capture, checkout, create, customer, list, order, preapprove, refund, release, session The HTTP method to use when calling this API endpoint
Options disponibles:
GET, POST, PATCH, DELETE ⌘I
Create webhooks
curl --request POST \
--url https://sandbox.gateway.sezzle.com/v2/webhooks \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://example.com/webhooks",
"events": [
"customer.tokenized"
]
}
'import requests
url = "https://sandbox.gateway.sezzle.com/v2/webhooks"
payload = {
"url": "https://example.com/webhooks",
"events": ["customer.tokenized"]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({url: 'https://example.com/webhooks', events: ['customer.tokenized']})
};
fetch('https://sandbox.gateway.sezzle.com/v2/webhooks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.gateway.sezzle.com/v2/webhooks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'url' => 'https://example.com/webhooks',
'events' => [
'customer.tokenized'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.gateway.sezzle.com/v2/webhooks"
payload := strings.NewReader("{\n \"url\": \"https://example.com/webhooks\",\n \"events\": [\n \"customer.tokenized\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.gateway.sezzle.com/v2/webhooks")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://example.com/webhooks\",\n \"events\": [\n \"customer.tokenized\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.gateway.sezzle.com/v2/webhooks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://example.com/webhooks\",\n \"events\": [\n \"customer.tokenized\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"uuid": "747cf28a-bb5c-46a8-a288-d9b006fd6113",
"links": [
{
"href": "https://sandbox.gateway.sezzle.com/v2/webhooks",
"rel": "create",
"method": "POST"
},
{
"href": "https://sandbox.gateway.sezzle.com/v2/webhooks",
"rel": "list",
"method": "GET"
},
{
"href": "https://sandbox.gateway.sezzle.com/v2/webhooks/747cf28a-bb5c-46a8-a288-d9b006fd6113",
"rel": "self",
"method": "GET"
},
{
"href": "https://sandbox.gateway.sezzle.com/v2/webhooks/747cf28a-bb5c-46a8-a288-d9b006fd6113",
"rel": "self",
"method": "PATCH"
},
{
"href": "https://sandbox.gateway.sezzle.com/v2/webhooks/747cf28a-bb5c-46a8-a288-d9b006fd6113",
"rel": "self",
"method": "DELETE"
}
]
}[
{
"code": "bad_request",
"message": "bad request"
}
][
{
"code": "unauthorized",
"message": "authorization not accepted"
}
][
{
"code": "record_not_found",
"message": "not found"
}
][
{
"code": "invalid",
"message": "Unprocessable entity"
}
]