Skip to main content
If the Virtual Card SDK is not a viable option, the manual integration will guide you through the steps to complete a virtual card session in your checkout.
The manual integration delivers the full card number (PAN) and CVV directly to your frontend JavaScript via postMessage. This places your frontend in PCI DSS scope. If you want to minimize PCI exposure, consider the Virtual Card SDK with the card_response_format: "token" option, which keeps card data out of the browser.

Overview

  1. Create a virtual card session
  2. Add a window event listener with type message to the checkout page
  3. Open the card session dashboard_url using the mode provided in the create card session request
  4. Sezzle will post a message to the listener when the user has completed the card session
  5. Verify the message event.origin matches the expected Sezzle domain
  6. Verify message event.data exists
  7. Verify event.data.szl_source = v_card
  8. Verify event.data.card and event.data.holder both exist
    • If they exist
      • Use card and holder data to submit the order by credit card
    • If they don’t exist
      • The user did not provide virtual card data

Example Javascript