PurseHeadlessCheckoutSecondaryToken
Represents a secondary token in the Purse checkout system.
Secondary tokens are saved alternative payment methods like gift cards that can be combined with primary payment methods.
Example
await secondaryToken.take(50);
await secondaryToken.removeFromSplit();
Extends
Extended by
Properties
balance
balance: Readable<number>;
The amount available for use on the card.
This value will be at 0 until we've fetched its current value.
The fetching is done in parallel during the checkout creation to speed up the process.
cvv?
the card cvv
disabled
disabled: Readable<DisabledState | null>;
Indicates if the payment token is disabled with an error code and message
Inherited from
PurseHeadlessCheckoutToken.disabled
expiration_date
expiration_date: string | Date;
Unique identifier of the payment method
Examples
Inherited from
PurseHeadlessCheckoutToken.id
isSecondary
Indicates if the payment method is a secondary mean of payment
Overrides
PurseHeadlessCheckoutToken.isSecondary
limit
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
Inherited from
PurseHeadlessCheckoutToken.name
pan
the card pan
partner
Partner associated with the payment method
Examples
Inherited from
PurseHeadlessCheckoutToken.partner
takePolicy
takePolicy: SecondaryTakePolicy;
Depending on the secondary method, the takable amount is constrained. Vouchers for instance can't be partially used.
| method | take policy |
|---|
| easy2play - voucher | max |
| easy2play - giftcard | none |
| illicado - giftcard | none |
| ogloba - giftcard | none |
| buybox - giftcard | none |
| maxxing - loyaltycard | max |
Max: "All or nothing" the only takable amount is the full balance.
None: The take amount is not constrained (should still be less than the token's available balance').
type
type: "token" | "temporary_token";
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
removeFromSplit()
removeFromSplit(): Promise<void>;
Removes this token from the current payment split configuration.
Any amount previously allocated from this token will be removed from the split.
Returns
Promise<void>
Throws
- PurseHeadlessCheckoutError
METHOD_NOT_IMPLEMENTED
If the real token could not be fetched and a placeholder object was returned instead
Example
await token.removeFromSplit();
take()
take(amount): Promise<void>;
Applies a specified amount from this secondary token to the current payment session.
The amount will be deducted from the token's balance and added to the payment split.
Parameters
| Parameter | Type | Description |
|---|
amount | number | Amount to use from this token's balance |
Returns
Promise<void>
Throws
- PurseHeadlessCheckoutError
INVALID_TAKE_AMOUNT
If any of these conditions are not met:
- Amount must be greater than 0
- Amount must be less than the remaining session amount
- Amount must be less than the token's available balance
- PurseHeadlessCheckoutError
METHOD_NOT_IMPLEMENTED
If the real token could not be fetched and a placeholder object was returned instead
- PurseHeadlessCheckoutError
USAGE_LIMIT_ERROR
If the usage limit of the secondary method was reached
- PurseHeadlessCheckoutError
SECONDARY_METHOD_TAKE_POLICY_VIOLATED
If the take amount requested violates the policy of the secondary method.
Example