Skip to main content
Usa este flujo para procesar pagos ecommerce con tarjeta desde el API de autorización de PayIn.
POST /charges
endpoint
Este flujo utiliza el mismo endpoint base de autorización. Revisa los ambientes y la configuración general en el Overview.

Características del flujo

Tipo de flujo

Síncrono o con autenticación adicional, según la configuración del comercio y del emisor.

Método de pago

Permite procesar pagos ecommerce con tarjeta.

Validación final

La confirmación del resultado debe realizarse desde backend.

PCI

Si el flujo envía o recibe datos sensibles de tarjeta, debes contar con cumplimiento PCI.

Checkout Web (Flex)

Si utilizas Checkout Web (Flex), en esta página también se documenta la estructura de respuesta que recibirás en responseCallback.

Consideraciones

Este flujo puede operar en tres escenarios: autorización sin autenticación, autorización con autenticación 3DS Redirect y autorización con datos de autenticación 3DS obtenidos previamente.
Si trabajas con autenticación 3DS en un único flujo, revisa también las Consideraciones para métodos con Redirect.
No expongas datos sensibles de pago en frontend, logs o herramientas sin enmascaramiento. Si tu integración procesa directamente PAN, CVV o datos equivalentes, valida previamente la habilitación PCI de tu comercio.

Request

Antes de consumir este endpoint, solicita tu Access Token en Autenticación.

Headers


Body

Objeto raíz del request


Objeto payment_method


Objeto payment_method.method_details


Objeto payment_method.method_details.card_holder


Objeto payment_method.method_details.card_holder.phone


Objeto payment_method.method_details.authentication_result.3ds_secure


Objeto payment_method.method_details.installments

Valores para installments.plan:
  • 01: Normal
  • 02: Diferido (no disponible)

Ejemplo 1: sin autenticación


Ejemplo 2: con autenticación Redirect

Para recibir el resultado final en flujos con autenticación Redirect, revisa las Consideraciones para métodos con Redirect.

Ejemplo 3: con datos de autenticación 3DS previos


Response

Objeto transaction

continue_url y expiration_date se muestran cuando la transacción queda en estado PENDIENTE.
No uses meta.status.code como validador de autorización o denegación del pago. Ese código solo indica si el servicio procesó o respondió correctamente; el resultado del pago se valida con transaction.state y, como respaldo, desde backend con consulta o notificación.

Objeto transaction.payment_method


Objeto transaction.payment_method.method_details


Objeto transaction.payment_method.method_details.installments


Objeto transaction.expiration_date


Objeto transaction.processor_response


Objeto transaction.processor_response.result_message


Objeto transaction.authentication_result


Objeto transaction.lifecycle


Objeto transaction.lifecycle[].date


Ejemplo 1: sin autenticación


Ejemplo 2: con autenticación Redirect


Ejemplo 3: con datos de autenticación 3DS previos


Buenas prácticas

  • Valida siempre el resultado desde backend.
  • Usa autenticación 3DS cuando aplique a tu modelo de riesgo o configuración.
  • No expongas PAN, CVV ni datos sensibles en frontend o logs.
  • Enmascara siempre la información sensible en observabilidad y soporte.
  • Revisa el estado final de la operación antes de tomar acciones de negocio.

Errores comunes

Datos sensibles expuestos

No envíes ni almacenes PAN, CVV o datos sensibles en frontend, logs o herramientas sin protección.

Validación incompleta

No tomes decisiones de negocio confiando únicamente en validaciones del lado cliente o en estados no confirmados.

Siguiente paso

API de Consulta

Revisa cómo consultar el estado de una operación.