Object that implemented IKushki
You must define setup of card payout fields
Promise
options
or kushkiInstance
are null or undefined then throw ERRORS.E012options.paymentType
have invalid length ERRORS.E011options.fields
in some field has non-existent selector then throw ERRORS.E013options.fields
not exist the required fields for card payout token, then throw ERRORS.E020<!DOCTYPE html>
<html lang="en">
<body>
<section>
<div id="cardholderName_id"/>
<div id="cardNumber_id"/>
<div id="isSubscription_id"/>
</section>
</body>
</html>
import { IKushki, init, KushkiError } from "@kushki/js-sdk";
import {
CardPayoutOptions,
ICardPayouts,
initCardPayoutToken
} from "@kushki/js-sdk/CardPayouts";
const kushkiOptions : KushkiOptions = {
publicCredentialId: 'public-merchant-id',
inTest: true
};
const options : CardPayoutOptions = {
fields: {
cardholderName: {
selector: "cardholderName_id"
},
cardNumber: {
selector: "cardNumber_id"
},
isSubscription: {
selector: "isSubscription_id"
}
}
}
const buildCardPayoutInstance = async () => {
try {
const kushkiInstance : Ikushki = await init(kushkiOptions);
const cardPayoutInstance: ICardPayouts = await initCardPayoutToken(kushkiInstance, options)
} catch (e: KushkiError) {
console.error(e.message);
}
}
const options : CardPayoutOptions = {
fields: {
cardholderName: {
label: "Cardholder Name",
placeholder: "Cardholder Name",
selector: "cardholderName_id"
},
cardNumber: {
label: "Card Number",
placeholder: "Card Number",
selector: "cardNumber_id"
},
isSubscription: {
label: "Save card Data",
selector: "isSubscription_id",
isRequired: true,
},
},
}
const options : CardPayoutOptions = {
fields: { //Fields without isSubscription configurations
cardholderName: {
selector: "cardholderName_id"
},
cardNumber: {
selector: "cardNumber_id"
},
},
}
const hostedFieldsStyles: Styles = {
container: {
alignItems: "center",
display: "flex"
},
focus: {
border: "1px solid #0077ff",
outline: "none"
},
input: {
border: "1px solid #ccc",
borderRadius: "10px",
fontSize: "12px",
height: "30px",
width: "300px"
},
invalid: {
border: "1px solid #ff0000"
},
isSubscription: {//consider is a checkbox
"&:invalid": {
appearance: "none",
borderRadius: "3px"
},
height: "15px",
width: "15px"
},
label: {
fontSize: "12px"
}
};
const options: CardPayoutOptions = {
fields: {
cardholderName: {
placeholder: "Nombre de Tarjeta",
selector: "cardHolderName_id"
},
cardNumber: {
placeholder: "NĂºmero de tarjeta",
selector: "cardNumber_id"
},
isSubscription: {
selector: "isSubscription_id"
}
},
paymentType: "GP",//optional, please read the specification text
preventAutofill: true,
styles: hostedFieldsStyles,
}
Generated using TypeDoc
Introduction
Function to init an instance of ICardPayouts