PurseHeadlessCheckoutPrimaryToken
Represents a primary token in the Purse checkout system.
Primary tokens are saved payment methods like stored credit cards or digital wallet accounts.
Extends
Properties
additionalAssets
additionalAssets: CardSchemeAsset[];
Additional assets associated with this payment item, primarily card scheme logos.
For credit card methods with vault support, this contains one entry per supported
card scheme (e.g. Visa, Mastercard, CB). For all other payment methods the array
is empty.
Each asset provides a CDN URL and a human-readable label suitable for display and
accessibility purposes.
Example
{method.additionalAssets.map(asset => (
<img key={asset.url} src={asset.url} alt={asset.label} />
))}
Inherited from
PurseHeadlessCheckoutToken.additionalAssets
description
Description holds all display values to describe the token in a UI. This is useful since the rendering of a token
is limited to the CVV.
brand?
Brand of the token
expiration_date
Date at which the token is excepted to expire
holderName?
optional holderName?: string;
Holder name of the token
label?
Label is the way the partner formats the masked pan. Might be 4111********1111 or ****1111 etc.
masked_pan
Will contain displayable value of the PAN or the account email
disabled
disabled: Readable<DisabledState | null>;
Indicates if the payment token is disabled with an error code and message
Inherited from
PurseHeadlessCheckoutToken.disabled
iconUrl
Absolute URL of the payment method icon on the Purse CDN.
The URL is stable and environment-aware (sandbox vs production).
The icon is an SVG file that respects the brand guidelines of the
payment partner. It can be used directly in an <img> tag or as
a CSS background image without any further processing.
Example
<img src={method.iconUrl} alt={method.method} />
Inherited from
PurseHeadlessCheckoutToken.iconUrl
Unique identifier of the payment method
Examples
Inherited from
PurseHeadlessCheckoutToken.id
isSecondary
Indicates if the token is a secondary mean of payment
Overrides
PurseHeadlessCheckoutToken.isSecondary
maxAmount
maxAmount: number | null;
Maximum amount to use the payment method
Inherited from
PurseHeadlessCheckoutToken.maxAmount
method
Type of payment method, it can be a card, a wallet, a bank transfer, etc.
Examples
Inherited from
PurseHeadlessCheckoutToken.method
minAmount
minAmount: number | null;
Minimum amount to use the payment method
Inherited from
PurseHeadlessCheckoutToken.minAmount
name
User-friendly name for the token, provided by the user during registration or by the payment partner.
This name is used for display purposes in the UI to help users identify their saved payment methods.
Inherited from
PurseHeadlessCheckoutToken.name
partner
Partner associated with the payment method
Examples
Inherited from
PurseHeadlessCheckoutToken.partner
type
Overrides
PurseHeadlessCheckoutToken.type
Methods
delete()
Delete the token from the user's wallet
Returns
Promise<void>
Throws
Example
Inherited from
PurseHeadlessCheckoutToken.delete
edit()
edit(payload): Promise<void>;
Edit the token's name
Parameters
| Parameter | Type | Description |
|---|
payload | { name: string; } | - |
payload.name | string | - |
Returns
Promise<void>
Throws
Example
token.edit({ name: 'New Name' });
Inherited from
PurseHeadlessCheckoutToken.edit
getElementInstance()
getElementInstance():
| PurseHeadlessCheckoutPaymentElement
| PurseHeadlessCheckoutHostedFields
| undefined;
Returns the currently active element instance — whichever of getPaymentElement / getHostedFields was last called.
Returns
| PurseHeadlessCheckoutPaymentElement
| PurseHeadlessCheckoutHostedFields
| undefined
getHostedFields()
getHostedFields(options?): PurseHeadlessCheckoutHostedFields;
Creates and returns a hosted fields UI instance for this payment method.
Parameters
Returns
PurseHeadlessCheckoutHostedFields
A hosted fields instance for this payment method
Example
const hostedFields = primaryMethod.getHostedFields({
fields: {
cvv: {
target: '#card-cvv',
placeholder: 'CVV',
},
},
theme: {
global: {
fontSrc: 'https://fonts.googleapis.com/css?family=Roboto',
},
input: {
color: '#333',
fontSize: '16px',
fontFamily: 'Arial, sans-serif',
backgroundColor: '#fff',
fontWeight: '400',
':valid': {
color: 'green',
},
}
}
});
await hostedFields.render();
getPaymentElement()
getPaymentElement(options?): PurseHeadlessCheckoutPaymentElement;
Method to get the payment element. Creates the UI instance on first call.
If you need to render a partner's UI, you will need a PaymentElement
Parameters
Returns
PurseHeadlessCheckoutPaymentElement
Example
const paymentElement = token.getPaymentElement();
paymentElement.appendTo('#payment-container');
setAsPrimarySource()
setAsPrimarySource(): void;
Use this method if you want to change which primary to use in the split.
This can be useful if you have mounted multiple primary payment elements (ie. Wallet AND installments for
instance).
Returns
void
Throws
Example
token.setAsPrimarySource();