Créer une séance
Ce point de terminaison crée une session dans notre système, et il renvoie l'URL vers laquelle vous devez rediriger l'utilisateur.Vous pouvez utiliser une session pour créer une commande, tokenize un client, ou les deux.
Nous vous suggérons de fournir autant d'informations facultatives sur l'utilisateur que vous l'avez disponible, car cela accélérera notre processus de paiement et augmentera la conversion.
Si vous soumettez une commande avec une session, Sezzle est en mesure de gérer l'intégralité du processus de paiement une fois qu'une commande a été fournie.Cependant, si votre flux nécessite que l'utilisateur confirme son paiement sur votre site après avoir été approuvé par Sezzle, vous pouvez définir le paramètre intent
sur AUTH
avec la demande de session.Dans ce flux, Sezzle ne terminera pas la transaction à moins que vous ne fassiez une demande de capture.Les demandes de capture peuvent être faites pour capturer tout ou partie du montant de la commande d'origine.Vous devez envoyer la demande de capture avant l'expiration de l'autorisation.Par défaut, les autorisations expirent en 30 minutes, mais la période d'expiration pour les nouvelles autorisations peut être prolongée jusqu'à 7 jours dans votre tableau de bord marchand.
Si vous choisissez de tokenize un client, le client aura la possibilité d'accepter de vous permettre de traiter les transactions futures en leur nom.Cela vous donne la possibilité de préapporter et de créer des commandes au nom du client.
Point de terminaison
POST https://gateway.sezzle.com/v2/session
Propriétés
Objet de session
Un objet de session valide contient au minimum un objet Order ou un objet Customer avec tokenize défini sur true.
Paramètre | Obligatoire | Tapez | Descriptif |
---|---|---|---|
cancel_url | vrai | objet | Les informations de la requête HTTP permettant de rediriger le client en cas d'annulation |
complete_url | vrai | objet | Les informations de la requête HTTP utilisées pour rediriger le client à la fin de la session |
customer | faux | objet | Le client pour cette session |
order | faux | objet | L'ordre de cette séance |
Objet URL
Ceci est utilisé à la fois pour les objets URL d'annulation et complets.
Paramètre | Obligatoire | Tapez | Descriptif |
---|---|---|---|
href | vrai | chaîne | L'URL utilisée lors de la redirection d'un client |
method | faux | chaîne | La méthode de requête HTTP utilisée lors de la redirection d'un client. Actuellement, seule la méthode GET est prise en charge. En cas d'omission, la valeur par défaut sera GET. |
Objet client
Paramètre | Obligatoire | Tapez | Descriptif |
---|---|---|---|
tokenize | faux | booléen | Détermine s’il faut tokeniser le client. En cas d'omission, la valeur par défaut est false. |
faux | chaîne | L'adresse email du client | |
first_name | faux | chaîne | Le prénom du client |
last_name | faux | chaîne | Le nom du client |
phone | faux | chaîne | Le numéro de téléphone du client |
dob | faux | chaîne | La date de naissance du client au format AAAA-MM-JJ (paramètre en saisie uniquement) |
billing_address | faux | objet | L'adresse de facturation du client |
shipping_address | faux | objet | L'adresse de livraison du client |
Objet d'adresse
Ce format est utilisé à la fois pour billing_address et shipping_address dans l'objet Customer.
Paramètre | Obligatoire | Tapez | Descriptif |
---|---|---|---|
name | faux | chaîne | Le nom sur l'adresse |
street | faux | chaîne | La rue et le numéro de l'adresse |
street2 | faux | chaîne | L'appartement ou l'unité |
city | faux | chaîne | La ville |
state | faux | chaîne | Le code d'état à 2 caractères |
postal_code | faux | chaîne | Le code de livraison postale |
country_code | faux | chaîne | Le code pays à 2 caractères |
phone_number | faux | chaîne | Le numéro de téléphone du lieu de livraison |
Objet de commande
Paramètre | Tapar | Description |
---|---|---|
intent* | chaîne | Les valeurs acceptées sont "AUTH" ou "CAPTURE".Si votre flux de paiement nécessite que l'utilisateur confirme son paiement sur votre site après avoir été approuvé par Sezzle, utilisez "AUTH" comme intention.Si vous préférez que le paiement soit capturé immédiatement, utilisez "CAPTURE". |
reference_id* | chaîne | Votre identifiant de référence pour cette commande |
description* | chaîne | Votre description de cette commande |
order_amount* | objet | |
Un objet Price contenant le montant en centimes de la commande, qui doit être d'au moins 100 , soit $1.00. Veuillez noter que votre configuration de marchand peut avoir un minimum plus élevé. Tous les champs de l'objet Price sont obligatoires. | ||
requires_shipping_info | booléenne | Flag pour indiquer si vous souhaitez que nous collections des informations d'expédition pour cette caisse auprès du client.S'il est omis, par défaut est faux. |
checkout_financing_options | tableau | Les options de financement de la caisse.Une seule option peut être incluse. |
items | objet | Les articles achetés |
discounts | objet | Les remises s'appliquaient à cette commande.Doit être inclus dans le total |
metadata | objet | Objet pour toutes les données personnalisées que vous souhaitez soumettre avec la caisse.Vous n'êtes pas limité aux paires de valeurs clés indiquées dans l'exemple, et vous pouvez utiliser toutes les paires de valeurs clés que vous aimez |
shipping_amount | objet | Les frais d'expédition s'appliquaient à cette commande.Doit être inclus dans le total |
tax_amount | objet | Les taxes s'appliquaient à cette commande.Doit être inclus dans le total |
checkout_expiration | chaîne | Le paiement de l'expiration de la commande dans ISO 8601 Date / HEURE Format |
checkout_mode | chaîne | Le mode pour la commande de commande.Par défaut est redirect s'il n'est pas fourni. Si iframe ou popup est fourni, les URL d'annulation et complète doivent inclure l'origine de la fenêtre parent. |
send_checkout_url | objet | Un objet de notification pour l'envoi URL de paiement au client |
locale | chaîne | Localise le paiement. Les valeurs acceptées sont en-US (English, United States), en-CA (English, Canada) and fr-CA (French, Canada). Par défaut en-US si ce n'est pas fourni. |
Objet d'élément
Paramètre | Tapar | Description |
---|---|---|
name | chaîne | Le nom de l'objet |
sku | chaîne | L'identifiant SKU |
quantity | int | La quantité achetée |
price | objet | L'objet de prix |
Discount Object
Paramètre | Tapar | Description |
---|---|---|
name | chaîne | La description de la remise |
amount | objet | Un objet de prix |
Objet de métadonnées
Utilisez l'objet Metadata pour toute information supplémentaire que vous souhaitez attacher à la caisse.Toutes les valeurs doivent être chaines.
Paramètre | Tapar | Description |
---|---|---|
some_field_name | chaîne | Champ de métadonnées personnalisés |
some_other_field_name | chaîne | Champ de métadonnées personnalisés |
Objet du montant de l'expédition
Un objet de prix
Objet du montant de l'impôt
Un objet de prix
Objet Price
L'objet de prix est utilisé pour les articles, les remises, le montant de l'expédition, le montant de l'impôt et le montant de la commande.
Paramètre | Tapar | Description |
---|---|---|
amount_in_cents | int | Le montant de l'article en cents |
currency | chaîne | Le code de devise de 3 caractères tel que défini par ISO 4217 |
Objet de notification
Un objet de notification valide contient un minimum d'un téléphone ou d'un e-mail.
Paramètre | Tapar | Description |
---|---|---|
to_sms_phone | chaîne | Le numéro de téléphone SMS de la notification |
to_email | chaîne | L'adresse e-mail de la notification |
language | chaîne | Le code linguistique ISO 639 à 2 caractères de la notification. Les valeurs acceptables sont "en" et "fr-CA". Sera par défaut en anglais s'il n'est pas fourni. |
Tokenize Objet
Ceci est inclus dans la réponse lors du démarrage d'une session de tokenisation client.
Paramètre | Tapar | Description |
---|---|---|
token | chaîne | Ce jeton représente la demande marchande de tokensize un client.Ce jeton ne peut être utilisé qu'une seule fois.Une fois qu'un utilisateur accepte / refuse la tokenisation, ce jeton et son URL d'approbation seront obsolètes. |
expiration | chaîne | L'expiration du jeton de demande au format Date / Heure ISO 8601. |
approval_url | chaîne | L'URL pour l'utilisateur d'accepter la tokenisation.Cette URL ne crée pas de commande, elle n'est utilisée que pour le tokenisage d'un client. |
Exemples
Demande de session
{
"cancel_url": {
"href": "https://example.com/cart",
"method": "GET"
},
"complete_url": {
"href": "https://example.com/ord_12345/complete",
"method": "GET"
},
"customer": {
"email": "john.doe@sezzle.com",
"first_name": "John",
"last_name": "Doe",
"phone": "5555045294",
"dob": "1990-02-25",
"billing_address": {
"name": "John Doe",
"street": "123 W Lake St",
"street2": "Unit 104",
"city": "Minneapolis",
"state": "MN",
"postal_code": "55408",
"country_code": "US",
"phone_number": "5555045294"
},
"shipping_address": {
"name": "John Doe",
"street": "123 W Lake St",
"street2": "Unit 104",
"city": "Minneapolis",
"state": "MN",
"postal_code": "55408",
"country_code": "US",
"phone_number": "5555045294"
}
},
"order": {
"intent": "CAPTURE",
"reference_id": "ord_12345",
"description": "sezzle-store - #12749253509255",
"items": [
{
"name": "widget",
"sku": "sku123456",
"quantity": 1,
"price": {
"amount_in_cents": 1000,
"currency": "USD"
}
}
],
"discounts": [
{
"name": "20% off",
"amount": {
"amount_in_cents": 1000,
"currency": "USD"
}
}
],
"metadata": {
"location_id": "123",
"store_name": "Downtown Minneapolis",
"store_manager": "Jane Doe"
},
"shipping_amount": {
"amount_in_cents": 1000,
"currency": "USD"
},
"tax_amount": {
"amount_in_cents": 1000,
"currency": "USD"
},
"order_amount": {
"amount_in_cents": 10000,
"currency": "USD"
}
}
}
Réponse de la session
{
"uuid": "fadbc642-05a4-4e38-9e74-80e325623af9",
"links": [
{
"href": "https://gateway.sezzle.com/v2/session/fadbc642-05a4-4e38-9e74-80e325623af9",
"method": "GET",
"rel": "self"
}
],
"order": {
"uuid": "12a34bc5-6de7-890f-g123-4hi1238jk902",
"checkout_url": "https://checkout.sezzle.com/?id=12a34bc5-6de7-890f-g123-4hi1238jk902",
"intent": "CAPTURE",
"links": [
{
"href": "https://gateway.sezzle.com/v2/order/12a34bc5-6de7-890f-g123-4hi1238jk902",
"method": "GET",
"rel": "self"
},
{
"href": "https://gateway.sezzle.com/v2/order/12a34bc5-6de7-890f-g123-4hi1238jk902",
"method": "PATCH",
"rel": "self"
},
{
"href": "https://gateway.sezzle.com/v2/order/12a34bc5-6de7-890f-g123-4hi1238jk902/release",
"method": "POST",
"rel": "release"
},
{
"href": "https://gateway.sezzle.com/v2/order/12a34bc5-6de7-890f-g123-4hi1238jk902/capture",
"method": "POST",
"rel": "capture"
},
{
"href": "https://gateway.sezzle.com/v2/order/12a34bc5-6de7-890f-g123-4hi1238jk902/refund",
"method": "POST",
"rel": "refund"
}
]
}
}
Demande de tokenisation
{
"cancel_url": {
"href": "https://example.com/user/payments",
"method": "GET"
},
"complete_url": {
"href": "https://example.com/user/payments/add-sezzle",
"method": "GET"
},
"customer": {
"tokenize": true
}
}
Réponse de tokenisation
{
"uuid": "fadbc642-05a4-4e38-9e74-80e325623af9",
"links": [
{
"href": "https://gateway.sezzle.com/v2/session/fadbc642-05a4-4e38-9e74-80e325623af9",
"method": "GET",
"rel": "self"
}
],
"tokenize": {
"token": "7ec98824-67cc-469c-86ab-f9e047f9cf1a",
"expiration": "2020-04-27T14:46:59Z",
"approval_url": "https://dashboard.sezzle.com/customer/checkout-approval?merchant-request-id=3f3244fd-78ce-4994-af0c-b8c760d47794",
"links": [
{
"href": "https://gateway.sezzle.com/v2/token/7ec98824-67cc-469c-86ab-f9e047f9cf1a/session",
"method": "GET",
"rel": "token"
}
]
}
}
Il est possible de créer une commande et de tokeniser un client en une seule session en fournissant un objet de commande et en définissant customer tokenize sur true. Dans ce cas, la réponse inclura à la fois les objets order et tokenize et l'utilisateur sera invité à accepter la tokenisation lors du paiement.