Choose the Documentation MX Merchant MX Connect

Issuing a Card

Issue Debit or Prepaid cards with flexible delivery options.

Card Issuance allows you to create and manage cards for a wide range of use cases—from customer spending to business expense management.

📘

Cards can only be issued to an Account in ACTIVE status.


Before You Issue a Card

Before making an API call, it’s important to decide how the card should be issued. These choices determine how your request should be structured.

Who is the card for?

Individual customer or a business-associated user (Authorized User / Beneficial Owner)

What type of card?

Debit (linked to account balance) or Prepaid (pre-funded; business only)

How should it be issued?

Based on your Card Program — Digital, Physical, or Digital-first.
Physical issuance requires valid shipping details.


How Card Issuance Works

Card issuance is controlled by a combination of your Card Program configuration and the parameters you pass in the Card Issuance API.

Before issuing a card, you should always retrieve your Card Program to understand what is supported:

GET /v1/issuance/cardProgram/id/{id} (or using externalId)

The Card Program defines what is allowed, while your API request determines how the card is issued within those constraints.

Supported Card Configurations

Use the table below to map your Card Program configuration with the API input and understand the resulting card behavior.

Card Type (Program)Card Program ConfigurationWhat You Send in Card Issuance APIResulting Behavior
DEBITisDigitalFirst = false and subType = VIRTUALNo issuanceType requiredDigital-only card (no physical card can be issued)
DEBITisDigitalFirst = false and subType = PLASTICNo issuanceType requiredPhysical card issued directly
DEBITisDigitalFirst = true and subType = PLASTICissuanceType = DIGITALVirtual card issued first; physical card can be requested later
DEBITisDigitalFirst = true and subType = PLASTICissuanceType = DIGITAL_AND_PHYSICALVirtual and physical card issued together
PREPAIDtype = PREPAIDissuanceType = DIGITALPrepaid card issued first; physical card can be requested later
PREPAIDtype = PREPAIDissuanceType = DIGITAL_AND_PHYSICALVirtual and physical card issued together

How to Use This

  • Always retrieve your Card Program first to understand supported configurations.
  • Ensure your Card Issuance API request aligns with the program setup.
  • If a combination is not supported by the Card Program, the issuance request will fail.

Issue a Card

Now that you understand how Card Program configuration impacts issuance, you can proceed to issue a card using a single unified API.

Use the POST /v1/customer/id/{id}/issuance/card (or externalId) to issue a Debit or Prepaid card.

What You Need to Provide

Instead of thinking in terms of API fields, think of card issuance as providing three key inputs:

  • Who → Cardholder
  • What → Card configuration
  • How → Delivery method

1. Cardholder Details (Who will use the card)

Parameter

Required

Description

cardholder.type

Conditional

Required for business customers. Possible values: AUTHORIZED_USER, BENEFICIAL_OWNER.

Not required for individual customers.

cardholder.id or cardholder.externalId

Unique identifier of the cardholder defined above.

2. Card Configuration (How the card works)

Parameter

Required

Description

type

Defines the funding model: DEBIT or PREPAID.

Note: Prepaid cards are supported only for business customers.

cardProgram.id

Optional

Identifier of the Card Program to be used.

If not provided, the system uses the default Card Program configured for your account. You can verify available programs using the POST /v1/issuance/cardProgram/list API.

issuanceType

Conditional

Required only for Digital-First programs.

  • DIGITAL → Virtual card issued first; physical can be requested later
  • DIGITAL_AND_PHYSICAL → Virtual and physical issued together

3. Delivery Details (How the card is delivered)

Parameter

Required

Description

shippingDetail.address.id or shippingDetail.address.externalId

Mandatory

Unique identifier of the cardholder’s delivery address.

To retrieve the address, fetch the mailingAddress.id for:

shippingDetail.address

Conditional

Provide address details (addressLine1, addressLine2, city, state, zip) if an address ID is not available. Providing a new address during issuance is only supported for card type = PREPAID .

shippingDetail.expressDelivery

Optional

Indicates whether expedited shipping is required.

Possible values: true or false. Additional charges may apply.


Retrieve the Issued Card

Once a card is issued, use the GET /v1/customer/id/{id}/issuance/card/id/{id} to retrieve its details. This API helps you:

  • Confirm card issuance and check if the card is successfully created
  • Track card status (e.g., ACTIVE, INACTIVE, delivery status for physical cards)
  • Verify cardholder details associated with the card
  • Check issuance configuration, such as:
    • Card type (Debit / Prepaid)
    • Issuance type (Digital / Digital-first / Physical)
  • Monitor shipping status for physical cards
  • Access spend limits and available balance
  • Determine if additional actions are required, such as enabling card-present transactions

Card Activation & Usage

The ability to use a card depends on how it was issued and whether additional actions such as activation or enablement are required.

Card Type

Issuance Type

Activation Journey & Usage

Physical

Usable after Activate Card API (post delivery)

Activation Journey: PENDING → SHIPPED → ACTIVE

Digital-first

DIGITAL

Virtual Card: Usable immediately

Physical Card: Can be requested later when required.

Activation Journey: PENDING → ACTIVE

Digital-first

DIGITAL_AND_PHYSICAL

Virtual Card: Usable immediately

Physical Card: Issued immediately

Activation Journey: PENDING → ACTIVE


Next Steps

Once your card is issued, you can continue building your workflow with the following actions: