Mostrar Ocultar submodelos

Autenticación

Las llaves de autenticación son usadas para autenticar todas tus llamadas al servidor de Conekta por medio de autenticación básica HTTP. Las llaves o keys pueden ser recuperadas y configuradas dentro de tu admin. Cada key es configurada para ser utilizada ya sea en modo sandbox o producción y para cada uno de estos modos obtendrás una key privada para llamadas entre servidores y una key pública para utilizar con ConektaJS o en su defecto algún SDK como Android y iOS. Asegúrate de nunca compartir tus keys privadas ya que estas tienen acceso y todos los privilegios de tu cuenta.

Hemos utilizado una llave de API de prueba en todos los ejemplos de la documentación para que puedas probar todos los ejemplos de inmediato y sin tener que crear una cuenta.

Versiones

Todos los cambios que hacemos al API y que son incompatibles con versiones anteriores son liberados en una versión nueva. La versión actual es 2.0.0. En caso de hacer un cambio entre versiones, recomendamos probar la aplicación con la nueva versión antes de hacer el cambio completo en tu aplicación.

Cuando se soluciona algún error en el sistema, la versión sigue siendo la misma, así que no tendrás qué hacer un cambio de versión salvo sean agregadas funcionalidades nuevas.

Idioma

Configurando el locale en la librería puedes especificar el idioma (inglés o español) en el cual quieres recibir los mensajes enviados por Conekta al comprador en el parámetro de "message".

Órdenes

Una orden representa una compra. Incluye todos los detalles relacionados a ella, como método de pago, envío, productos comprados, cargos, descuentos e impuestos.

Objeto Orden

Atributos
id
string
Identificador único de la orden asignado al azar.
object
string
Clase del objeto. En este caso, "order".
created_at
timestamp
Fecha de creación de la orden.
updated_at
timestamp
Fecha de la última actualización de la orden.
currency
string
Divisa con la cual se realizará el cobro. Utiliza el código de 3 letras del Estándar Internacional ISO 4217.
line_items
list
Lista de los productos que se venden en la orden. Debe tener al menos un producto.
shipping_lines
list (opcional)
Lista de los costos de envío. Si la tienda en línea ofrece uno o más productos físicos, este parámetro es obligatorio.
tax_lines
list(opcional)
Lista de los impuestos que se pagan.
discount_lines
list(opcional)
Lista de los descuentos que se aplican a la orden.
livemode
boolean
true: Modo de producción. false: Modo de prueba
metadata
hash
Hash en donde el usuario puede enviar información adicional para la orden
shipping_contact
hash
Detalles del envío, obligatorio en caso de mandar un shipping_line. Si no recibimos un shipping_contact en la orden, se utilizará el shipping_contact del customer por default.
amount
integer
Cantidad que se calcula por el sistema a partir de line_items, shipipng_lines, tax_lines y discount_lines.
amount_refunded
integer
Cantidad a la cual se hizo un refund a través de la llamada a orders/:order_id/refund.
payment_status
string
El status del pago de la orden. Este campo es controlado por el sistema y puede ser payment_pending, declined, expired, paid, refunded, partially_refunded, charged_back, pre_authorized y voided.
customer_info
hash
Hash que contiene la información del cliente.
customer_id
string
ID del cliente. Es obligatorio cuando no se envían los otros campos de customer_info.
name
string
Nombre del cliente. (opcional si se envía el id)
phone
string
Teléfono del cliente. (opcional si se envía el id)
email
string
Email del cliente. (opcional si se envía el id)
corporate
boolean
Booleano que indica si el usuario es corporativo o no, el default es false. (opcional)

charges
list
Lista de los cargos que se generaron para cubrir el monto de la orden.

Crear Orden

Crea una Orden nueva.

Argumentos
currency
string
Divisa con la cual se realizará el cobro. Utiliza el código de 3 letras del Estándar Internacional ISO 4217.
line_items
array
Lista de los productos que se venden en la orden. Debe tener al menos un producto.
shipping_lines
array (opcional)
Lista de los costos de envío. Si la tienda en línea ofrece uno o más productos físicos, este parámetro es obligatorio.
tax_lines
array (opcional)
Lista de los impuestos que se pagan.
discount_lines
array (opcional)
Lista de los descuentos que se aplican a la orden.
pre_authorize
boolean (opcional)
Indica si los cargos de la orden deben ser preautorizados.
customer_info
hash
Hash que contiene la información del cliente.
customer_id
string
ID del cliente. Es obligatorio cuando no se envían los otros campos de customer_info.
name
string
Nombre del cliente. (opcional si se envía el id)
phone
string
Teléfono del cliente. (opcional si se envía el id)
email
string
Email del cliente. (opcional si se envía el id)
corporate
boolean
Booleano que indica si el usuario es corporativo o no, el default es false. (opcional)

shipping_contact
hash
Detalles del envío, obligatorio en caso de mandar un shipping_line. Si no recibimos un shipping_contact en la orden, se utilizará el shipping_contact del customer por default.
charges
array
Lista de los cargos que se generaron para cubrir el monto de la orden.

Actualizar Orden

Actualiza una Orden existente.

Argumentos
id
string
El id de la orden.
line_items
array
Lista de los productos que se venden en la orden. Debe tener al menos un producto.
shipping_lines
array (opcional)
Lista de los costos de envío. Si la tienda en línea ofrece uno o más productos físicos, este parámetro es obligatorio.
tax_lines
array (opcional)
Lista de los impuestos que se pagan.
discount_lines
array (opcional)
Lista de los descuentos que se aplican a la orden.
pre_authorize
boolean (opcional)
Indica si los cargos de la orden deben ser preautorizados.
customer_info
hash
Hash que contiene la información del cliente.
customer_id
string
ID del cliente. Es obligatorio cuando no se envían los otros campos de customer_info.
name
string
Nombre del cliente. (opcional si se envía el id)
phone
string
Teléfono del cliente. (opcional si se envía el id)
email
string
Email del cliente. (opcional si se envía el id)
corporate
boolean
Booleano que indica si el usuario es corporativo o no, el default es false. (opcional)

shipping_contact
hash
Detalles del envío, obligatorio en caso de mandar un shipping_line. Si no recibimos un shipping_contact en la orden, se utilizará el shipping_contact del customer por default.
charges
array
Lista de los cargos que se generaron para cubrir el monto de la orden.

Capturar Orden

Procesa una orden que ha sido previamente autorizada.

Argumentos
id
string
El id de la orden.

Reembolsar Orden

Una orden reembolsada describe los articulos, monto y razón por la que una orden está siendo reembolsada.

Argumentos
id
string
El id de la orden.
reason
string
Razón del reembolso.
amount
integer (opcional)
Monto a reembolsar en caso de reembolso parcial.

Razones

  • requested_by_client
  • cannot_be_fulfilled
  • duplicated_transaction
  • suspected_fraud
  • other

Clientes

Clientes te permite crear suscripciones y guardar métodos de pago para usuarios que requieren pagos automáticos.

Objeto Cliente

Atributos
id
string
Identificador único asignado al azar.
name
string
Nombre del cliente.
phone
string
Teléfono del cliente (formato internacional).
email
string
Correo electrónico del cliente.
plan_id
string
id secundario de algún plan.
payment_sources
array
Arreglo de las tarjetas que ya se tokenizaron o están por ser guardadas. Ve a la sección de métodos de pago para más detalles
corporate
boolean
Indica si un usuario es corporativo o no.
shipping_contacts
array
Información de contacto el envío a cliente. Ve a la sección de Contactos de envío para más detalles.
subscriptions
object
Subscripciones a las que puede estar asociado el cliente. Ve a la sección de Suscripciones para más detalles.

Crear Cliente

Crea un Cliente nuevo.

Argumentos
name
string
Nombre del cliente.
phone
string
Teléfono del cliente (formato internacional) (opcional).
email
string
Correo electrónico del cliente.
plan_id
string
id secundario de algún plan (opcional).
payment_sources
array
Arreglo de las tarjetas que ya se tokenizaron o están por ser guardadas. Ve a la sección de métodos de pago para más detalles (opcional).
corporate
Indica si un usuario es corporativo o no (optional).
shipping_contacts
array
Información de contacto el envío a cliente. Ve a la sección de Contactos de envío para más detalles (opcional).
subscriptions
array
Subscripciones a las que puede estar asociado el cliente. Ve a la sección de Suscripciones para más detalles (opcional).

Actualizar Cliente

Actualiza un cliente existente.

Argumentos
id
string
Id del cliente.
name
string
Nombre del cliente.
phone
string
Teléfono del cliente (formato internacional) (opcional).
email
string
Correo electrónico del cliente.
plan_id
string
id secundario de algún plan (opcional).
payment_sources
array
Arreglo de las tarjetas que ya se tokenizaron o están por ser guardadas. Ve a la sección de métodos de pago para más detalles (opcional).
corporate
Indica si un usuario es corporativo o no (optional).
shipping_contacts
array
Información de contacto el envío a cliente. Ve a la sección de Contactos de envío para más detalles (opcional).
subscriptions
array
Subscripciones a las que puede estar asociado el cliente. Ve a la sección de Suscripciones para más detalles (opcional).

Eliminar Cliente

Elimina un cliente existente.

Argumentos
id
string
Id del cliente.

Planes

Planes son plantillas que te permiten crear suscripciones. Dentro del plan definirás la cantidad y frecuencia con el cual generarás cobros recurrentes a tus clientes.

Objeto Plan

Atributos
id
string
Identificador único asignado al plan.
object
string
Clase del objeto. En este caso, “plan”.
livemode
boolean
false: Modo de prueba. true: Modo de producción.
created_at
timestamp
Timestamp de creación del plan.
name
string
Nombre del plan.
amount
integer
Cantidad del cargo al cliente en centavos.
currency
string
Divisa con el cual se procesará la suscripción.
interval
string
El intervalo con el cual se genera un cargo al cliente. El valor puede ser week, half_month, month o year. Por ejemplo, para crear un cargo a tu cliente cada 2 meses, establece el intervalo a month y la frecuencia a 2.
frequency
integer
La frecuencia con el cual se genera el cargo al cliente. Por ejemplo, para crear un cargo a tu cliente cada 2 meses, establece el intervalo a month y la frecuencia a 2.
trial_period_days
integer
La duración del periodo de prueba en días.
expiry_count
integer
El número de veces que se realizará el cargo antes de que la suscripción expire.

Crear Plan

Crea un nuevo plan utilizando información tokenizada.

Argumentos
id
string (opcional)
Identificador único que puedes asignar a este plan.
name
string
Nombre del plan.
amount
integer
Cantidad en centavos del cargo al cliente.
currency
string
Divisa utilizada para procesar la suscripción.
interval
string (opcional)
El intervalo con el cual se genera un cargo al cliente. El valor puede ser week, half_month, month o year. Por ejemplo, para crear un cargo a tu cliente cada 2 meses, establece el intervalo a month y la frecuencia a 2. En caso de no mandar este argumento, el valor por defecto es month.
frequency
string (opcional)
La frecuencia con el cual se genera el cargo al cliente. Por ejemplo, para crear un cargo a tu cliente cada 2 meses, establece el intervalo a month y la frecuencia a 2. En caso de no mandar este argumento, el valor por defecto es 1
trial_period_days
integer
La duración del periodo de prueba en días.
expiry_count
integer
El número de veces que se realizará el cargo antes de que la suscripción expire. Por ejemplo, una suscripción anual tendría un expiry_count de 12.

Actualizar Plan

Actualiza la información del plan.

Argumentos
id
string
Identificador único del plan. Ten en cuenta que no puedes cambiar el id del plan.
name
string
Nombre del plan.
amount
integer
Cantidad en centavos del cargo al cliente.

Eliminar Plan

Elimina la información del plan.

Argumentos
id
string
El id del plan.

Suscripciones

Suscripciones son una manera de realizar cargos a un cliente con una cantidad fija de manera recurrente. Puedes cambiar el plan, pausar, cancelar y reanudar una suscripción a tu gusto.

Puedes ver como se realiza una suscripción en nuestro tutorial.

Objeto Suscripción

Atributos
id
string
Identificador único asignado al azar.
object
string
Clase del objeto. En este caso "subscription".
created_at
string
Fecha de creación de la suscripción.
canceled_at
string
Fecha de cancelación de la suscripción.
paused_at
string
Fecha de pausa de la suscripción.
billing_cycle_start
timestamp
Fecha de inicio del periodo de cobro.
billing_cycle_end
timestamp
Fecha de término del periodo de cobro.
trial_start
timestamp
Fecha de inicio del periodo de prueba.
trial_end
timestamp
Feha de término del periodo de prueba.
plan_id
string
Id del plan asignado a la suscripción.
status
string
Status de la suscripción. Los valores pueden ser: in_trial, active, past_due, paused, `canceled.

Crear Suscripción

Crea una suscripción usando información tokenizada.

Argumentos
customer_id
string
El id del cliente al cual se generará la suscripción.
plan
string
El id del plan que utilizarás para crear la suscripción.
card
string (opcional)
El id de la tarjeta que utilizarás para procesar la suscripción en caso de que sea diferente a la tarjeta primaria. La tarjeta ya debe ser parte de este cliente.

Actualizar Suscripción

Actualiza la suscripción con una tarjeta o plan diferente.

Argumentos
customer_id
string
El id del cliente al cual se generará la suscripción.
plan
string
El id del plan que utilizarás para crear la suscripción.
card
string (opcional)
El id de la tarjeta que utilizarás para procesar la suscripción en caso de que sea diferente a la tarjeta primaria. La tarjeta ya debe ser parte de este cliente.

Pausar Suscripción

Pausa una suscripción

Argumentos
id
string
Id de la suscripción.

Reanudar Suscripción

Reanuda una suscripción

Argumentos
id
string
Id de la suscripción.

Cancelar Suscripción

Cancela una suscripción

Argumentos
id
string
Id de la suscripción.

Paginación

Una Lista representa una colección de objetos en un formato que nos permite paginar de una manera eficiente.

Objeto lista

Atributos
next_page_url
URL de la siguiente página.
previous_page_url
Url de la página anterior.
has_more
True, si hay más paginas.
data
Arreglo con los resultados de página.

Siguiente

Obtén la siguiente página de objetos listados.

Argumentos
limit
Tamaño de la página.
next
Último id en la página.

Anterior

Obtén la página anterior de objetos listados.

Argumentos
limit
Tamaño de la página.
previous
Último id en la página.

Métodos de Pago

El objeto Payment Source describe el método de pago. Este pago puede ser online (pagos con tarjeta) o offline (OxxoPay o SPEI). Recuerda que tendras que agregar un webhook listener para los pagos offline.

Objeto Método de Pago

Atributos
id
string
Identificador único asignado al azar.
object
string
Clase del objeto. En este caso "payment_source".
type
string
Tipo del método de pago. Por el momento el único tipo permitido es "card".
created_at
timestamp
Fecha de creación del método de pago.
last4
string
Últimos 4 números de la tarjeta.
name
string
Nombre del tarjeta habiente.
exp_month
string
Mes de expiración de la tarjeta.
exp_year
string
Año de expiración de la tarjeta.
brand
string
Marca de la tarjeta.
parent_id
string
Identificador único del cliente al que pertenece el método de pago.

Crear Método de Pago

Crea un nuevo Método de Pago

Argumentos
type
string
Tipo del método de pago. Por el momento el único tipo permitido es "card".
token_id
string
Id de token que será utilizado para crear un método de pago de tipo "card". Ve el tutorial de suscripciones para más información sobre cómo tokenizar tarjetas.

Actualizar Método de Pago

Actualiza un método de pago existente.

Argumentos
id
string
Id del método de pago.
name
string
Nombre del tarjeta habiente.
exp_month
string
Mes de expiración de la tarjeta.
exp_year
string
Año de expiración de la tarjeta.
address
hash
Dirección del tarjethabiente.

Eliminar Método de Pago

Elimina un método de pago existente.

Argumentos
id
string
Id del método de pago.

Cargos

Objeto Cargo

Attributes
id
string
Identificador único del cargo asignado al azar.
created_at
timestamp
Fecha de creación del cargo.
currency
string
Divisa con la cual se realizará el cobro. Utiliza el código de 3 letras del Estándar Internacional ISO 4217.
amount
integer
Cantidad a pagar.
livemode
boolean
true: Modo de producción. false: Modo de prueba.
payment_method
hash
Método de pago del cargo.
object
string
Clase del objeto. En este caso, "charge".
status
string
Status del cargo.
fee
integer
Cantidad de la comisión en centavos.
order_id
string
Id de la orden a la que pertenece el cargo

Crear Cargo

Crea un cargo nuevo para una orden existente.

Arguments
amount
integer
Cantidad a pagar en centavos.
payment_method
hash
Método de pago utilizado en el cargo. Ve a la sección de métodos de pago para más detalles
expires_at
timestamp
Fecha de expiración del método.
token_id
string
Token de la tarjeta. Obligatorio para el tipo card.

Productos

Este objeto representa los productos de la Orden.

Este objeto pertenece al objeto Orden.

Objeto Producto

Atributos
id
string
Identificador único para el producto.
name
string
Nombre del producto.
description
string
Pequeña descripción del producto (< 250). (opcional)
unit_price
integer
El precio por unidad expresado en centavos.
quantity
integer
Cantidad vendida del producto.
sku
string
Indica el Storage Keeping Unit designado por la empresa (opcional)
tags
array
Arreglo que contiene las categorías a las que pertenece el producto. Debe tener al menos un elemento. (opcional)
brand
string
Marca del producto. (opcional)
metadata
hash
Hash en donde el usuario puede enviar información adicional por cada producto. (opcional)

Crear Producto

Crea un producto nuevo para una orden existente.

Argumentos
name
string
Nombre del producto.
description
string
Pequeña descripción del producto (< 250). (opcional)
unit_price
integer
El precio por unidad expresado en centavos.
quantity
integer
Cantidad vendida del producto.
sku
string
Indica el Storage Keeping Unit designado por la empresa (opcional)
tags
array
Arreglo que contiene las categorías a las que pertenece el producto. Debe tener al menos un elemento. (opcional)
brand
string
Marca del producto. (opcional)
metadata
hash
Hash en donde el usuario puede enviar información adicional por cada producto. (opcional)

Actualizar Producto

Actualiza un producto existente para una orden existente.

Argumentos
name
string
Nombre del producto.
description
string
Pequeña descripción del producto (< 250). (opcional)
unit_price
integer
El precio por unidad expresado en centavos.
quantity
integer
Cantidad vendida del producto.
sku
string
Indica el Storage Keeping Unit designado por la empresa (opcional)
tags
array
Arreglo que contiene las categorías a las que pertenece el producto. Debe tener al menos un elemento. (opcional)
brand
string
Marca del producto. (opcional)
metadata
hash
Hash en donde el usuario puede enviar información adicional por cada producto. (opcional)

Eliminar Producto

Elimina un producto existente.

Argumentos
id
string
Id del producto.

Envíos

Un Envío describe los detalles del método de envío de una orden, tales como el medio, el costo, el proveedor y el número de guía.

Objeto Envío

Atributos
id
string
Identificador único, asignado al azar.
amount
integer
El precio del envío en centavos.
tracking_number
string
Número de rastreo que el proveedor de envios proporciona. (opcional)
carrier
string
Nombre del proveedor de envío.
method
string
Método de envío. (opcional)
metadata
hash
Hash en donde el usuario puede enviar información adicional por cada shipping_line. (opcional)

Crear Envío

Crea un nuevo Envío para una orden.

Argumentos
amount
integer
El precio del envío en centavos.
tracking_number
string
Número de rastreo que el proveedor de envios proporciona. (opcional)
carrier
string
Nombre del proveedor de envío.
method
string
Método de envío. (opcional)
hash
metadata Hash en donde el usuario puede enviar información adicional por cada shipping_line. (opcional)

Actualizar Envío

Actualiza un envío existente para una orden.

Argumentos
id
string
El id del envío.
amount
integer
El precio del envío en centavos.
tracking_number
string
Número de rastreo que el proveedor de envios proporciona. (opcional)
carrier
string
Nombre del proveedor de envío.
method
string
Método de envío. (opcional)
metadata
hash
Hash en donde el usuario puede enviar información adicional por cada shipping_line. (opcional)

Eliminar Envío

Elimina un envío existente para una orden.

Argumentos
id
string
El id del envío.

Contactos de Envío

Información de contacto para el envío al cliente.

Objeto Contacto de Envío

Atributos
id
string
Identificador único, asignado al azar.
phone
string
Teléfono de contacto.
receiver
string
Nombre de la persona a la que va dirigido el paquete. (opcional)
between_streets
string
Las calles al lado de la dirección de entrega. (opcional)
address
hash
Dirección de entrega.
address.street1
La primera línea para la dirección de envío. Usualmente es utilizado para calle y número.
address.street2
La segunda línea para la dirección de envío. Usualmente es utilizado para número interior, suite, fraccionamiento o delegación (opcional).
address.city
La ciudad de la dirección de envío.
address.state
El estado de la dirección de envío.
address.country
País de destino, utiliza el formato ISO 3166-1 de 2 dígitos.
address.postal_code
El código postal de la dirección de envío.
address.residential
Booleano que indica si es una dirección de envío residencial. Por defecto se toma como verdadero (opcional).

Crear Contacto de Envío (Cliente)

Crea un nuevo Contacto de Envío para un cliente existente.

Argumentos
phone
string
Teléfono de contacto.
receiver
string
Nombre de la persona a la que va dirigido el paquete. (opcional)
between_streets
string
Las calles al lado de la dirección de entrega. (opcional)
address
hash
Dirección de entrega.
address.street1
La primera línea para la dirección de envío. Usualmente es utilizado para calle y número.
address.street2
La segunda línea para la dirección de envío. Usualmente es utilizado para número interior, suite, fraccionamiento o delegación (opcional).
address.city
La ciudad de la dirección de envío.
address.state
El estado de la dirección de envío.
address.country
País de destino, utiliza el formato ISO 3166-1 de 2 dígitos.
address.postal_code
El código postal de la dirección de envío.
address.residential
Booleano que indica si es una dirección de envío residencial. Por defecto se toma como verdadero (opcional).

Crear Contacto de Envío (Orden)

Crea un nuevo Contacto de Envío para una orden existente.

Argumentos
phone
string
Teléfono de contacto.
receiver
string
Nombre de la persona a la que va dirigido el paquete. (opcional)
between_streets
string
Las calles al lado de la dirección de entrega. (opcional)
address
hash
Dirección de entrega.
address.street1
La primera línea para la dirección de envío. Usualmente es utilizado para calle y número.
address.street2
La segunda línea para la dirección de envío. Usualmente es utilizado para número interior, suite, fraccionamiento o delegación (opcional).
address.city
La ciudad de la dirección de envío.
address.state
El estado de la dirección de envío.
address.country
País de destino, utiliza el formato ISO 3166-1 de 2 dígitos.
address.postal_code
El código postal de la dirección de envío.
address.residential
Booleano que indica si es una dirección de envío residencial. Por defecto se toma como verdadero (opcional).

Actualizar Contacto de Envío (Cliente)

Actualiza un Contacto de Envío existente.

Argumentos
id
string
Id del contacto de envío.
phone
string
Teléfono de contacto.
receiver
string
Nombre de la persona a la que va dirigido el paquete. (opcional)
between_streets
string
Las calles al lado de la dirección de entrega. (opcional)
address
hash
Dirección de entrega.
address.street1
La primera línea para la dirección de envío. Usualmente es utilizado para calle y número.
address.street2
La segunda línea para la dirección de envío. Usualmente es utilizado para número interior, suite, fraccionamiento o delegación (opcional).
address.city
La ciudad de la dirección de envío.
address.state
El estado de la dirección de envío.
address.country
País de destino, utiliza el formato ISO 3166-1 de 2 dígitos.
address.postal_code
El código postal de la dirección de envío.
address.residential
Booleano que indica si es una dirección de envío residencial. Por defecto se toma como verdadero (opcional).

Eliminar Contacto de Envío (Cliente)

Elimina un Contacto de Envío existente.

Argumentos
id
string
Id del contacto de envío.

Descuentos

Describe los descuentos que se aplicarán a una orden.

Objeto Descuento

Atributos
id
string
Identificador único del descuento, asignado al azar.
code
string
Código del descuento.
type
string
Puede ser 'loyalty', 'campaign', 'coupon' o 'sign'
amount
integer
La cantidad a descontar de la suma total de todos los pagos, en centavos.

Crear Descuento

Crea un descuento nuevo.

Argumentos
code
string
Código del descuento.
type
string
Puede ser 'loyalty', 'campaign', 'coupon' o 'sign'
amount
integer
La cantidad a descontar de la suma total de todos los pagos, en centavos.

Actualizar Descuento

Actualiza un descuento existente.

Argumentos
id
string
Id del descuento.
code
string
Código del descuento.
type
string
Puede ser 'loyalty', 'campaign', 'coupon' o 'sign'
amount
integer
La cantidad a descontar de la suma total de todos los pagos, en centavos.

Eliminar Descuento

Elimina un descuento existente.

Argumentos
id
string
Id del descuento.

Impuestos

Describe los impuestos que se aplicarán a la orden.

Objeto Impuesto

Atributos
id
string
Identificador único para el cobro de impuesto.
description
string
Código del impuesto.
amount
integer
La cantidad a cobrar por impuesto en centavos.
metadata
hash
Hash en donde el usuario puede enviar información adicional por cada tax_line (opcional).

Crear Impuesto

Crea un impuesto nuevo.

Argumentos
description
string
Código del impuesto.
amount
integer
La cantidad a cobrar por impuesto en centavos.
metadata
hash
Hash en donde el usuario puede enviar información adicional por cada tax_line (opcional).

Actualizar Impuesto

Actualiza un impuesto existente.

Argumentos
id
string
Id del impuesto.
description
string
Código del impuesto.
amount
integer
La cantidad a cobrar por impuesto en centavos.
metadata
hash
Hash en donde el usuario puede enviar información adicional por cada tax_line (opcional).

Eliminar Impuesto

Elimina un impuesto existente.

Argumentos
id
string
Id del impuesto.

Eventos

Eventos son la manera en que te podemos comunicar cualquier cosa que ha pasado en tu cuenta. Para poderte notificar, creamos un objeto de evento, el cual contiene toda la información que necesitas saber sobre el evento. Un ejemplo de eventos es cuando el pago de un cargo es exitoso creamos el evento charge.paid.

Por medio de nuestro API podrás realizar llamadas para poder obtener información sobre un evento en específico.

Otra manera de poder recibir estos eventos es por medio de webhooks, donde mandaremos cada uno de los eventos directamente a tu servidor. Para saber un poco más sobre webhooks, puedes ver la sección de webhooks.

NOTA: Si tu servidor cuenta con alguna restricción mediante Firewall debes añadir la IP de nuestro servidor de eventos 52.200.151.182. Además, puedes seleccionar un puerto específico para tus webhooks. Los puertos que soportamos son el 80, 443 y el rango del 1025 al 10001.

El Objeto Evento

Atributos
id
string
Identificador único del cargo asignado al azar.
object
string
Clase del objeto. En este caso, "event"
livemode
boolean
false: Modo de prueba. true: Modo de producción.
created_at
timestamp
Fecha de creación del cargo.
type
string
Tipo de evento. Ejemplo: charge.paid, charge. refunded, etc.
data
hash
Hash que contiene toda la información asociada al evento.
Tipos de evento
charge.created
Evento relacionado a un cargo
Este evento ocurre cuando un cargo ha sido creado pero todavía no ha sido pagado.
charge.paid
Evento relacionado a un cargo
Este evento ocurre cuando un cargo ha sido pagado.
charge.refunded
Evento relacionado a un cargo
Este evento ocurre cuando un cargo ha sido reembolsado en su totalidad al comprador.
charge.chargeback.created
Evento relacionado a un contracargo
Este evento ocurre cuando el tarjetahabiente no reconoce el cargo y contacta a su banco para generar un contracargo. Para más información sobre contracargos, visita la sección de chargebacks.
charge.chargeback.updated
Evento relacionado a un contracargo
Este evento ocurre cuando alguien dentro de tu cuenta actualiza el contracargo con evidencia que apoya el caso de contracargo. Para más información sobre contracargos, visita la sección de chargebacks.
charge.chargeback.under_review
Evento relacionado a un contracargo
Este evento ocurre cuando el contracargo ha sido bloqueado y la evidencia que has proporcionado ha sido enviada al banco adquiriente para revisar el caso. Para más información sobre contracargos, visita la sección de chargebacks.
charge.chargeback.won
Evento relacionado a un contracargo
Este evento ocurre cuando el contracargo ha sido resuelto a tu favor. En este momento, el monto del contracargo que había sido retenido será devuelto a tu saldo y será disponible para el siguiente depósito a tu cuenta. Para más información sobre contracargos, visita la sección de chargebacks.
charge.chargeback.lost
Evento relacionado a un contracargo
Este evento ocurre cuando el contracargo ha sido resuelto a favor del tarjetahabiente. El monto del contracargo que había sido retenido será enviado al tarjetahabiente. Para más información sobre contracargos, visita la sección de chargebacks.
subscription.created
Evento relacionado a una suscripción
Este evento ocurre cuando una nueva suscripción ha sido creada.
subscription.paused
Evento relacionado a una suscripción
Este evento ocurre cuando una suscripción ha sido pausada.
subscription.resumed
Evento relacionado a una suscripción
Este evento ocurre cuando una suscripción pausada ha sido reanudada.
subscription.canceled
Evento relacionado a una suscripción
Este evento ocurre cuando una suscripción ha sido cancelada. Aparte de que tú o el cliente haya cancelado la suscripción, también se cancelará después de varios intentos de realizar el cobro al cliente.
subscription.updated
Evento relacionado a una suscripción
Este evento ocurre cuando una suscripción ha sido actualizada ya sea con un nuevo plan o tarjeta.
subscription.paid
Evento relacionado a una suscripción
Este evento ocurre cuando una suscripción ha sido pagada.
subscription.payment_failed
Evento relacionado a una suscripción
Este evento ocurre cuando el pago de una suscripción no ha podido ser procesado. En caso de que la suscripción no pueda ser procesada después de 3 intentos consecutivos, la suscripción será cancelada.

Errores

Por medio de nuestro API, podrás ser notificado con toda la información en caso de cualquier error al momento de crear cualquier llamada a nuestro servicio.

Atributos
type
array
Contiene el tipo de error y el codigo del error.
log_id
string
El id del log de la petición http registrando este error.
data
hash
El objeto modificado por esta petición, en caso de processing_error por ejemplo, los cargos todavía se crean.
details
array
Lista detallada de los errores.
message
string
Mensaje legible para humanos el cual provee más detalles sobre el error. Este mensaje debe ser desplegado al usuario y está disponible en inglés y español. Para cargos de tarjeta, el mensaje puede ser mostrado al usuario.
debug_message
string
Mensaje legible para humanos el cual provee más detalles sobre el error. Este mensaje debe ser usado internamente para depuración y solo está disponible en inglés. Para cargos de tarjeta, el mensaje puede ser mostrado al usuario.
code
string (optional)
Un código corto y específico detallando processing_error.
param
string (optional)
El parámetro al cual este error está relacionado. Puedes usar este error para subrayar campos de texto erróneos.
Error types
api_error
HTTP 500
Error inesperado por parte de Conekta. Este error puede ser capturado con la clase ApiError .
authentication_error
HTTP 401
La llave usado en esta petición era inválida or no tiene permisos para ejecutar esta petición. Este error puede ser capturado con la clase AuthenticationError.
conlict_error
HTTP 409
Un conflict de versiones ocurrió, lo más probable es que la versión que pasaste en las encabezados de la petición era incorrecta.
malformed_request_error
HTTP 400
El JSON del cuerpo de tu petición era inválida o la codificación de caracteres en tu petición es incorrecta. Este error puede ser capturado con la clase MalFormedRequestError .
parameter_validation_error
HTTP 422
Algun parámetro de tu petición falta o tiene valores inválidos, consulta el atributo details en tu petición para ver cuales campos fueron inválidos y por qué. Este error puede ser capturado con la clase ParameterValidationError .
precondition_required_error
HTTP 412
Falta ejecutar algunos pasos antes de procesar esta llamada. Por ejemplo, si estas creando un order, la suma de los line_items tiene que estar mayor a 0 antes de cobrarle, consulta el atributo details en tu petición para ver cuales campos fueron inválidos y por qué.
processing_error
HTTP 402
Un error rutinario durante el procesamiento de tarjetas, ocurre cuando procesen tarjetas y los fondos no pueden ser cobrados. Este error puede ser capturado con la clase ProcessingError .
resource_not_found_error
HTTP 404
El objecto sobre cual quisieras ejecutar este petición no existe. Ocurre normalmente cuando las llaves de la petición corresponden a otra cuenta o no tienen permisos para buscar este objecto. Este error puede ser capturado con la clase ResourceNotFoundError .
Metodos
getConektaMessage()
object
Este metodo nos proporciona un arreglo con el objeto que regresa la api cuando se genera un error, Este objeto contiene todos los atributos mencionados antes, todos los objetos estan mapeados en las posiciones del arreglo, estas posiciones estan compuestas por dos arreglos principales que son detailscon errores de validacion y un segundo type con el codigo de error y el tipo de error.
Clases
Handler
Exception
La clase Handler maneja y crea instancias de los errores mapeados en base a la respuesta de la api.

Github