Cards

Create card

Create a virtual or physical (plastic/metal) card.

Refer to the Cards management guide for more information about physical and virtual cards.

For more information about embossing, refer to Embossing flows.

This endpoint generates a Card created event. The card's PCI data is created asynchronously as is the Card created event. Any operation that tries to access a card before this event, such as update password or get PCI information, is going to return a 404, not found error.

post/wallet/v2/cards

Request

  • Base URL
    https://sandbox.pismolabs.io
  • URL
    https://sandbox.pismolabs.io/wallet/v2/cards
  • Auth
    HTTP bearer

Headers

x-customer-idinteger required

Pismo customer ID

x-idempotency-keystring

A unique identifier to ensure the operation remains idempotent, allowing for operation repetition without causing unintended effects or duplication. An idempotent operation is one that can be applied multiple times, yet the outcome remains the same. it ensures that network errors, retries, or failures can occur without introducing inconsistencies. 36 chars max.

Request body

namestring required

Card alias name for a VIRTUAL card.

This field is REQUIRED to be unique for each VIRTUAL card a customer owns.

No matter what is passed for a PLASTIC card, the value is always PLASTIC.

type'PLASTIC' | 'VIRTUAL' | 'RECURRING' | 'TEMPORARY' required

Card type enum:

  • PLASTIC - Physical card - plastic or metal.
  • VIRTUAL - Digital card with fixed PAN and dynamic CVV.
  • TEMPORARY - Virtual card with a fixed PAN and CVV meant for short-term use, typically 24 hours. For more information, refer to Configuring temporary cards in the Cards management guide.
  • RECURRING - Virtual card with a fixed PAN and CVV originally meant for use with recurring subscriptions. This type is being DEPRECATED and it is recommended you use VIRTUAL instead.
printed_namestring

Printed/embossed card name.

Currently, you have 3 ways to populate this field:

  1. During account creation via the application.applicant.personal.social_name field.
  2. During account creation via the application.applicant.personal.name field when the field in #1 is not set.
  3. Passing the printed_name field during card creation, updating a card, or when reissuing a card. This takes priority over #1 and #2.

No letters with accents, numbers, or special characters - only letters (a-z|A-Z) and space, as specified in the <a href="https://emvlab.org/emvtags/show/t5F20/" target="_blank">ISO EMV tag 5F20</a> for cardholder name.

REQUIRED for an UNNUMBERED card (Card created without PIN or PAN that issuer defines at some point in the future.)

pin_length4 | 6

PIN length - 4 or 6 digits. Default is 4.

cvv_rotation_interval_hoursinteger

<b>REQUIRED</b> for a virtual card. Virtual card CVV rotation interval in hours.

To force a rotation manually, call the Rotate virtual card CVV endpoint.

If 0 is passed, the CVV will NOT be rotated.

transaction_limitstring

Optional for virtual cards. Maximum amount allowed per transaction. Set up to the approved limit. If not set, account limit is used.

metadataMetadata

Any key-value object. Max length = 3200 bytes. This must be valid JSON data.

Note: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to Get started with Pismo APIs.

embossing_groupstring

Embossing group name. Clients can work with multi-embossers. You can use this field to notify an embosser about a card request. If this parameter is not passed, and you work with multi-embossers, the default embosser is used. For more information, refer to the Physical card embossing guide.

embossing_custom_fieldstring

For physical cards. Additional information for embossing company. For example: tracking number or whether the card should be plastic or metal.

You can use this field for any embossing needs specific to your business. Whatever is sent must be agreed upon with the embosser—what to send, what values to send, what format to send, what size to send for each value, and so on.

contactless_enabledboolean

For physical cards. Is card enabled for contactless transactions?

With contactless transactions, you hold or tap the card on contactless-enabled card reader to complete a transaction. This requires that both the card and the terminal have Near Field Communication (NFC) technology. Most embossers can create plastic contactless cards.

Default is true.

abu_enabledboolean

This field is DEPRECATED. For more information, refer to the ABU documentation in the Cards overview guide.

When a card is created or reissued, or its account credentials change, Mastercard is notified if this feaure is enabled. Notification updates are sent to Mastercard on a daily basis.

For more information, refer to Mastercard's <a href="https://developer.mastercard.com/product/automatic-billing-updater-abu/" target="_blank">ABU</a> documentation.

template_idstring

Template ID. Templates are used to implement the BIN override feature. For more information, refer to the BIN override guide.

mode_type'SINGLE' | 'COMBO'

Mode type enum - SINGLE or COMBO. A combo card can have both a credit and debit mode, meaning it is associated with both a credit and debit program and account. A single card has one mode - credit or debit. Refer to the mode documentation in the Card overview guide for more information.

generate_pvvboolean

For physical cards. Should a PIN Verification Value (PVV) be generated and inserted into the card tracks during embossing, or should the PVV be generated and sent to Visa when updating the card's PIN? Visa's PIN Verification Service (PVS) must be enabled. The default is false.

validity_period_hoursinteger

How long, in hours, the card is valid. Cannot exceed the card's expiration_date. Once this period is exceeded, and the card has a NORMAL, BLOCKED, PENDING, WARNING or REISSUED status, its status becomes INOPERATIVE.

This field is used to calculate the datetime value for valid_until.

For VIRTUAL and PLASTIC cards. Setting this field for TEMPORARY or RECURRING cards returns a 400 Bad request error.

status'UNNUMBERED'

Card status, sent when an UNNUMBERED card is requested. For issuers who want to create cards on the Pismo platform that will not have PCI data (PAN, PIN) generated here but that they will provide at some point in the future.

brand'VISA' | 'MASTERCARD' | 'ELO' | 'RUPAY' | 'PRIVATE' | 'GPN'

Card network that overrides the one set up by the card's program.

REQUIRED when the status field is used for UNNUMBERED cards.

expiration_datestring

Card expiration date (format = yymm). If passed, the card expiration date is not calculated using the "Card expiration (# of months)" program parameter.

atm_change_online_pin_when_script_sentboolean

During ATM transactions, should the card's online PIN be updated when the offline PIN change script is sent to the terminal for execution?

If false, the online PIN is only updated after a subsequent transaction, once the Pismo platform verifies - via the card's CVR (Card Verification Results) — that the offline script was successfully applied.

Default is false.

Example request

{
  "name": "Vacation card",
  "type": "VIRTUAL",
  "transaction_limit": "500.00",
  "metadata": {
    "my-custom-key": "my-custom-value"
  },
  "embossing_group": "EM1-embosser",
  "embossing_custom_field": "Tracking ID = 5859930",
  "abu_enabled": true,
  "template_id": "EAFA693A-57B2-4029-97F3-D20D6F06D79B",
  "mode_type": "COMBO",
  "generate_pvv": true,
  "validity_period_hours": 240,
  "status": "UNNUMBERED",
  "brand": "VISA",
  "expiration_date": "2803"
}

Response

Card creation response when x-idempotency-key is passed and the card had already been created in a preivous call.

idinteger

Pismo card ID

namestring

Card alias name for a VIRTUAL card.

This field is REQUIRED to be unique for each VIRTUAL card a customer owns.

No matter what is passed for a PLASTIC card, the value is always PLASTIC.

statusstring

Card status enum. Refer to the Card lifecycle and statuses guide for more information and a complete list.

type'PLASTIC' | 'VIRTUAL' | 'RECURRING' | 'TEMPORARY'

Card type enum:

  • PLASTIC - Physical card - plastic or metal.
  • VIRTUAL - Digital card with fixed PAN and dynamic CVV.
  • TEMPORARY - Virtual card with a fixed PAN and CVV meant for short-term use, typically 24 hours. For more information, refer to Configuring temporary cards in the Cards management guide.
  • RECURRING - Virtual card with a fixed PAN and CVV originally meant for use with recurring subscriptions. This type is being DEPRECATED and it is recommended you use VIRTUAL instead.
transaction_limitstring

Optional for virtual cards. Maximum amount allowed per transaction. Set up to the approved limit. If not set, account limit is used.

metadataMetadata

Any key-value object. Max length = 3200 bytes. This must be valid JSON data.

Note: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to Get started with Pismo APIs.

cvv_rotation_interval_hoursinteger

<b>REQUIRED</b> for a virtual card. Virtual card CVV rotation interval in hours.

To force a rotation manually, call the Rotate virtual card CVV endpoint.

If 0 is passed, the CVV will NOT be rotated.

embossing_custom_fieldstring

For physical cards. Additional information for embossing company. For example: tracking number or whether the card should be plastic or metal.

You can use this field for any embossing needs specific to your business. Whatever is sent must be agreed upon with the embosser—what to send, what values to send, what format to send, what size to send for each value, and so on.

contactless_enabledboolean

For physical cards. Is card enabled for contactless transactions?

With contactless transactions, you hold or tap the card on contactless-enabled card reader to complete a transaction. This requires that both the card and the terminal have Near Field Communication (NFC) technology. Most embossers can create plastic contactless cards.

Default is true.

abu_enabledboolean

This field is DEPRECATED. For more information, refer to the ABU documentation in the Cards overview guide.

When a card is created or reissued, or its account credentials change, Mastercard is notified if this feaure is enabled. Notification updates are sent to Mastercard on a daily basis.

For more information, refer to Mastercard's <a href="https://developer.mastercard.com/product/automatic-billing-updater-abu/" target="_blank">ABU</a> documentation.

template_idstring

Template ID. Templates are used to implement the BIN override feature. For more information, refer to the BIN override guide.

mode_type'SINGLE' | 'COMBO'

Mode type enum - SINGLE or COMBO. A combo card can have both a credit and debit mode, meaning it is associated with both a credit and debit program and account. A single card has one mode - credit or debit. Refer to the mode documentation in the Card overview guide for more information.

validity_period_hoursinteger

How long, in hours, the card is valid. Cannot exceed the card's expiration_date. Once this period is exceeded, and the card has a NORMAL, BLOCKED, PENDING, WARNING or REISSUED status, its status becomes INOPERATIVE.

This field is used to calculate the datetime value for valid_until.

For VIRTUAL and PLASTIC cards. Setting this field for TEMPORARY or RECURRING cards returns a 400 Bad request error.

valid_untilstring

Card is valid until this datetime. ISO 8601 format. Once this time is exceeded, and the card has a NORMAL, BLOCKED, PENDING, WARNING or REISSUED status, its status becomes INOPERATIVE. This field's value is calculated using the validity_period_hours.

Example response

{
  "id": 123456,
  "name": "Vacation card",
  "status": "NORMAL",
  "type": "VIRTUAL",
  "transaction_limit": "500.00",
  "metadata": {
    "my-custom-key": "my-custom-value"
  },
  "embossing_custom_field": "Tracking ID = 5859930",
  "abu_enabled": true,
  "template_id": "EAFA693A-57B2-4029-97F3-D20D6F06D79B",
  "mode_type": "COMBO",
  "validity_period_hours": 240,
  "valid_until": "2021-07-03T17:23:18Z"
}

Changes

No recorded changes to this operation across all 1 revision of this API.