script dentro de tu pΓ‘gina para agregar las funcionalidades. Al agregar el siguiente cΓ³digo a tu pΓ‘gina, se importarΓ‘.npm install, incluye el siguiente cΓ³digo en tu package.json como parte de los scripts de postinstall:| Propiedad | Tipo | DescripciΓ³n | Predeterminado | Valores posibles |
|---|---|---|---|---|
| merchantId | String | ID de Kushki creado para tu comercio | ||
| inTestEnvironment | boolean | Valor para definir si estΓ‘s en ambiente de producciΓ³n o de pruebas | false | true , false |
| Propiedad | Tipo | DescripciΓ³n | Predeterminado | Valores posibles |
|---|---|---|---|---|
| regional | Boolean | Define si se usa una IP estΓ‘tica para acceder a Kushki | false | true,false |
Nota: El token que entrega Kushki solo cifra y envΓa informaciΓ³n. Si quieres guardar la informaciΓ³n de la tarjeta para compras futuras, ve a la secciΓ³n Ejemplos de cargos recurrentes.
| Propiedad | Tipo | DescripciΓ³n | Predeterminado | Valores posibles |
|---|---|---|---|---|
| amount | String | El monto que vas a cobrar, como string | ||
| currency | String | CΓ³digo de la moneda usada | USD | USD, COP, CLP, UF, PEN, MXN |
| card | Object | Los datos de la tarjeta recolectados en un objeto card | ||
| callback | Function(response) | La funciΓ³n callback creada | * Γxito : { token: "90a9f2d93ba508c38971890454897fd4"} * Con la validaciΓ³n OTP activada : { token: "90a9f2d93ba508c38971890454897fd4", secureId: "5e44449e-869b-4fed-bbca-e1bfa5af53c3", secureService: "KushkiOTP"} * Error: { message:"error-message", code:"error-code", error: "error-message"} |
| Propiedad | Tipo | DescripciΓ³n | Valores posibles |
|---|---|---|---|
| months | Integer | NΓΊmero de cuotas. Requerido solo para transacciones diferidas en Chile | MΓnimo: 2, mΓ‘ximo: 48 |
callback):{
"token": "90a9f2d93ba508c38971890454897fd4"
}{
"token": "90a9f2d93ba508c38971890454897fd4",
"secureId": "5e44449e-869b-4fed-bbca-e1bfa5af53c3",
"secureService": "KushkiOTP"
}{
"token": "90a9f2d93ba508c38971890454897fd4",
"secureId": "1c3a9ada-1287-4f8b-b1a9-dadf44a39dd3",
"secureService": "3dsecure",
"security": {
"acsURL": "",
"authenticationTransactionId": "OWgXwASsYPW4hr1ATcf0",
"authRequired": true,
"paReq": "sandbox",
"specificationVersion": "1.0.2"
}
}callback):{
"message":"error-message",
"code":"error-code",
"error": "error-message"
}| Propiedad | Tipo | DescripciΓ³n | Valores posibles |
|---|---|---|---|
| secureServiceId | String | El secureId que obtienes de la solicitud del token | |
| otpValue | String | NΓΊmero de tres dΓgitos que corresponde al OTP | En el sandbox del OTP, el valor cambia segΓΊn la moneda de la tarjeta de crΓ©dito: 155 para USD y PEN, 555 para COP y MXN, 150 para CLP |
| callback | Function(response) | La funciΓ³n callback creada | * Γxito : { isValid: true} * Error: { message:"error-message", code:"error-code", error: "error-message"} |
callback):{
"code": "OTP000",
"message": "ok"
}322 y cualquiera de los subcΓ³digos especificados en la lista de cΓ³digos de error.| PROPIEDAD | TIPO | DESCRIPCIΓN | VALORES POSIBLES |
|---|---|---|---|
| card | Object | NΓΊmero de bin (8 dΓgitos) recolectado en un objeto |
callback):{
"jwt": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTQ2NTY4ODYsImlhdCI6MTY1NDY0OTY4NiwiaXNzIjoiNWVhMzJmZDJmZjQ2NDU2OTY3YjUyNDliIiwianRpIjoiMDFhZTQyYWUtYzMyZS00YWRjLWFmOWQtZWVhMmFlNjRkMDkxIiwiT3JnVW5pdElkIjoiNWVhMzJmZDJhZDA3ZDIxYTM2OTc4OGFlIiwiUmVmZXJlbmNlSWQiOiI3ZjY1NzM5NS0yMDIwLTQ1ZjEtOTY4Mi05MzJiNTU5YWYzMWIifQ.JUkk70Kg4KlUYW7eIvsW8LoDhxJeG8P00VrJH9oQipc"
}callback):{
"message":"error-message",
"code":"error-code",
"error": "error-message"
}1234 como cΓ³digo OTP y fecha de expiraciΓ³n futura.445652808038986044565292672342004456529165328302445652486977025544565233400699564456540000000063445654337171331444565419820686154456541249811088| PROPIEDAD | TIPO | DESCRIPCIΓN | VALORES POSIBLES |
|---|---|---|---|
| secureId | String | El secureId que obtienes de la respuesta del token o del token de cargo recurrente | |
| security | Object | El objeto security que recibes en la respuesta del token | |
| acsURL | String | URL de la pΓ‘gina de challenge del emisor | |
| authenticationTransactionId | String | ID de la transacciΓ³n verificada por las marcas. | |
| specificationVersion | String | VersiΓ³n de 3D Secure | |
| paReq | String | Este parΓ‘metro contiene los datos de la transacciΓ³n comprimidos y codificados en Base64. Lo recibes de las marcas. | |
| authRequired | Boolean | Identifica si el challenge 3DS es requerido o no. | |
| callback | Function(response) | La funciΓ³n callback creada |
callback):{isValid: true}callback):{
"message":"error-message",
"code":"error-code"
}322 y cualquiera de los subcΓ³digos especificados en la lista de cΓ³digos de error.| Propiedad | Tipo | DescripciΓ³n |
|---|---|---|
| bin | String | El bin que se va a validar para las opciones de diferido |
| callback | Function(response) | La funciΓ³n callback creada |
callback):[
{
"name": "Diferido Cuota Fija sin intereses",
"type": "04",
"months": ["3", "6", "12"],
"monthsOfGrace": ["1", "2"]
},
{
"name": "Diferido Cuota Fija con intereses",
"type": "01",
"months": ["3", "6", "9"],
"monthsOfGrace": []
}
][
{
"type": "ALL",
"months": ["2", "3", "4", "...", "48"],
"monthsOfGrace": []
},
{
"type": "03",
"months": ["2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
"monthsOfGrace": []
}
]La funcionalidad de Cuotas Comercio (Merchant Installments) βidentificada con el type especΓfico "03"β estΓ‘ actualmente en Beta.
| ParΓ‘metro | Tipo | DescripciΓ³n | PaΓses/Notas |
|---|---|---|---|
name | string | El nombre de la opciΓ³n de pago diferido (p. ej., "Diferido con intereses," "Meses sin intereses," "Regular"). | Nota: Este campo no siempre viene en la respuesta. |
type | string | Un cΓ³digo que identifica el tipo de opciΓ³n de diferido. | El valor puede ser un cΓ³digo especΓfico (p. ej., "001", "002") o la palabra clave "ALL" para paΓses como PerΓΊ o Colombia, donde aplica a todas las opciones de diferido. |
months | string[] | Un array de los plazos de pago disponibles (nΓΊmero de meses). | Requerido para pagos diferidos. |
monthsOfGrace | string[] | Un array de los periodos de gracia disponibles en meses. | Este campo es opcional y solo estΓ‘ presente si el banco o la tarjeta permite un periodo de gracia para ese tipo de diferido. |
callback):{
"code":"error-code",
"message":"error-message",
}CREDIT) o con la solicitud de un token de card async (cuando cardType es DEBIT):| Propiedad | Tipo | DescripciΓ³n |
|---|---|---|
| bin | String | Los primeros ocho dΓgitos de la tarjeta de crΓ©dito |
| callback | Function(response) | La funciΓ³n callback creada |
callback):{
"bank": "BANCO DE LA PRODUCCION S.A. (PRODUBANCO)",
"brand": "visa",
"cardType": "debit",
"country": "Ecuador"
}callback):{
"code":"error-code",
"message":"error-message",
}| Propiedad | Tipo | DescripciΓ³n | Predeterminado | Valores posibles |
|---|---|---|---|---|
| card | Object | Los datos de la tarjeta recolectados en un objeto card | ||
| currency | String | CΓ³digo de la moneda usada | USD | USD, COP, CLP, UF, PEN, MXN |
| callback | Function(response) | La funciΓ³n callback creada | * Γxito : { token: "90a9f2d93ba508c38971890454897fd4"} * Error: { message:"error-message", code:"error-code", error: "error-message"} |
callback):{
"token": "90a9f2d93ba508c38971890454897fd4"
}callback):{
"message":"error-message",
"code":"error-code",
"error": "error-message"
}{
"token": "oaACBE1012310zYTjE239227yqFRA8r7",
"secureService": "3dsecure",
"secureId": "e356d68d-3f31-4134-a9a7-8cba46b3cdac",
"security": {
"acsURL": "https://authentication.cardinalcommerce.com/ThreeDSecure/V1_0_2/PayerAuthentication?issuerIdΓaa20412b0063aca652facd9g4transactionId=Qhcf3XOjdZmjve336Vee2gb5rof1",
"authenticationTransactionId": "1d8cf7jg5Bfn8Nj73mn7",
"paReq": "eNpVUtluwjAQfPdXoH5A7DghtGixxFUViRt6iDfXGGJCDpykQL++doDSvu3sjtYzs4ZlqKXsLaQotWQwknnOt7Km1q2HyeIx6EW7w2dn09NjFXnxxn1gMG3P5YHBl9S5ShPmOsShgG8QmRVahDwpGHBx6AzGzKdXoH5A7DghtGixxpVUtluwjAQfPdXoH5A7DghtGixs4ZlqKXsLaQot0u4KqLQKRlUugzC4gP+AYQlHrPwqLImhgfj0cnKvMwUhnfprkj0hiwnSPAxn1gMG3P5YHBl9S5ShPmOsShOqLqJ7x73Gx2vVbgC0DwZoXklFCKXFpo0bcpu83qWht0u4KqLQKRlUugzC4gP+AYQlHrpfUGenfxtGEOl1jIRN0c3hECesjSRhmNC+62Nh7vy7otNVxQmtdkm3Ew/Jrv1Kp0X4elF8Pb6p/n2KH/k0skaqcyeVHfdaulqgoP20X4elF8Pb6p/n2KH/k0sv8=",
"specificationVersion": "1.0.2",
"authRequired": true
}
}| ParΓ‘metro | Tipo | DescripciΓ³n |
|---|---|---|
authRequired | Boolean | Este campo indica si se requiere un challenge 3DS o no. |
acsURL | String | Se refiere a la URL de la pΓ‘gina de challenge que el usuario debe superar (Access Control System) |
specificationVersion | String | Se refiere a la versiΓ³n de 3DS |
| authenticationTransactionId | String | ID de la transacciΓ³n verificada por Visa y Mastercard |
paReq | String | Payer Authentication Request. Es un campo codificado en base64 que contiene informaciΓ³n de tu comercio y del tarjetahabiente, y que se envΓa al emisor para la autenticaciΓ³n. Nota: si estΓ‘s probando en un ambiente UAT, debes enviar sandbox. |
security a Kushki consumiendo el mΓ©todo requestValidate3DS:| PROPIEDAD | TIPO | DESCRIPCIΓN | VALORES POSIBLES |
|---|---|---|---|
| card | Object | NΓΊmero de bin (8 dΓgitos) recolectado en un objeto |
callback):{
"jwt": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTQ2NTY4ODYsImlhdCI6MTY1NDY0OTY4NiwiaXNzIjoiNWVhMzJmZDJmZjQ2NDU2OTY3YjUyNDliIiwianRpIjoiMDFhZTQyYWUtYzMyZS00YWRjLWFmOWQtZWVhMmFlNjRkMDkxIiwiT3JnVW5pdElkIjoiNWVhMzJmZDJhZDA3ZDIxYTM2OTc4OGFlIiwiUmVmZXJlbmNlSWQiOiI3ZjY1NzM5NS0yMDIwLTQ1ZjEtOTY4Mi05MzJiNTU5YWYzMWIifQ.JUkk70Kg4KlUYW7eIvsW8LoDhxJeG8P00VrJH9oQipc"
}callback):{
"message":"error-message",
"code":"error-code",
"error": "error-message"
}1234 como cΓ³digo OTP y fecha de expiraciΓ³n futura.445652808038986044565292672342004456529165328302445652486977025544565233400699564456540000000063445654337171331444565419820686154456541249811088| PROPIEDAD | TIPO | DESCRIPCIΓN | VALORES POSIBLES |
|---|---|---|---|
| secureId | String | El secureId que obtienes de la respuesta del token o del token de cargo recurrente | |
| security | Object | El objeto security que recibes en la respuesta del token | |
| acsURL | String | URL de la pΓ‘gina de challenge del emisor | |
| authenticationTransactionId | String | ID de la transacciΓ³n verificada por las marcas. | |
| specificationVersion | String | VersiΓ³n de 3D Secure | |
| paReq | String | Este parΓ‘metro contiene los datos de la transacciΓ³n comprimidos y codificados en Base64. Lo recibes de las marcas. | |
| authRequired | Boolean | Identifica si el challenge 3DS es requerido o no. | |
| callback | Function(response) | La funciΓ³n callback creada |
callback):{isValid:true}callback):{
"message":"error-message",
"code":"error-code"
}322 y cualquiera de los subcΓ³digos especificados en la lista de cΓ³digos de error.authRequired es igual a true, se muestra el modal de validaciΓ³n OTP y tu cliente recibe por correo electrΓ³nico o mensaje de texto el valor que debe ingresar.authRequired es igual a false, el modal de validaciΓ³n OTP no se muestra.callback. Si es positiva, envΓa el token al back-end para continuar con la transacciΓ³n.| Propiedad | Tipo | DescripciΓ³n | Predeterminado | Valores posibles |
|---|---|---|---|---|
| subscriptionId | String | SubscriptionId que se creΓ³ previamente | ||
| callback | Function(response) | La funciΓ³n callback creada | * Γxito : { token: "90a9f2d93ba508c38971890454897fd4"} * Error: { message:"error-message", code:"error-code", error: "error-message"} | |
| amount (solo requerido para la autenticaciΓ³n 3DS) | Object | El valor de la compra | ||
| currency (solo requerido para la autenticaciΓ³n 3DS) | String | CΓ³digo de la moneda usada | USD, PEN |
callback):{
"token": "90a9f2d93ba508c38971890454897fd4"
}callback):{
"message":"error-message",
"code":"error-code",
"error": "error-message"
}| Propiedad | Tipo | DescripciΓ³n | Valores posibles |
|---|---|---|---|
| name | String | Nombre del cliente | |
| lastName | String | Apellido del cliente | |
| documentType | String | Tipo de documento con el que paga el cliente. | CC, NIT, CE, TI, PP |
| documentNumber | String | NΓΊmero de documento con el que paga el cliente | |
| totalAmount | Number | El monto que vas a cobrar, como nΓΊmero | |
| currency | String | CΓ³digo de la moneda usada | COP |
| callback | Function(response) | La funciΓ³n callback creada | * Γxito : { token: "90a9f2d93ba508c38971890454897fd4"} * Error: { message:"error-message", code:"error-code", error: "error-message"} |
| Propiedad | Tipo | DescripciΓ³n |
|---|---|---|
| String | Correo electrΓ³nico del cliente | |
| paymentDescription | String | Una descripciΓ³n del pago |
callback):{
"token": "90a9f2d93ba508c38971890454897fd4"
}callback):{
"message":"error-message",
"code":"error-code",
"error": "error-message"
}| Propiedad | Tipo | DescripciΓ³n |
|---|---|---|
| callback | Function(response) | The created callback function() |
callback):[
{
"card": true,
"transfer": true,
"cash": true
}
]| Nombre | ParΓ‘metros | Devuelve | DescripciΓ³n |
|---|---|---|---|
| requestToken() | card, amount, currency, months, callback | Object | Devuelve un token de una tarjeta de crΓ©dito. AsegΓΊrate de que estΓ©n fuera de tu formulario principal (PCI COMPLIANCE). Si el comercio tiene activada la validaciΓ³n OTP, este mΓ©todo tambiΓ©n devuelve un secureId y un secureService que puedes usar luego para validar el OTP. |
| requestSecureServiceValidation() | secureServiceId, otpValue, callback | Object | Devuelve si el OTP es vΓ‘lido o no. |
| requestSecureInit() | card, callback | Object | Este mΓ©todo te permite obtener el Json Web token (JWT) para integraciones 100% API con 3DS. |
| requestValidate3DS() | secureId, security, acsURL, authenticationTransactionId, specificationVersion, paReq, authRequired, callback | Object | Este mΓ©todo permite realizar la autenticaciΓ³n 3DS por parte del tarjetahabiente en caso de que sea requerida. |
| requestDeferred() | binBody, callback | Object | Devuelve un objeto con las opciones de diferido permitidas para comercios ecuatorianos, mexicanos y peruanos. |
| requestBinInfo() | binBody, callback | Object | Devuelve un objeto con la informaciΓ³n relacionada al bin de la tarjeta de crΓ©dito. |
| requestCardAsyncToken() | totalAmount, currency, returnUrl, email, description, callback | Object | Devuelve un token de card async |
| requestBankList() | callback | Object | Devuelve la lista de bancos disponibles para Transfer In |
| requestTransferToken() | bankId, amount, email, callbackUrl, documentType, documentNumber, currency, paymentDesc, userType, callback | Object | Devuelve un token de transfer in |
| requestTransferSubscriptionToken() | email, callback | Object | Devuelve un token de transfer in (solo MΓ©xico) |
| requestCashToken() | name, lastName,documentType, identification, email, totalAmount, currency,description, callback | Object | Devuelve un token de cash in |
| Nombre | ParΓ‘metros | Devuelve | DescripciΓ³n |
|---|---|---|---|
| requestSubscriptionToken() | card, currency, callback | Object | Devuelve un token de un cargo recurrente. AsegΓΊrate de que estΓ©n fuera de tu formulario principal (PCI COMPLIANCE). |
| requestSecureInit() | card, callback | Object | Este mΓ©todo te permite obtener el Json Web token (JWT) para integraciones 100% API con 3DS. |
| requestValidate3DS() | secureId, security, acsURL, authenticationTransactionId, specificationVersion, paReq, authRequired, callback | Object | Este mΓ©todo permite realizar la autenticaciΓ³n 3DS por parte del tarjetahabiente en caso de que sea requerida. |
| requestDeviceToken() | subscriptionId, callback | Object | Devuelve el token de un cargo recurrente especΓfico. |
| requestSubscriptionCardAsyncToken() | currency, email, cardNumber, callbackUrl, callback | Object | Devuelve un token de cargo recurrente con card async. |
| Name | Parameters | Returns | Description |
|---|---|---|---|
| requestPayoutsCashToken() | name, lastName,documentType, identification, email, totalAmount, currency,paymentDescription, callback | Object | Returns a cash out token |
| Nombre | ParΓ‘metros | Devuelve | DescripciΓ³n |
|---|---|---|---|
| getStatusGateway() | callback | Object | Devuelve el estado de todos los mΓ©todos de pago configurados para un comercio especΓfico |
| getCommissionConfiguration() | totalAmount, currency, callback | Object | Devuelve la informaciΓ³n relacionada al cargo por comisiΓ³n configurado para un comercio especΓfico |
| initCardBrandingAnimation() | callback, constrained, color, sound, checkmark | Object | La Card Branding Animation le da al usuario una confirmaciΓ³n clara de su pago. |
ΒΏTienes una sugerencia sobre esta documentaciΓ³n? ContΓ‘ctanos.