Git Product home page Git Product logo

openpay-node's People

Contributors

antoniosilvanopy avatar bjardon avatar carloshe-perez avatar carloshepe avatar charlie-tcpip avatar darkaz avatar igrijalva avatar jose-openpay avatar marcoqrtcpip avatar marcosalvarado avatar mecoronado avatar oswaldopenpay avatar pablogonzalez25 avatar romanvi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openpay-node's Issues

data.callback

Hola que tal, integré openpay tal y como marcaba la documentación en: https://www.openpay.mx/docs/card-charge.html

El detalle es que al querer hacer una prueba me arroja el siguiente error:

TypeError: data.callback is not a function at Request._callback (/var/task/node_modules/openpay/lib/openpay.js:605:10) at Request.self.callback (/var/task/node_modules/openpay/node_modules/request/request.js:123:22) at emitTwo (events.js:87:13) at Request.emit (events.js:172:7) at Request.<anonymous> (/var/task/node_modules/openpay/node_modules/request/request.js:877:14) at emitOne (events.js:82:20) at Request.emit (events.js:169:7) at IncomingMessage.<anonymous> (/var/task/node_modules/openpay/node_modules/request/request.js:828:12) at emitNone (events.js:72:20) at IncomingMessage.emit (events.js:166:7)

Lo que parece ser un error dentro de la biblioteca de openpay.

Encontré un post sobre esto aquí:
https://disqus.com/home/discussion/openpay/openpay_cargo_a_tarjeta_96/

Donde reportaron el mismo error, pero al parecer no han podido solucionarlo o se deba a algún otro problema.

Saludos

Devolver comisiones no está definido y la lista de tarjetas por cliente falla

La devolución de comisiones no está implementada (https://www.openpay.mx/docs/api/?javascript#devolver-comisi-n):

openpay.fees.refund("trzjaozcik8msyqshka4", refundRequest, function(error, refund){
// ...
});

Código que se tiene:

function Fees(baseData){
  var baseUrl = baseData.merchantId + '/fees';

  this.create = function (data, callback) {
    sendRequest(_.extend(baseData, {
      apiUrl: baseUrl, 
      requestData: {method: 'POST', json: data},
      callback: callback
    }));
  };

  this.list = function (data, callback) {
    var query = (data && _.isObject(data) && !_.isArray(data) && !_.isFunction(data) && !_.isEmpty(data)) ? stringifyParams(data) : '';
    var callback = _.isFunction(callback) ? callback : _.isFunction(data) ? data : null;
    sendRequest(_.extend(baseData, {
      apiUrl: baseUrl + query,
      requestData: {method: 'GET'},
      callback: callback
    }));
  };
}

Otro problema es que el listado de tarjetas por cliente no distingue apropiadamente los parámetros de acuerdo a la documentación (https://www.openpay.mx/docs/api/?javascript#listado-de-tarjetas)

'no auth mechanism defined usando' Heroku

Estoy tratando de hacer el cobro a una tarjeta utilizando el token, cuando lo pruebo en localhost el pago se realiza de manera correcta, sin embargo cuando subo mi API a un servidor en Heroku, al momento de ejecutar el método, me regresa el siguiente error "no auth mechanism defined"

Error: data.callback is not a function

Hi, i'm trying to create a charge with the following code:

`openpay.customers.charges.create(
{
source_id: paymentDetails['card_id'],
method: 'card',
amount: totalFinal,
description: description,
device_session_id: paymentDetails['device_session_id'],
customer: {
name: 'John',
last_name: 'Doe',
email: '[email protected]'
}
},
function(error, charge) {
if (error) {
// There was an error with the charge
console.error('Error processing card payment', error)

              fResult.msg = 'Lo sentimos, no se pudo procesar el pago'
              return reject(fResult)
            } else {
              // All was ok with carge
              console.log('-> All ok charge', charge)
            }
          }
        )`

But i'm getting the following error:
TypeError: data.callback is not a function
at Request._callback (/Users/gustavomanolo/Documents/webapps/uchiti/node_modules/openpay/lib/openpay.js:797:10)

release 2.0.1

Hello,

I wonder why you didn't publish a version 2.0.1, but only a tag. This would make it easier to use the library.

No permite borrar un usuario si no se borran primero sus suscripciones

En la documentación sobre eliminar cliente dice:

Elimina un cliente permanentemente. Se cancelarán las suscripciones que tenga. Openpay mantiene los registros de las operaciones.

Sin embargo, al hacer la llamada para eliminar un cliente con suscripciones activas, el servidor me regresa un objeto de error:

{
    category: "request",
    description: "The customer has subscriptions that need to be cancelled before deletion",
    error_code: 1013,
    http_code: 412,
    request_id: "b3fd8974-7fb5-4c59-8739-2c6b354f9102"
}

Por lo que dice la documentación, yo esperaría que se cancelen automáticamente sus suscripciones.

¿O cuál debería de ser el comportamiento esperado?

Gracias.

13 vulnerabilidades 3 vectores de ataque DoS en librería.

Hola,

Al empezar la integración con su librería NPM me lanzó lo siguiente:

                   === npm audit security report ===                        

┌──────────────────────────────────────────────────────────────────────────────┐
│ Manual Review │
│ Some vulnerabilities require your attention to resolve │
│ │
│ Visit https://go.npm.me/audit-guide for additional guidance │
└──────────────────────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High │ Denial-of-Service Extended Event Loop Blocking │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ qs │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >= 1.x │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ openpay │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ openpay > request > qs │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/28
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High │ Denial-of-Service Memory Exhaustion │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ qs │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >= 1.x │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ openpay │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ openpay > request > qs │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/29
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ hawk │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=3.1.3 < 4.0.0 || >=4.1.1 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ openpay │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ openpay > request > hawk │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/77
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ ReDoS via long string of semicolons │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ tough-cookie │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=2.3.0 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ openpay │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ openpay > request > tough-cookie │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/130
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ tough-cookie │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=2.3.3 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ openpay │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ openpay > request > tough-cookie │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/525
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Remote Memory Exposure │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ request │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=2.68.0 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ openpay │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ openpay > request │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/309
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ mime │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >= 1.4.1 < 2.0.0 || >= 2.0.3 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ openpay │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ openpay > request > form-data > mime │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/535
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ mime │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >= 1.4.1 < 2.0.0 || >= 2.0.3 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ openpay │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ openpay > request > mime │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/535
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Prototype Pollution │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ hoek │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ > 4.2.0 < 5.0.0 || >= 5.0.3 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ openpay │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ openpay > request > hawk > boom > hoek │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/566
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Prototype Pollution │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ hoek │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ > 4.2.0 < 5.0.0 || >= 5.0.3 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ openpay │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ openpay > request > hawk > cryptiles > boom > hoek │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/566
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Prototype Pollution │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ hoek │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ > 4.2.0 < 5.0.0 || >= 5.0.3 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ openpay │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ openpay > request > hawk > hoek │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/566
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Prototype Pollution │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ hoek │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ > 4.2.0 < 5.0.0 || >= 5.0.3 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ openpay │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ openpay > request > hawk > sntp > hoek │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/566
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Memory Exposure │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ tunnel-agent │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=0.6.0 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ openpay │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ openpay > request > tunnel-agent │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/598
└───────────────┴──────────────────────────────────────────────────────────────┘
found 13 vulnerabilities (10 moderate, 3 high) in 3642 scanned packages
13 vulnerabilities require manual review. See the full report for details.

Nos preocupa mucho la cantidad de vulnerabilidades que presenta el sistema que puede comprometer nuestra operación. ¿Están ustedes conscientes de estas y si es posible nos pueden compartir su opinión y planes respecto a cuando se pueden resolver?

Gracias

Qué tan completa está esta librería?

Hola. quisiera saber que tanto de las funcionalidades de openpay cubre su implementación de Node, y si está preparada para producción.

Viendo el github de la de ruby me doy cuenta que la otra tiene mucha más funcionalidad. Lo que me interesa concretamente es poder obtener todos los cargos que le he hecho a un cliente en específico.

Gracias.

openpayCreateCustomer

Please let me know which is causing this excetion.

Getting Exception after this
openPay.customers.create(customer, function (error, body)

Uncaught exception
TypeError: Cannot read property 'statusCode' of undefined
at Request._callback (/user_code/node_modules/openpay/lib/openpay.js:795:22)
at self.callback (/user_code/node_modules/openpay/node_modules/request/request.js:123:22)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at ClientRequest.self.clientErrorHandler (/user_code/node_modules/openpay/node_modules/request/request.js:232:10)
at emitOne (events.js:96:13)
at ClientRequest.emit (events.js:188:7)
at TLSSocket.socketErrorListener (_http_client.js:310:9)
at emitOne (events.js:96:13)
at TLSSocket.emit (events.js:188:7)

Soporte para Colombia

Cuando liberaran la versión para integrarse a sandbox y producción en Colombia o de que forma se puede forzar a usar las url de Colombia

request (dependency) is deprecated.

Estoy obteniendo el siguiente warning al instalar la librería.

npm i openpay
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN assets No description

Response: "Please specify only one type of card"

Estoy tratando de crear un cargo con el siguiente objeto:

{ "method": "card", "customer" : { "name" : "Juan", "last_name" : "Vazquez Juarez", "phone_number" : "4423456723", "email" : "[email protected]" }, "card": { "card_number": "4111111111111111", "holder_name": "John Doe", "expiration_year": "20", "expiration_month": "12", "cvv2": "110" }, "device_session_id" : "00005", "source_id" : "00005", "amount" : 200.00, "description" : "Service Charge", "order_id" : "oid-00721" }

Pero al enviar los datos me regresa el siguiente mensaje:

{ "message": { "http_code": 400, "error_code": 1001, "category": "request", "description": "Please specify only one type of card", "request_id": "ce57b8f5-7ab3-430e-9df5-4238ab054146" } }

En el request agregue en el objeto de card el atributo "type": "debit" haciendo un poco de énfasis al mensaje del response pero aun así me sigue regresando lo mismo, no se si me puedan ayudar con este tema.

Gracias.

Cómo puedo hacer que una suscripción cambie de plan?

Hola. Necesito soportar que el cliente pueda actualizar su plan en cualquier momento. ¿Es posible actualizar una suscripción para cambiar de plan? No pude encontrar referencia a ello en la documentación.

También, ¿cómo me recomiendan lidiar con el cobro en ese caso? Me comentan que no manejan el cobro proporcional. ¿Qué estrategia recomiendan seguir en el caso de que alguien haga un upgrade?

Gracias

Soporte para TypeScript

¿Tienen pensado publicar un paquete con los types @types/openpay del paquete principal?

Ya que esto me generó bastantes problemas al desarrollar un api con node, express y typescript y la única forma de resolverlo fue desactivando la opción de noImplicitAny dentro de compilerOptions en el tsconfig.json. Pero al desactivar esta opción se pierde parte importante de las razones por las cuales uno prefiere ts que js.

Cargos recurrentes

Quiero poder realizar cargos recurrentes sin hacer uso de subscripciones, pero tengo la limitante de que cada cargo me pide un device_session_id el cual tengo entendido se genera desde el front, hay forma de hacer esto de otra manera?

'The card charge is on a final status'

Buenas noches, tengo un servidor montado en node.js que a la hora de cobrar los pagos primero se crea el cargo de la siguiente forma
var chargeRequest = {
method: 'card',
source_id: source_id,
amount: amount,
description: description,
device_session_id: device_session_id,
capture: capture,
currency: 'MXN',
customer: {
name: customer_name,
last_name: customer_last_name,
phone_number: customer_phone_number,
email: customer_email
}
};
openpayApi.charges.create(chargeRequest, (error, resp)=>{
if(error){
return reject(error);
}
return resolve(resp);
});

y luego se confirma el mismo variando el monto y el mensaje de la siguiente manera

var captureRequest = {
amount: amount
}
openpayApi.charges.capture(transactionId, captureRequest, (err, resp)=>{
if(err) return reject(err);
resolve(resp);
});

Sin embargo existen situaciones en los que openpay devuelve lo siguiente y no sabemos que puede estar pasando

{ category: 'request',
description: 'The card charge is on a final status',
http_code: 422,
error_code: 1003,
request_id: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx' }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.