payway-ar / sdk-node-ventaonline

SDK node.js para Integración con Gateway de Pago Payway + CyberSource
8 stars 9 forks source link

Invalid Cart - No funcionan las tarjetas de prueba #42

Open Tabitoo opened 1 month ago

Tabitoo commented 1 month ago

Buenas!

Estoy teniendo un problema con el sdk cuando intento ejecutar un pago, recibo un error en el que dice que la tarjeta es invalida. Este error lo recibo desde el entorno de prueba:

Le paso todos los datos como indica la poca documentación que hay, pero siempre recibo la siguiente respuesta:

 {
  id: 1945628840,
  site_transaction_id: '90b07cf0-8424-4d46-ab0f-a66a36aaa84e',
  payment_method_id: 1,
  card_brand: 'Visa',
  amount: 20,
  currency: 'ars',
  status: 'review',
  status_details: {
    ticket: '21',
    card_authorization_code: '',
    address_validation_code: null,
    error: { type: 'invalid_card', reason: [Object] }
  },
  date: '2024-07-13T20:20Z',
  payment_mode: null,
  customer: null,
  bin: '450799',
  installments: 1,
  first_installment_expiration_date: null,
  payment_type: 'single',
  sub_payments: [],
  site_id: '92013309',
  fraud_detection: { status: null },
  aggregate_data: null,
  establishment_name: null,
  spv: null,
  confirmed: null,
  pan: null,
  customer_token: null,
  card_data: '/tokens/1945628840',
  token: '141700fa-7aaa-47a9-a25e-b67725e70b64',
  authenticated_token: null,
  getStatus: [Function (anonymous)],
  getId: [Function (anonymous)],
  getSiteTransactionId: [Function (anonymous)],
  getToken: [Function (anonymous)],
  getUserId: [Function (anonymous)],
  getPaymentMethodId: [Function (anonymous)],
  getBin: [Function (anonymous)],
  getAmount: [Function (anonymous)],
  getCurrency: [Function (anonymous)],
  getInstallments: [Function (anonymous)],
  getPaymentType: [Function (anonymous)],
  getSubPayments: [Function (anonymous)],
  getDate: [Function (anonymous)],
  getTicket: [Function (anonymous)],
  getAuthorization: [Function (anonymous)]
}
IsabellaYH commented 1 month ago

Buenas, podrias pasar el request de envio de pago o el request del /tokens para validar el dato tarjeta, gracias!

Tabitoo commented 1 month ago

Buenas, podrias pasar el request de envio de pago o el request del /tokens para validar el dato tarjeta, gracias!

Buenas!

El en front hago un llamado a la api de Decidir al metodo createToken en donde la paso la info del formulario siguiendo lo que dice la documentacion, de ese llamado recibo el siguiente objeto:

{
    "id": "51fbaf4e-fd9e-49de-b49b-af27dde62e64",
    "status": "active",
    "card_number_length": 16,
    "date_created": "2024-07-16T15:28Z",
    "bin": "450799",
    "last_four_digits": "4905",
    "security_code_length": 3,
    "expiration_month": 12,
    "expiration_year": 30,
    "date_due": "2024-07-16T15:43Z",
    "cardholder": {
        "identification": {
            "type": "dni",
            "number": "27859328"
        },
        "name": "Tarjeta Visa"
    }
}

Este objeto que recibo lo envío a mi backend, en donde lo formateo para pasarle el token al metodo payment del sdk. Lo formateo y se lo paso de la siguiente forma:

const paymentData: PaywayPayment = {
        amount: 20,
        bin: payload.data.bin,
        currency: "ARS",
        installments: Number(payload.data.fee),
        description: "descripcion",
        apiKey: "myApiKey",
        payment_type: "single",
        payment_method_id: Number(payload.data.paymentId),
        fraud_detection: { send_to_cs: false },
        site_transaction_id: siteId,
        site_id: 'MySiteId',
        sub_payments: [],
        token: payload.data.id,
        user_id: payload.data.cardholder.name,
        "Content-Type": "application/json"
    }

Saludos!

IsabellaYH commented 1 month ago

@Tabitoo Buenas tardes, la tarjeta que estas usando ya no se procesa como visa credito, sino como debito, por favor debes usar otro numero de tarjeta para transaccionar con visa credito, por eso obtienes el error de status: 'review', status_details: { ticket: '21', card_authorization_code: '', address_validation_code: null, error: { type: 'invalid_card', reason: [Object] } },

Tabitoo commented 1 month ago

@IsabellaYH Buenas! Donde podría obtener otros números de tarjeta de prueba? Las que estoy utilizando son las provistas por payway y todas tiran el error de invalid_card. Saludos

IsabellaYH commented 1 month ago

Buenas @Tabitoo en el resto del documento hay varios /tokens que tienen otros datos disponibles a usar te dejo este "card_number" => "4509790112684851", la misma fue validada y aprueba, en tal caso de no solucionar tu inconveniente, puedes contactarte con soporte de incidencias Payway Ventas Online al (011) 4379-3460