1.0.23 • Published 3 years ago

khipu-payment-intent-creator v1.0.23

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

Khipu Payment Intent Creator

Este proyecto permite crear intenciones de pago y debe ser usado por clientes de khipu que realizan la conciliación de sus propios pagos, si van a delegar la conciliación de pagos a Khipu, se debe utilizar la API REST para crear cobros y recibir pagos.

1. Creación de la intención de pago

Para esto se utiliza el paquete npm Para esto se utiliza el paquete npm

Instalación del paquete

npm i khipu-payment-intent-creator.git

Importando el paquete en su código

Usando formato CommonJS

const {KhipuPaymentIntentCreator} = require('khipu-payment-intent-creator')

O ES6

import {KhipuPaymentIntentCreator} from 'khipu-payment-intent-creator'

Creando la intención de pago

Para este paso debe contar con la URL de la API y la llave pública, contacte su ejecutivo Khipu para obtenerla.

La biblioteca contiene la declaración de tipos (archivos .d.ts) para typescript, si la implementación en es javascript se deben validar previamente.

const khipuPaymentCreator = new KhipuPaymentIntentCreator(API_URL, SERVER_PUBLIC_KEY)

const paymentIntentDescriptor = khipuPaymentIntentCreator.create(
    bank,                            //string
    paymentId,                       //string
    subject,                         //string
    amount,                          //number
    currencyCode,                    //'CLP'
    payerEmail,                      //string
    payerName,                       //string
    targetAccountBank,               //string
    targetAccountNumber,             //string
    targetAccountName,               //string
    targetAccountPersonalIdentifier, //string
)

2. Inicialización de la biblioteca KhipuJS

Inclusión de la biblioteca KhipuJS

En el frontend del comercio se debe incluir la biblioteca KhipuJS.

<script src='https://js.khipu.com/v1/kws.js></script>

Configuración de la biblioteca KhipuJS

const prettyJson = (obj) => JSON.stringify(obj, null, 4)

const successHandler = (result) => {
    console.log(`Success handler: ${prettyJson(result)}`)
    alert(`Success handler: ${prettyJson(result)}`);
};

const warningHandler = (warning) => {
    console.log(`Warning handler: ${prettyJson(warning)}`)
    alert(`Error handler: ${prettyJson(warning)}`);
};

const errorHandler = (error) => {
    console.log(`Error handler: ${prettyJson(error)}`)
    alert(`Error handler: ${prettyJson(error)}`);
};

let khipu = new Khipu();
khipu.init({
        mountElement: document.getElementById('khenshin-web-root'), //elemento donde se montará la interfaz de khipu web, debe existir
        modal: true, //Levantar khipu web en un overlay modal o embebida en la página
        options: {
            style: {
                //Por ser implementado, permitirá modificar colores y tipos de letras
            },
            skipExitPage: true, //Que Khipu pinte las páginas finales o solo ejecute los callbacks y cierre la interfaz
        },
    },
    successHandler, //callback cuando el pago sea exitoso
    warningHandler, //callback cuando el resultado del pago es indeterminado
    errorHandler //callback cuando el pago falla
);

En este ejemplo, successHandler se llamará cuando un pago fue confirmado en el Banco originador, errorHandler se llamará cuando el pago fue rechazado por el banco originador (por falta de fondos, contraseñas inactivas, indisponibilidad del banco u otros motivos de falla no solucionable) y warningHandler se llamará cuando el pago es posible que se efectúe pero el banco originador no lo ha confirmado.

En todo caso, successHandler y warningHandler por si solos no constituyen un pago confirmado, para esto se debe esperar la notificación de aceptación del pago.

3. Inicio del pago

En este punto se debe usar el descriptor del pago obtenido en el paso 1 y retomar el flujo en alguno de las funciones de callback.

khipu.start(paymentDescriptor);
1.0.19

3 years ago

1.0.18

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.22

3 years ago

1.0.21

3 years ago

1.0.20

3 years ago

1.0.23

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.11

3 years ago

1.0.12

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago