npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

khipu-payment-intent-creator

v1.0.23

Published

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](h

Downloads

7

Readme

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);