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

kpf

v0.1.0

Published

Kit de Pago Flow

Downloads

3

Readme

Kit Pago Flow

Instalar

$ npm install kpf

Archivo configuracion

El archivo de configuracion debe estar en formato JSON

{
    "flow_url_exito": "http://ejemplo.com/exito",
    "flow_url_fracaso": "http://ejemplo.com/fracaso",
    "flow_url_confirmacion": "http://ejemplo.com/confirma",
    "flow_tasa_default": 3,
    "flow_url_pago": "http://flow.tuxpan.com/app/kpf/pago.php",
    "flow_keys": "/ruta/a/llaves/",
    "flow_logPath": "/ruta/a/logs/",
    "flow_comercio": "[email protected]"
}

Esta es una configuración para un servidor de pruebas

Se debe cambiar flow_url_pago a https://www.flow.cl/app/kpf/pago.php para poner en producción

Uso

Para poder usar la api se debe importar y crear un nuevo objeto

var FlowApi = require('kpf');
var config = require('/ruta/a/config.json');
var flow_api = new FlowApi(request, config);

Para generar los parametros para enviar a flow_url_pago se usa la funcion newOrder

var flow_pack = flow_api.newOrder(numero_orden, total, descripcion);

Luego se debe enviar por metodo POST a la url definida en flow_url_pago el valor obtenido en flow_pack

Por ejemplo a travez de un formulario

<form id="flow-form" method="post" action="http://flow.tuxpan.com/app/kpf/pago.php">
    <input type="hidden" name="parameters" value="[flow_pack]">
    <button type="submit">
        <img id="flow" src="https://www.flow.cl/img/boton11.png">
    </button>
</form>

Esto reenvia al usuario a la pagina de flow donde se realiza el pago

Flow llama a la url definida en flow_url_confirmacion para confirmar el pago

Para revisar la informacion enviada por post y ver si el pago es valido

var flow_confirm;
var resultado;
try {
    flow_confirm = flow_api.readConfirm(req.body.response);
} catch(e)  {
    console.log("ERROR: " + e.message);
    resultado = flow_api.buildResponse(false); // Genera una respuesta de fracaso
}

La funcion buildResponse genera una respuesta para el llamado a flow_url_confirmacion

Para poder obtener la informacion enviada y poder verificar el pago existen las siguientes funciones

flow_api.getOrderNumber() {
flow_api.getConcept() {
flow_api.getAmount() {
flow_api.getRate() {
flow_api.getStatus() {
flow_api.getFlowNumber()
flow_api.getPayer()

Para generar una respuesta se debe utilizar la funcion buildResponse

En caso de error o que el pago sea inválido se debe enviar una respuesta con parametro false

Si el pago es válido se debe enviar una respuesta con parametro true

Luego se debe responder el resultado de buildResponse a la llamada a flow_url_confirmacion

Dependiendo si el pago es valido o no flow luego llama a flow_url_exito o flow_url_fracasoa traves de POST

Para obtener los datos enviados por flow en dichos llamados se debe obtener el parametro response desde los datos enviados por POST

Por ejemplo en express.js

var response = req.body.response;
var flow_confirm = flow_api.readResult(response);

Se dispone de las mismas funciones que en el llamado a flow_url_confirmacion para entregar una respuesta pertinente.

Para mayor informacion acerca del uso de Flow: Api Flow