conekta / conekta-ruby

Ruby Bindings for Conekta
https://www.conekta.com
MIT License
31 stars 28 forks source link

Forma de especificar tipos de producto #26

Closed bntzio closed 8 years ago

bntzio commented 8 years ago

A la hora de generar un cargo, ejemplo:

  def charge
    begin
      @charge = Conekta::Charge.create({
        amount: params['chargeInCents'],
        currency: "MXN",
        description: "Pizza Delivery at test",
        reference_id: "001-id-test",
        details:
        {
          email: params['emailBuyer'],
          line_items: [
            { name: 'Pizza at test',
              description: 'A pizza test description',
              unit_price: params['chargeInCents'],
              quantity: 1,
              sku: 'pizza-test',
              type: 'pizza'
            }
          ]
        },
        card: params['conektaTokenId']
      })
    rescue Conekta::ParameterValidationError => e
      puts e.message_to_purchaser
      #alguno de los parámetros fueron inválidos
    rescue Conekta::ProcessingError => e
      puts e.message_to_purchaser
      #la tarjeta no pudo ser procesada
    rescue Conekta::Error
      puts e.message_to_purchaser
      #un error ocurrió que no sucede en el flujo normal de cobros como por ejemplo un auth_key incorrecto
    end
  end

Tal y cómo esta especificado en la API de Conekta y en éste ejemplo.

El cargo es nil y no se crea.

En los mensajes (rescue) de Conekta, tira los siguientes errores en la consola:

  El campo de shipment es obligatorio para productos físicos.

Como si se estuviera generando un cargo de un producto físico por defecto.

¿Habrá manera de especificar en el objecto charge el tipo de producto a crear (productos físicos o digitales) de tal manera que ignore los parámetros cómo shipment para productos digitales?

Janee commented 8 years ago

Hola! @bntzio los parámetros requeridos (digitales o físicos) dependen de como te registraste con nosotros, no es posible omitirlos.

bntzio commented 8 years ago

@Janee Oh ok! No lo recordaba, hace años que cree la cuenta jeje, muchas gracias! :smile: