Aller au contenu principal

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ètreObligatoireTapezDescriptif
cancel_urlvraiobjetLes informations de la requête HTTP permettant de rediriger le client en cas d'annulation
complete_urlvraiobjetLes informations de la requête HTTP utilisées pour rediriger le client à la fin de la session
customerfauxobjetLe client pour cette session
orderfauxobjetL'ordre de cette séance

Objet URL

Ceci est utilisé à la fois pour les objets URL d'annulation et complets.

ParamètreObligatoireTapezDescriptif
hrefvraichaîneL'URL utilisée lors de la redirection d'un client
methodfauxchaîneLa 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ètreObligatoireTapezDescriptif
tokenizefauxbooléenDétermine s’il faut tokeniser le client. En cas d'omission, la valeur par défaut est false.
emailfauxchaîneL'adresse email du client
first_namefauxchaîneLe prénom du client
last_namefauxchaîneLe nom du client
phonefauxchaîneLe numéro de téléphone du client
dobfauxchaîneLa date de naissance du client au format AAAA-MM-JJ (paramètre en saisie uniquement)
billing_addressfauxobjetL'adresse de facturation du client
shipping_addressfauxobjetL'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ètreObligatoireTapezDescriptif
namefauxchaîneLe nom sur l'adresse
streetfauxchaîneLa rue et le numéro de l'adresse
street2fauxchaîneL'appartement ou l'unité
cityfauxchaîneLa ville
statefauxchaîneLe code d'état à 2 caractères
postal_codefauxchaîneLe code de livraison postale
country_codefauxchaîneLe code pays à 2 caractères
phone_numberfauxchaîneLe numéro de téléphone du lieu de livraison

Objet de commande

ParamètreTaparDescription
intent*chaîneLes 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îneVotre identifiant de référence pour cette commande
description*chaîneVotre 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_infobooléenneFlag 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_optionstableauLes options de financement de la caisse.Une seule option peut être incluse.
itemsobjetLes articles achetés
discountsobjetLes remises s'appliquaient à cette commande.Doit être inclus dans le total
metadataobjetObjet 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_amountobjetLes frais d'expédition s'appliquaient à cette commande.Doit être inclus dans le total
tax_amountobjetLes taxes s'appliquaient à cette commande.Doit être inclus dans le total
checkout_expirationchaîneLe paiement de l'expiration de la commande dans ISO 8601 Date / HEURE Format
checkout_modechaîneLe 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_urlobjetUn objet de notification pour l'envoi URL de paiement au client
localechaîneLocalise 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ètreTaparDescription
namechaîneLe nom de l'objet
skuchaîneL'identifiant SKU
quantityintLa quantité achetée
priceobjetL'objet de prix

Discount Object

ParamètreTaparDescription
namechaîneLa description de la remise
amountobjetUn 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ètreTaparDescription
some_field_namechaîneChamp de métadonnées personnalisés
some_other_field_namechaîneChamp 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ètreTaparDescription
amount_in_centsintLe montant de l'article en cents
currencychaîneLe 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ètreTaparDescription
to_sms_phonechaîneLe numéro de téléphone SMS de la notification
to_emailchaîneL'adresse e-mail de la notification
languagechaîneLe 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ètreTaparDescription
tokenchaîneCe 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.
expirationchaîneL'expiration du jeton de demande au format Date / Heure ISO 8601.
approval_urlchaîneL'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"
}
]
}
}
info

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.