Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Graphical personalization

Control what D1 prints on the physical card during personalization.

Example of printed fields on a physical card (graphical personalization).
Example of graphical personalization on a physical card

D1 prints text, images, and barcodes on the front and back of a physical card during personalization. D1 uses your D1 API request and the graphical configuration defined during D1 onboarding.

What D1 can print

Typical printed fields include:

  • End user name

  • Primary Account Number (PAN)

  • Expiry date

  • Card security code (CSC, also known as CVV2)

  • Optional elements such as logos, product mentions (for example, "Credit"), support phone numbers, and member IDs

Whether a field is required depends on your card product and graphical configuration. Placement (front/back), fonts, and render types are set during D1 onboarding.

Inputs used for personalization

Required D1 API inputs:

  • cardProductId: Card product identifier configured during D1 onboarding.

  • encryptedData.pan: Primary Account Number (PAN).

  • encryptedData.exp: Expiry date, typically YYMM (for example, 2906).

  • encryptedData.name: End user name to print on the card.

Optional D1 API inputs:

  • encryptedData.secondName: Secondary printed name line (if supported by the artwork).

  • cardDesign: Object controlling artwork and dynamic graphical content.

    • cardImage (Optional): Identifier of an end user image for picture card programs (for example, AllAboutMe, SketchMyCard, and BrandMyCard).

    • images (Optional): Additional image identifiers to print on the card (for example, program logos).

    • customLines (Optional): Extra text lines to print (for example, "Credit").

    • memberId (Optional): Program, affinity, or membership identifier to print as text or a barcode. Barcode formats depend on your configuration (for example, Code 39 and Code 128).

Conditional D1 API inputs:

  • encryptedData.cvv2: Card security code (CSC, also known as CVV2). If omitted, D1 computes it using CVK.

  • paymentApplication.cvKeyIndex: CVK index used when computing encryptedData.cvv2.

How D1 selects printed values

D1 prints a field only if it is mapped in your graphical configuration.

For each mapped field, D1 uses:

  • The value you send in the D1 API request, when present.

  • A computed value, when configured (for example, cvv2).

Example payload

This example shows the typical input shape. Field names depend on the specific endpoint you call.

Configuration in D1

For each cardProductId (and optionally artworkId), D1 onboarding defines the graphical configuration.

Configuration typically defines:

  • Printing technology (for example, embossing, indent, inkjet, laser, or thermal color)

  • Color

  • Optional overlays (for example, overlay or cardguard)

  • Per input field:

    • Side (front/back)

    • Render type (text, image, or barcode)

    • Font and font size (for text)

    • Position on the card

Barcode rendering supports common formats such as Code 39 and Code 128 (depending on your configuration).

Example mapping

Example graphical configuration mapping input fields to printed locations.
Example graphical configuration for printed fields.

Last updated

Was this helpful?