# Crear pago `POST` `/payments` Registra un nuevo pago para análisis ## Cuerpo de la solicitud - **payment** (`object`, required) - **id** (`string | null`) — Identifique el pago a través de un código único que no se repite en la misma cuenta. Si no se proporciona, se generará un identificador aleatorio. Consulte la [documentación sobre los identificadores](https://docs.glassdata.io/es/transactional/payment_modeling/identifiers/). - **type** (`string enum`, required) — Tipo del pago - Allowed: `purchase`, `verify` - **status** (`string enum`) — Estado del pago. Consulte la [documentación para más detalles sobre los estados posibles](https://docs.glassdata.io/es/transactional/payment_modeling/status/). - Allowed: `initiated`, `succeeded`, `declined`, `failed`, `blocked` - **currency** (`string`, required) — Moneda del pago de acuerdo con el estándar ISO 4217. - **amount** (`float`) — Valor con dos decimales. Utilice "." como separador decimal. - **timestamp** (`date-time | null`) — Fecha y hora en que se inició el pago en formato [ISO 8601](https://es.wikipedia.org/wiki/ISO_8601). Si no se envía, se usará la hora actual. El plazo máximo para envío retroactivo (backfill) es de 24 horas. No se permiten horarios futuros. - **method** (`object`, required) — Método de pago. Preferentemente, envíe toda la información disponible en esta solicitud. Si algún dato no está disponible en esta etapa de su flujo, es posible enviarlo posteriormente a través del mismo parámetro en la operación de actualización. - **type** (`string`, required) — Tipo del método de pago. - **card** (`object`) - **network** (`string enum`, required) — Red de tarjeta - Allowed: `visa`, `mastercard`, `american_express`, `diners_club`, `elo`, `hipercard`, `jcb`, `discover`, `other` - **presence** (`string enum`, required) — Indica si la transacción fue realizada con tarjeta presente (CP) o tarjeta no presente (CNP). Consulte la [documentación sobre presencia de tarjetas](https://docs.glassdata.io/es/api/methods/post_payments/) para más información. - Allowed: `card_present`, `card_not_present` - **bin** (`string | null`) — Primeros 8 números del PAN que identifican al emisor de la tarjeta (conocido también como IIN) - **last_four** (`string | null`) — Últimos 4 números del PAN - **backend** (`object`) — Información sobre el servidor externo que está enviando la solicitud a su API backend. Asegúrese de que los datos enviados son del servidor remoto fuera de su perímetro de seguridad, y no de servidores intermediarios dentro de su infraestructura. - **ip_address** (`string | null`) — Dirección IPv4 o IPv6 del servidor externo. Si este dato no está disponible, deje el campo en blanco. Las [direcciones privadas](https://es.wikipedia.org/wiki/Red_privada) serán ignoradas en el análisis. - **headers** (`object | null`) — Encabezados HTTP enviados por el servidor externo. Si es posible, envíe todos. De lo contrario, envíe como mínimo `User-Agent`, `Accept`, `Accept-Encoding`, `Accept-Language` y `Host`. Los encabezados confidenciales usados para autenticación y sesión serán eliminados automáticamente. - **device** (`object`) — Información sobre el dispositivo del usuario, si el pago fue realizado en ambiente online (web o aplicación). No envíe este bloque para intentos iniciados sin la interacción directa del usuario (renovación de la recurrencia, por ejemplo). - **ip_address** (`string | null`) — Dirección IPv4 o IPv6 del dispositivo del usuario. Si este dato no está disponible, deje el campo en blanco. Las [direcciones privadas](https://es.wikipedia.org/wiki/Red_privada) serán rechazadas. - **headers** (`object | null`) — Encabezados HTTP enviados por el dispositivo del usuario en la solicitud. Si es posible, envíe todos. De lo contrario, envíe como mínimo `User-Agent`, `Accept`, `Accept-Encoding`, `Accept-Language` y `Host`. Los encabezados confidenciales usados para autenticación y sesión serán eliminados automáticamente. - **fingerprint** (`object`) — Huella digital del dispositivo del usuario. - **id** (`string`, required) — Código identificador único de la huella digital del dispositivo. - **provider** (`string enum`, required) — Proveedor del servicio de recolección de la huella digital. - Allowed: `fingerprintjs`, `basic` - **user** (`object`) — Información sobre el usuario que está efectuando el pago. - **id** (`string | null`) — Código identificador del usuario. - **email** (`string | null`) — Email del usuario. Si desea el análisis sin datos personales, informe solo el dominio (ej. `gmail.com`). - **order** (`object`) — Información sobre la compra. - **id** (`string | null`) — Código identificador opcional del pedido (o compra, mensualidad, carrito, etc). Los reintentos de pago en la misma compra deben usar la misma identificación para rastrear la cantidad de intentos. Consulte la [documentación para más detalles sobre el código del pedido](https://docs.glassdata.io/es/transactional/payment_modeling/identifiers/). - **merchant** (`object`, required) — Información sobre el establecimiento. Utilice este campo para informar la unidad de negocio, franquicia o empresa que está realizando la operación. - **id** (`string`, required) — Código identificador del establecimiento que está realizando la operación. - **country** (`string | null`) — País del establecimiento de acuerdo con el formato [ISO 3166-1 alfa-2](https://www.iso.org/obp/ui/#search/code/) (2 caracteres). - **category_code** (`string | null`) — Código de categoría de la empresa (MCC) de acuerdo con el estándar ISO 18245. - **transactions** (`array`) — Lista de intentos de transacción para este pago. Obligatorio si el `status` del pago es `succeeded` o `declined`. Recomendable para `failed` y `blocked` si hay intentos de transacción. - **id** (`string`) — Código identificador único de la transacción. Consulte la [documentación para más detalles sobre el código de la transacción](https://docs.glassdata.io/es/transactional/payment_modeling/identifiers/). - **status** (`string enum`, required) — Estado de retorno del intento de transacción. Consulte la [documentación para más detalles sobre los estados posibles](https://docs.glassdata.io/es/transactional/payment_modeling/status/). - Allowed: `succeeded`, `declined`, `failed`, `canceled` - **duration** (`integer`) — Tiempo de ejecución de la transacción en milisegundos (1 segundo = 1000 milisegundos). - **timestamp** (`date-time | null`) — Fecha y hora en que se inició la transacción en formato [ISO 8601](https://es.wikipedia.org/wiki/ISO_8601). Si no se envía, se usará la hora actual. El plazo máximo para envío retroactivo (backfill) es de 24 horas. No se permiten horarios futuros. - **connector** (`object`, required) — Información sobre el conector de pago utilizado en la transacción. El conector puede ser un adquirente, un subadquirente o un gateway. - **id** (`string`, required) — Código de la integración con el conector. Informe un código que represente un contrato de afiliación o una conexión de integración específica. Recomendamos prefijar el código con el tipo del conector para facilitar consultas en reportes. - **type** (`string`) — Tipo del conector (ej.: adquirente, subadquirente o gateway). Campo opcional y de texto libre; recomendamos un valor estandarizado para facilitar consultas en reportes. - **response_code** (`string | null`) — Código de respuesta alfanumérico del intento. Para tarjeta de crédito en Brasil, utilizar preferentemente el estándar determinado por la [normativa 21 de ABECS](https://api.abecs.org.br/wp-content/uploads/2019/09/Normativo-021.pdf). Obligatorio si `transaction.status` es `succeeded` o `declined`. Recomendable para `failed` y `canceled` cuando está presente. - **metadata** (`object | null`) — Metadatos adicionales. Para información sobre requisitos y límites, consulte la [documentación sobre metadatos](https://docs.glassdata.io/es/api/metadata/). - **analyze** (`object`) — Habilita el análisis del pago. - **rule** (`object | null`) — Informe, opcionalmente, la regla a aplicar en la recomendación de riesgo. - **name** (`string | null`) — Nombre de la regla, según registrado previamente. Si la regla informada no existe o no posee versión activa publicada, la solicitud no fallará y la recomendación de riesgo será proporcionada de acuerdo con la configuración predeterminada de la cuenta. - **bot_behaviour** (`boolean`) — Detecta comportamiento automatizado (robots, scripts, etc.). Consulte la [documentación sobre la recomendación y la puntuación](https://docs.glassdata.io/es/transactional/analysis/). ```json { "payment": { "id": "string", "type": "purchase", "status": "initiated", "currency": "BRL", "amount": 10.23, "timestamp": "2024-01-01T00:00:00Z", "method": { "type": "string", "card": { "network": "visa", "presence": "card_present", "bin": "40000000", "last_four": "1234" } }, "backend": { "ip_address": "200.200.200.200", "headers": { "User-Agent": "Java-Http-Client/11.0", "Accept": "application/json", "EveryOtherHeader": "value" } }, "device": { "ip_address": "200.200.200.200", "headers": { "User-Agent": "Chrome", "Accept": "text/html,application/xhtml+xml", "EveryOtherHeader": "value" }, "fingerprint": { "id": "string", "provider": "fingerprintjs" } }, "user": { "id": "string", "email": "teste@gmail.com" }, "order": { "id": "string" }, "merchant": { "id": "string", "country": "BR", "category_code": "7997" }, "transactions": [ { "id": "string", "status": "succeeded", "duration": 0, "timestamp": "2024-01-01T00:00:00Z", "connector": { "id": "cielo-39123747819782", "type": "cielo", "response_code": "00" } } ], "metadata": { "plano": "premium_1", "categoria_do_cliente": "vip" }, "analyze": { "rule": { "name": "minha_regra" }, "bot_behaviour": false } } } ``` ## Respuestas ### 201 — Pago creado con éxito - **payment** (`object`) - **id** (`string`) — Código identificador del pago creado. - **status** (`string`) — Estado del pago. - **analyses** (`object`) — Resultado de los análisis solicitados. - **bot_behaviour** (`object`) — Resultado del análisis de riesgo. Consulte la [documentación sobre la recomendación y la puntuación](https://docs.glassdata.io/es/transactional/analysis/). - **action** (`string enum`) — Acción recomendada de acuerdo con el score de riesgo y la configuración en el panel de administración. - Allowed: `allow`, `challenge`, `deny` - **score** (`float`) — Score (puntuación de riesgo) en formato decimal entre `0.00` y `1.00` con dos decimales. Cuanto más cercano a 1, mayor la probabilidad de que el pago haya sido realizado por un bot. Este es solo un campo informativo. Recomendamos utilizar la recomendación del campo `action` para implementar la toma de decisiones. Para simular un score arbitrario en la cuenta de pruebas, verifique la [documentación](https://docs.glassdata.io/es/transactional/analysis/test-environment/#simulando-un-score). - **rule** (`object | null`) — Regla aplicada al pago, o `null` cuando no se aplicó ninguna regla. - **name** (`string`) — Nombre de la regla aplicada. - **version** (`integer`) — Versión de la regla aplicada. - **condition** (`object | null`) — Condición cumplida, o `null` si no se cumplió ninguna condición. - **id** (`string`) — Identificador de la condición cumplida. - **name** (`string | null`) — Nombre de la condición cumplida, o `null` si la condición no tiene nombre. ```json { "payment": { "id": "string", "status": "string", "analyses": { "bot_behaviour": { "action": "allow", "score": 0.25 }, "rule": { "name": "minha_regra", "version": 3, "condition": { "id": "string", "name": "string" } } } } } ``` ### 401 — Credenciales de acceso inválidas - **errors** (`array`) - **field** (`string`) — Campo de la solicitud donde ocurrió el error - **type** (`string`) — Código del tipo del error - **message** (`string`) — Mensaje del error ```json { "errors": [ { "field": "string", "type": "string", "message": "string" } ] } ``` ### 422 — Parámetros inválidos - **errors** (`array`) - **field** (`string`) — Campo de la solicitud donde ocurrió el error - **type** (`string`) — Código del tipo del error - **message** (`string`) — Mensaje del error ```json { "errors": [ { "field": "string", "type": "string", "message": "string" } ] } ```