Click-once

Learn how to customise the click-once component.

Styling

const clickOnceConfig: ClickOnceComponentConfig = {
  limitTokens: number,
  filterBy: {
    excludeExpiredTokens: boolean,
    schemes: string[],
    fundingSource: string,
    issuerCountryCode: string,
    ownerType: string
  },
  orderBy: {
    expiryDate: string,
    scheme: string,
    fundingSource: string,
    ownerType: string,
    issuerCountryCode: string,
    lastUsageDate: {
      orderByField: string
    }
  },
  cardBrandImages: {
    visaSrc: string,
    mastercardSrc: string,
    amexSrc: string,
    cupSrc: string,
    dinersSrc: string,
    discoverSrc: string,
    jcbSrc: string
  },
  isCvcRequired: boolean,
  cvcComponentConfig: CardCvcComponentConfig,
  cardSubmitComponentConfig: CardSubmitComponentConfig,
  hideCardBrandLogo: boolean,
  submitButtonText: string,
  disableCardSelection: boolean,
  isRenderLastPurchaseCard: boolean,
  isRenderLastPayoutCard: boolean,
  class: string,
  selectTokenItemClass: string,
  useTransparentCardBrandImage: boolean,
  selectCardButtonAriaLabel: string,
  label: string,
  labelAriaLabel: string,
  submitAriaLabel: string,
  cardNumberAriaLabel: string,
  cardExpiryDateAriaLabel: string
}
ParameterDescription
limitTokens
number
The maximum number of tokens to display in the component.
filterBy
object
Details about the filtering options.
filterBy.excludeExpiredTokens
boolean
Whether to exclude tokens associated with expired cards.
filterBy.schemes
string []
The list of card schemes to include. For example, [Visa, MasterCard].
filterBy.fundingSource
string
The funding source type to include. For example Credit or Debit.
filterBy.issuerCountryCode
string
The issuer country code to include.
filterBy.ownerType
string
The owner type to include.
orderBy
object
Details about the ordering options.
orderBy.expiryDate
object
Details for ordering by expiry date.
orderBy.expiryDate.direction
string
The direction to order by.

Possible values:
  • desc
  • asc
orderBy.expiryDate.priority
number
The priority of the ordering option.
orderBy.scheme
object
Details for ordering by card scheme.
orderBy.scheme.valuesOrder
string
The card scheme.
orderBy.scheme.priority
number
The priority of the ordering option.
orderBy.fundingSource
object
Details for ordering by funding source.
orderBy.fundingSource.valuesOrder
string
The funding source.

Possible values:
  • Credit
  • Debit
orderBy.fundingSource.priority
number
The priority of the ordering option.
orderBy.ownerType
object
Details for ordering by owner type.
orderBy.ownerType.valuesOrder
string
The owner type.

Possible values:
  • Consumer
  • Commercial
orderBy.ownerType.priority
number
The priority of the ordering option.
orderBy.issuerCountryCode
object
Details for ordering by issuer country code.
orderBy.issuerCountryCode.direction
string
The direction to order by.

Possible values:
  • desc
  • asc
orderBy.lastUsageDate
object
Details for ordering by last usage date.
orderBy.lastUsageDate.direction
string
The direction to order by.

Possible values:
  • desc
  • asc
cardBrandImages
object
Details about the card brand images.
cardBrandImages.visa
string
The URL for the Visa card brand image.
cardBrandImages.mastercard
string
The URL for the Mastercard card brand image.
cardBrandImages.amex
string
The URL for the Amex card brand image.
cardBrandImages.cup
string
The URL for the CUP card brand image.
cardBrandImages.diners
string
The URL for the Diners card brand image.
cardBrandImages.discover
string
The URL for the Discover card brand image.
cardBrandImages.jcb
string
The URL for the JCB card brand image.
isCvcRequired
boolean
Whether CVC is required.
cvcComponentConfig
CardCvcComponentConfig
Details about the configuration for the card CVC component. See Card CVC.
cardSubmitComponentConfig
CardSubmitComponentConfig
Details about the configuration for the card submit component. See Card submit.
hideCardBrandLogo
boolean
Whether to hide the card brand logo.
submitButtonText
string
The text for the submit button.
disableCardSelection
boolean
Whether to disable card selection.
isRenderLastPurchaseCard
boolean
Whether to render the last card that was used for a purchase.
isRenderLastPayoutCard
boolean
Whether to render the last card that was used for a payout.
class
string
The class name for the component.
selectTokenItemClass
string
The class name for the select token item in the select token list.
useTransparentCardBrandImage
boolean
Whether to use transparent card brand images. Defaults to true.
selectCardButtonAriaLabel
string
The aria label for the select card button.
label
string
The label for the click-once component.
labelAriaLabel
string
The aria label for the click-once component.
submitAriaLabel
string
The aria label for the submit button.
cardNumberAriaLabel
string
The aria label for the card number.
cardExpiryDateAriaLabel
string
The aria label for the card expiry date.

Callbacks

const clickOnceConfig: ClickOnceComponentConfig = {
  onCvcEntered: () => void,
  onOnceCardClick: () => void;
};
DescriptionCallback
Event handler for when a card verification code is entered.onCvcEntered: () => void
Event handler for when a card is clicked.onOnceCardClick: () => void
ℹ️

For more information about callbacks, see Events.

Example

const clickOnceConfig: ClickOnceComponentConfig = {
 limitTokens: 5,
  filterBy: {
    excludeExpiredTokens: true,
    schemes: ["Visa", "MasterCard"],
    fundingSource: "Credit",
    issuerCountryCode: "USA",
    ownerType: "Consumer"
  },
  orderBy: {
    expiryDate: { 
      direction: "asc",
      priority: 1
    },
    scheme: { 
      valuesOrder: ["Visa", "MasterCard", "Amex"],
      priority: 2
    },
    fundingSource: { 
      valuesOrder: ["Credit", "Debit"],
      priority: 3
    },
    ownerType: { 
      valuesOrder: ["Consumer", "Commercial"],
      priority: 4
    },
    issuerCountryCode: { 
      direction: "desc",
      priority: 5
    },
    lastUsageDate: { 
      direction: "desc",
      orderByField: "lastSuccessfulPurchaseDate",
      priority: 6
    }
  },
  cardBrandImages: {
    visaSrc: "https://example.com/visa.png",
    mastercardSrc: "https://example.com/mastercard.png",
    amexSrc: "https://example.com/amex.png",
    cupSrc: "https://example.com/cup.png",
    dinersSrc: "https://example.com/diners.png",
    discoverSrc: "https://example.com/discover.png",    
   jcbSrc: "https://example.com/jcb.png",
  },
  isCvcRequired: true,
  cvcComponentConfig: {
    required: true,
    label: "Security Code",
    applyMask: true,
    showMaskToggle: true,
    labelPosition: "left",
    errorMessage: "Please enter a valid security code",
    inputStyles: {
      base: {
        color: "#333",
        fontSize: "16px"
      }
    }
  },
  cardSubmitComponentConfig: {
    submitText: "Pay {amount} {currency}",
  },
  hideCardBrandLogo: false,
  submitButtonText: "Pay now",
  disableCardSelection: false,
  isRenderLastPurchaseCard: true,
  isRenderLastPayoutCard: true,
  onCvcEntered: () => {
    console.log('CVC has been entered');
  },
  onOnceCardClick: () => {
    console.log('Card was clicked');
  }
};