MÓDULOS

Checkout

16min
Flujo de creación de un Checkout simple
Flujo de creación de un Checkout simple

POST
Request
Header Parameters
x-api-key
required
String
Clave API de su aplicación.
x-access-token
required
String
Token de acceso a su comercio.
content-type
required
String
application/json
Body Parameters
total
required
Number
Monto de la operación. Formato XXX.xx donde el PUNTO es el separador decimal.
description
required
String
Descripción de la operación que será mostrada en el checkout al ingresar.
currency
required
String
Moneda de la operación. Valor admitido "ARS"
reference
required
String
Factura, Recibo o referencia del pago a Realizar. Puede ser un identificador de un sistema externo para seguimiento. Este Identificador pertenece a su sistema pero debe ser único para cada operación. Mobbex no permite 2 operaciones en estado Pago con el mismo reference.
test
optional
Boolean
Permite colocar el checkout en modo test y realizar operaciones con las tarjetas de prueba.
return_url
optional
String
URL a la cual será enviado el usuario al finalizar el pago.
webhook
optional
String
URL a la cual será informado el pago mediante WebHooks (POST)
items
optional
Array
Listado de elementos pertenecientes al cobro con checkout y que serán mostrados al ingresar al mismo como parte de la descripción del pago. Para generar un checkout asociado a una suscripción se debe configurar en este array. Ver el ejemplo sobre este nodo incluído debajo de esta documentación.
options
optional
Object
Permite definir opciones para el checkout creado.
sources
optional
Array
Permite la limitación de los medios de pago aceptados. De esta forma, en el checkout únicamente podrán utilizarse los medios aquí definidos.
installments
optional
Array
Permite la limitación de los Planes Activos al pagar la orden. Para realizar dicha limitación se debe enviar un array de referencias de planes. Los ejemplos puedes encontrarlos más abajo en la documentación.
customer
required
Object
Objeto con los datos del cliente
split
optional
Array
Permite dividir el cobro del checkout en varias entidades de Mobbex. Para más detalles ver la sección "Marketplace, Split, Cobro con Comisión".
timeout
optional
Number
Tiempo de vida en minutos del checkout durante el cual podrá ser utilizado, luego de este tiempo el checkout no tendrá validez. Por defecto son 60 minutos.
intent
optional
String
Tipo de operatoria de la operación. Ver documentación sobre operatoria en 2 pasos.
multicard
optional
Boolean
Permite abonar la operación en el checkout con múltiples tarjetas. No es compatible con operaciones de tipo SPLIT.
addresses
optional
Array
Direcciones del cliente
addresses[$].type
optional
String
Tipo de Dirección. Valores admitidos: "billing", "shipping"
addresses[$].country
optional
String
Páis. Valores admitidos: Ver Tabla de Países en Complementos.
addresses[$].street
optional
String
Dirección sin número
addresses[$].streetNumber
optional
String
Número de Puerta de la dirección
addresses[$].streetNotes
optional
String
Notas references a la dirección, segunda linea de dirección, Piso, Departamento, Oficina, etc.
addresses[$].zipCode
optional
String
Código Postal
addresses[$].city
optional
String
Ciudad
addresses[$].state
optional
String
Estado (ISO 3166). Ver Cod. de Provincias Argentinas en la sección Complementos.
webhooksType
optional
String
Permite activar o desactivar ciertos tipos de Webhooks. Por defecto esta opción será "all". Opciones posibles: "all", "none", "final", "intermediateAndFinal". Ver explicación más abajo.
multivendor
optional
String
En el caso de habilitar el modo Multivendedor, indica el tipo de operatoria "active" o "unified". Active permite el cliente pague los productos de cada vendedor con sus respectivas cuotas. Unified realiza la unificación de las cuotas comunes a todas los vendedores.
merchants
optional
Array
Requerido en operatoria de tipo Multivendedor.
merchants.[$].uid
required
String
UID del comercio multivendedor
merchants.[$].intent
optional
String
Intención de pago de las operaciones del comercio multivendedor (aplica para casos de 2-pasos)


Ejemplos del nodo items:

JSON


Aclaración: Las imágenes deben soportar HTTPS, de lo contrario no serán mostradas. Para colocar suscripciones dentro del checkout, se debe agregar un objeto al array de items con el type "subscription" y como reference el UID de la suscripción a la cual se va a asociar el suscriptor.

Ejemplos del nodo sources:

JSON


Ejemplos del nodo installments:

Eisten 3 formas de Limitar Planes:

  • Ocultar determinados planes de todo el conjunto de planes existentes:

Estos planes se pueden oxcultar por referencia o por ID de plan

JSON

  • Limitar los Planes a las elegidos en el Array:

Estos planes se pueden limitar por referencia o por ID de plan

JSON

  • Mostrar planes especiales basado en Reglas Avanzadas:
JSON

Document image


Para conocer las opciones disponibles de medios de pago sources y planes installments ver Métodos de pago y cuotas

Para el caso especial de los Planes Ahora (Argentina) las referencias siempre serán fijas: ahora_3, ahora_6, ahora_12, ahora_18

Importante

Duración del Checkout

El checkout creado sólo podrá ser utilizado por 60 ( o el tiempo definido en la variable Timeout ) minutos, luego de esto expirará. Si el cliente intenta pagar luego de este periodo será redireccionado a la url declarada en return_url con status 401 (Expirado).

Atributo "reference"

Este atributo es utilizado para evitar pagos duplicados. Debe ser único para cada operación de pago a identificar, ya que Mobbex NO permitirá 2 transacciones en estado "Pago" con el mismo reference.



Operatoria en 2 pasos

El módulo de checkout está habilitado para utilizar la operatoria en 2 pasos o "Autorización y Captura". Este tipo de operatoria especial requiere habilitación previa del comercio para poder utilizarla. La documentación sobre el flujo de la operación y los detalles de la implementación se encuentran en el siguiente enlace.

Postman



Retorno y WebHooks

Transacción Finalizada

Al definir el parámetro return_url el servicio redireccionará a la URL provista mediante HTTP Get una vez finalizada la transacción. A esta url se le agregará el Estado de la misma mediante el parámetro status, el tipo de transacción generada por el usuario mediante el parámetro type (cash/card) y el identificador de la transacción mediante el parámetro transactionId.

Ejemplo:

https://mobbex.com/thank_you?status=200&type=cash&transactionId=NfkvurRUX

Transacción Cancelada

Si el usuario cancela la operación status será 0 y type será none. Esto como se señala indica que el usuario no finalizó la operación y decidió volver al sitio.

Ejemplo:

https://mobbex.com/thank_you?status=0&type=none&transactionId=-1

Referencia de estados posibles

Es muy importante revisar la documentación sobre estados y tipos de documentación ya que el manejo de los mismos será utilizado durante la homologación del comercio. Esta documentación puede ser encontrada en el siguiente link: Estados y Tipos de Transacción



Vencimiento del Checkout

Para evitar que un Checkout quede pendiente de pago luego de cierto tiempo los Checkout tienen un tiempo límite por defecto de 60 minutos que puede ser personalizado via el parámetro "timeout" al crear el checkout enviando la cantidad de minutos máximos que se desea que el checkout siga activo. El mínimo de minutos es 1 minuto.

Cuando un Checkout Expira o se Vence el servicio envía automáticamente una notificación via Webhook notificando dicho vencimiento. Este Webhook tiene un formado especial descripto a continuación. Se debe tener en cuenta que este Webhook no es similar a los Webhooks de la operatoria.

JSON


Al recibir este Webhook se entiende que el Checkout ya no podrá pagarse y se recomienda devolver el Stock o tomar las acciones necesarias desde su Backend.

El campo "data" será enviado cuando haya habido intentos infructuosos de pago, este campo sirve como control de la operación

JSON


Este webhook especial NO será enviado cuando haya una operación en los siguientes estados:

  • 200
  • 3
  • 210
  • 300
  • 301
  • 2
  • 100

WebhooksType Parameter

Se debe utilizar este parámetro para limitar los Webhooks recibidos, por ejemplo cuando sólo querramos ser notificados cuando una operación llegue a un estado final pero no cuando haya intentos infructuosos de pago.

Opciones de Tipo de Webhook:

  • all: Esta es la opción por defecto y el servicio enviará todo intento de transacción que realice el cliente durante el pago del Checkout.
  • final: Aquí sóolo se enviarán Webhooks cuando el cliente llegue a un estado final, como un pago Aprobado. Todo el resto de los estados no será enviado aunque el estado del checkout será enviado en el Webhook de Expiración o Vencimiento tratado antes. Estados que serán notificados: 200, 3, 300, 301, 2.
  • intermediateAndFinal: A la opción anterior seran enviados los estados intermedios, por ejemplo una operación en revisión por fraude. Estados adicionales al tipo "final" que serán enviados: 100, 210.
  • none: En esta opción ningún Webhook será enviado incluso si se define la url del checkout. Solo utilizar esta opción en casos especiales. Si utiliza esta opción deberá obtener el estado del checkout via API utilizando el "reference" definido.

Si el checkout expira y la operación cambia de estado, por ejemplo de "En Espera (2)" a "Rechazado (400)" la notificación será enviada en los tipos "all", "final" e "intermediateAndFinal", sólo no será enviado en el tipo "none"



Esto le permitirá eliminar un checkout creado antes de los 60 minutos de duración por defecto.
DELETE
Request
Query Parameters
ID
required
String
ID del Checkout a Eliminar.
Header Parameters
x-api-key
required
String
Clave API de su aplicación.
x-access-token
required
String
Token de Acceso a la entidad.




Updated 07 Jul 2024
Doc contributor
Doc contributor
Did this page help you?