UNPKG

pixelpay-module

Version:

Modulo para integrar pagos con PixelPay

253 lines (178 loc) 10.4 kB
# Pixelpay SDK Para simplificar las integraciones, PixelPay proporciona un SDK de NodeJS. El SDK brinda una forma sensilla para hacer el envio de los datos de cobro y evita el redireccionamiento al sitio web del proveedor para completar el proceso de pago. **Índice** - [Instalación](#instalación) - [Implementación](#implementacion) - [Métodos disponibles](#métodos-disponibles) - [Uso](#uso) ## Instalación `npm i pixelpay-module` # Implementacion ``` javascript import PixelPay from 'pixelpay-module/pixelpay/sdk'; //Importacón de estilos. @import '~pixelpay-module/pixelpay/css/pixelpay.css'; //scss import '~pixelpay-module/pixelpay/css/pixelpay.css' //js //Instalación de manera global window.Pixelpay = new PixelPay(); //Agregar llaves del comercio y endpoind Pixelpay.setup('2212294583', 'http://pixelpay.test') ``` <!-- `Demo` [https://demo.pixel-pay.com](#!) --> ## Métodos disponibles ### setup(apiKey, endpoint, debug) Método para agregar la llave del comercio y el endopoind donde se realizar la solicitud del cobro. Por defecto el SDK muestra los errores para ayudar a los desarrolladores con la implementacion, pero se puede desactivar pasando `false` como tercer parametro del metodo `setup()` - `apiKey`/`endpoint`: Revisa [aquí](https://pixelpay.zendesk.com/hc/es-419/articles/360039834392-Integraci%C3%B3n-Web-y-Apps-M%C3%B3viles) la documentación para obtener las llaves del comercio y endpoint. - `debug`: Valor boleano para activar/desactivar los errores en la consola del SDK. **(Default TRUE)** ### setOrderID(string) Método para agregar el valor del numero de orden de la transacción - `string*`: Valor alfanumérico sin espacios ni caracteres especiales. Numero o identificador único de la orden o pago. ### setCurrency(currency) Método para agregar la moneda en la cual se realizara el cobro - `currency*`: String de 3 caracteres. Ejemplo: 'HNL' o 'USD'. ### setFirstName(value) Método para agregar el nombre del cliente - `value*`: Valor de tipo string. ### setLastName(value) Método para agregar el apellido del cliente - `value*`: Valor de tipo string. ### setCity(value) Método para agregar la ciudad del cliente - `value*`: Valor de tipo string. ### setState(value) Método para agregar el estado/departamento del cliente - `value*`: Valor de tipo string. ### setCountry(value) Metodo para agregar el pais del cliente - `value*`: Valor de tipo string. ### setZip(value) Método para agregar el código postal del cliente - `value*`: Valor de tipo string. ### setAddress(value) Método para agregar la dirección del cliente - `value*`: Valor de tipo string. ### setAlternateAddress(value) Método para agregar la dirección alternativa del cliente - `value*`: Valor de tipo string. ### setAmount(value) Método para agregar la cantidad total del cobro en moneda **Nota**: Este valor es modificado *al momento de hacer la petición* si se agregaron elementos con el método `setItemContent()` - `value*`: valor de tipo float ### setTaxAmount(value) Método para agregar la cantidad total del impuesto en moneda **Nota**: Este valor es modificado *al momento de hacer la petición* si se agregaron elementos con el método `setItemContent()` - `value*`: valor de tipo float ### setShippingAmount(value) Método para agregar la cantidad total del valor de envío en moneda - `value*`: valor de tipo float ### setEmail(email) Método para agregar y validar un correo electrónico. - `email*`: Correo electrónico del cliente ### setCallBack(url) Método para agregar la URL asincrónica (equivalente al WebHook) de éxito [(ver detalles](https://pixelpay.zendesk.com/hc/es-419/articles/360039834392-Integraci%C3%B3n-Web-y-Apps-M%C3%B3viles#ref-callback)) - `url*`: Valor de tripo string, ejemplo. [https://midominio.com](#!) <!-- ### setCancel(url) URL de re-direccionamiento al regresar o cancelar ([ver detalles](https://pixelpay.zendesk.com/hc/es-419/articles/360039834392-Integraci%C3%B3n-Web-y-Apps-M%C3%B3viles#ref-cancel)) - `url*`: Valor de tripo string, ejemplo. [https://midominio.com](#!) --> ### setComplete(url) Método para agregar la URL de re-direccionamiento al pagar con éxito ([ver detalles](https://pixelpay.zendesk.com/hc/es-419/articles/360039834392-Integraci%C3%B3n-Web-y-Apps-M%C3%B3viles#ref-complete)) - `url*`: Valor de tripo string, ejemplo. [https://midominio.com](#!) ### setItemContent(title, price, qty, description, code, tax) Método para agregar un variante del producto - `title*`: Titulo del producto/factura - `price*`: Precio unitario del producto. - `qty`: Cantidad de elementos **(Default 1)** - `description`: Descripción del producto **(opcional)** - `code`: Código o numero de producto/factura **(opcional)** - `tax`: Impuesto total del producto(s) en moneda **(opcional)** ### clearItemContent() Método para eliminar los ítems agregados. ### setContentExtra(key, value) Método para agregar valores extraordinarios al pago. - `key`: Llave del objeto JSON - `value`: Valor del objeto JSON Ejemplo: ``` javascript Pixelpay.setContentExtra('user_id', '123') //resultado { user_id: '123' } ``` ### setJsonContentExtra(json) Método para agregar valores extraordinarios al pago en formato JSON. Ejemplo. ``` javascript var obj = { nombre:"Pedro Perez", nro_cliente : "719827834", nro_id : "0501-1988-00237", ciudad : "San Pedro Sula" } Pixelpay.setJsonContentExtra(obj) ``` ### clearConentExtra() Método para eliminar el contenido extra agregado. ### sendPayment() Método para hacer el envió de los datos de cobro y abrir la ventana de pago en un **Iframe** si los [valores mínimos requeridos](#Valores-mínimos-requeridos) están completos. - `sendPayment()`: El método retorna una [promesa](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Promise) con la repuesta de un pago exitoso si se resuelve correctamente o un mensaje de error en caso de que algo surja inesperadamente o el sistema rechace el pago. Ejemplo ``` javascript Pixelpay.sendPayment().then(function(response) { console.log(response); }).catch(function(err) { console.error('Error: ', err); }); ``` Ejemplo de respuesta exitosa. ``` javascript { success: true data: { payment_hash: "4f971c62bab8334f4d1a44b8c6925344" status: "paid" uuid: "Ns246RMTI0NTM=" } } ``` ### isValid() Retorna `true` o `false` si los [valores minimos requeridos](#Valores-mínimos-requeridos) estan cubiertos. ### closeFrame() Método para cerrar el modal de pago. # Uso ## Valores mínimos requeridos |Valor|Método|Retorno| |-----|------|-----------| |key|`new PixelPay('1234567891', 'https://endpoint.com');`|void| |oder_id|`Pixelpay.setOrderID('EJ101')`|boolean: true| |amount|`Pixelpay.setAmount(1.55')`|boolean: true| |fist_name|`Pixelpay.setFirstName('Pedro ')`|boolean: true| |last_name|`Pixelpay.setLastName('Perez')`|boolean: true| |email|`Pixelpay.setEmail('example@gmail.com')`|boolean: true| ## Valores opcionales |Valor|Método|Retorno| |-------------------|-------------------------------------------------------------------------------------------------------|---------------| |callback |`Pixelpay.setCallback('https://midominio.com/callback')` |boolean: true | |complete |`Pixelpay.setComplete('https://midominio.com/callback')` |boolean: true | |currency |`Pixelpay.setCurrency('usd')` |boolean: true | |tax_amount |`Pixelpay.setTaxAmount(1.75')` |boolean: true | |shipping_amount |`Pixelpay.setShippingAmount(2.00')` |boolean: true | |address |`Pixelpay.setAddres('Avenida universo')` |boolean: true | |address_alt |`Pixelpay.setAlternateAddress('Circuito Holstein')` |boolean: true | |zip |`Pixelpay.setZip('48290')` |boolean: true | |city |`Pixelpay.setCity('San Pedro Sula')` |boolean: true | |state |`Pixelpay.setState('Jalisco'')` |boolean: true | |country |`Pixelpay.setCountry('Honduras')` |boolean: true | |order_content |`Pixelpay.setItemContent('Talla Chica', 2', 2, 'Camisa de Linterna Verde', 'LV100', 1.00)` |boolean: true | |order_extras |`Pixelpay.setContentExtra('user_id', 15)` |boolean: true | |order_extras |`Pixelpay.setJsonContentExtra(obj)` |boolean: true | ## Otros Metodos |Descripción |Método |Retorno | |---------------------------------------------------|-----------------------|-----------------------------------------------| |Verifica si los valores minimos estan cubiertos |`isValid()` |boolean: true/false | |Envia los datos del pago a PixelPay |`sendPayment()` |promesa | |Cierra la ventana de pago de PixelPay |`closeFrame()` | void | |Elimina los items agregados |`clearItemContent()` |boolean: true | |Elimina el contenido extra agregado |`clearConentExtra()` |boolean: true |