Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.sezzle.com/llms.txt

Use this file to discover all available pages before exploring further.

Si le SDK de carte virtuelle n’est pas une option viable, l’intégration manuelle vous guidera à travers les étapes pour compléter une session de carte virtuelle dans votre paiement.
L’intégration manuelle délivre le numéro de carte complet (PAN) et CVV directement à votre JavaScript frontend via postMessage. Cela place votre frontend dans le périmètre PCI DSS. Si vous souhaitez minimiser l’exposition PCI, envisagez le SDK de carte virtuelle avec l’option card_response_format: "token" option, qui maintient les données de carte hors du navigateur.

Aperçu

  1. Créer une session de carte virtuelle
  2. Ajouter un écouteur d’événement de fenêtre de type message à la page de paiement
  3. Ouvrir la session de carte dashboard_url en utilisant le mode fourni dans la demande de création de session de carte
  4. Sezzle enverra un message à l’écouteur lorsque l’utilisateur aura complété la session de carte
  5. Vérifier que le message event.origin correspond au domaine Sezzle attendu
  6. Vérifier que le message event.data existe
  7. Vérifier event.data.szl_source = v_card
  8. Vérifier event.data.card et event.data.holder existent tous les deux
    • S’ils existent
      • Utiliser les données de carte et du titulaire pour soumettre la commande par carte de crédit
    • S’ils n’existent pas
      • L’utilisateur n’a pas fourni de données de carte virtuelle

Exemple Javascript

var SEZZLE_ORIGIN = "https://dashboard.sezzle.com";

window.addEventListener("message", function (event) {
    // Validate the message origin for security
    if (event.origin !== SEZZLE_ORIGIN) {
        return;
    }

    var data = event.data || Object.create(null);

    if (data.szl_source !== "v_card") {
        return;
    }

    var card = data.card;
    var holder = data.holder;
    if (!card && !holder) {
        console.log("failed virtual card session");
        return;
    }

    // Submit card and holder data to your payment processor.
    // IMPORTANT: Do not log or store raw card data (PAN, CVV)
    // in your frontend. Send it directly to your server or
    // payment gateway for processing.
    submitToPaymentGateway({
        card: {
            number: card.pan,
            cvv: card.cvv,
            expiryMonth: card.expiryMonth,
            expiryYear: card.expiryYear,
            firstName: card.firstName,
            lastName: card.lastName,
        },
        billingAddress: {
            email: holder.email,
            phone: holder.phone,
            firstName: holder.firstName,
            lastName: holder.lastName,
            address1: holder.address1,
            address2: holder.address2,
            city: holder.city,
            state: holder.state,
            country: holder.country,
            postalCode: holder.postalCode,
        },
    });
});