Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature/batch-payments #2537

Open
wants to merge 19 commits into
base: development
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Batch payments con clientes y tarjetas

## Flujo funcional

!imagen
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Formato de entrada

Este es el formato de entrada requerido para el flujo de cobros batch:

* **Formato:** Archivo CSV, con campos separados por punto y coma (";").
* **Nombre de archivo:** El nombre del archivo debe seguir el formato: `namefile.csv.`
* **namefile:** Nombre asignado al archivo (obligatorio).
* **.csv:** Extensión del archivo (obligatoria).
* **Expresión regular:** El nombre del archivo debe cumplir con la siguiente expresión regular: `(?i)^[^$%&|<>#=]+\.csv$`

> NOTE
>
> Nota
>
> Se realizan validaciones para evitar la duplicación de nombres de archivos. Si se envían archivos con nombres idénticos, se generará un error. Además, también se llevarán a cabo verificaciones para identificar contenidos duplicados en los archivos. Si se detectan archivos con contenidos idénticos, se generará un error.

Ejemplo:

```csv
external_reference;card_id;payer_id;amount;reason;echo_data;soft_descriptor
24324234332;3154;1234-1234;299;Ejemplo payment;dato random;CompanyName
24324234332;3154;1234-1234;Ejemplo payment;dato random;CompanyName
24324234332;3154;1234-1234;299;Ejemplo payment;dato random;CompanyName
24324234332;3154;1234-1234;299;Ejemplo payment;dato random;CompanyName
```

| Campo | Descripción | Formato | Ejemplo | Tipo |
|-------------------|----------------------------------------------------------------------------------------------------|--------------------------------------------------------|--------------------|------------|
| `external_reference` | Id para conciliación del pago en el sistema del seller | Solo acepta caracteres alfanuméricos, barras ("/") y guiones ("-" e "_") | ref_4324234332 | Obligatorio |
| `card_id` | Dato obtenido en la vinculación - Id que representa la tarjeta | Solo acepta valores alfanuméricos | 123123 | Obligatorio |
| `payer_id` | Dato obtenido en la vinculación - Id que representa el customer (payer) | Conformado por 2 partes separadas por un guión del medio "-". La primera parte acepta solo valores numéricos y la segunda parte cualquier valor alfanumérico | 123-ab12 | Obligatorio |
| `amount` | Monto a cobrar (*) | Valores numéricos positivos com separadores de decimales segundo site: <br> - MLA, MLU: "19,10" <br> - MLM y MPE: "299,10" <br> - MCO y MLC sin separadores de decimales | <br>-MLA, MLU: "199,10"<br>-MLM y MPE: "299.10" <br>-MCO y MLC:"399" | Obligatorio |
| `reason` | Detalle o explicación del cobro | Valores alfanuméricos | | Opcional |
| `echo_data` | Información adicional que no vamos a usar pero puede mandar al seller | Valores alfanuméricos | | Opcional |
| `soft_descriptor` | Detalle que se muestra en la factura del banco emisor de la tarjeta del cliente | Solo acepta caracteres alfanuméricos | | Opcional |

## Posibles errores de carga o procesamiento

> WARNING
>
> Importante
>
> El SFTP proporcionado debe ser utilizado exclusivamente para el envío de archivos nuevos. Cualquier movimiento o creación de nuevas carpetas resultará en el reprocesamiento de los archivos.

* **Nombre de archivo inválido:** Algunos caracteres no están permitidos en el nombre del archivo (como $, %, &, |, <, >, #, =), o el archivo ya ha sido procesado anteriormente.
* **Nombre de archivo ya utilizado:** El nombre del archivo ha sido utilizado en un procesamiento anterior.
* **Archivo ya procesado:** Existe una validación para evitar el procesamiento de archivos idénticos.
* **Incumplimiento en el formato o tipo de datos válidos en el CSV:** El archivo no cumple con los requisitos de formato o contiene tipos de datos inválidos.
* **Caracteres especiales no permitidos:** No se permiten caracteres especiales (ñ,&%·!”?¿).
* **Cliente o tarjeta inválidos:** El cliente o la tarjeta no pertenecen a una de las partes (Vendedor o Comprador).

En caso de falla de alguna de estas validaciones, el sistema enviará un email para informarle que no ha sido posible procesar el archivo.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Formato de salida

Este es el formato de salida requerido para el flujo de cobros batch:

```csv
sequential_order,external_reference,amount,reason,echoData,payment_status,payment_detail,payment_id
1; 81047154; 322.04; Cobro ejemplo 1; 3524731; Cobrado;;1232443
2; 50724702; 364.19; Cobro ejemplo 2; 48698812; Cobrado;;1234567
3; 43952205; 289.62; Cobro ejemplo 5; 38086525; Rechazado; No fue posible procesar el pago; 1234568
4; 62966843; 189.09; Cobro ejemplo 3; 62483295; Error; No fue posible procesar el pago;
```

| Campo | Descripción | Formato | Ejemplo | Tipo |
|-------------------|----------------------------------------------------------------------------------------------------|------------------------------------------------------|----------------|-------------|
| `sequential_order` | Orden de file con respecto al archivo de entrada. | Valores numéricos | 123456 | Obligatorio |
| `external_reference` | Id para conciliación del pago en el sistema del seller | Caracteres alfanuméricos, barras ("/") e guiones ("-" e "_") | ref_123456 | Obligatorio |
| `amount` | Monto cobrado. | Valores numéricos con decimales según site: <br> - MLA, MLU: "199,10" <br> - MLM y MPE: "299,10" <br> - MCO y MLC sin separadores de decimales | | Obligatorio |
| `reason` | Detalle o explicación del cobro | Valores alfanuméricos | | Obligatorio |
| `echo_data` | Información adicional que no vamos a usar pero puede mandar al seller | Valores alfanuméricos | | Obligatorio |
| `payment_status` | Estado del pago | Valores alfabéticos, posibles valores: <br> - Paid <br> - Unpaid <br> - Invalid | | Obligatorio |
| `payment_detail` | Detalle del pago para casos no cobrados. <br> Algunos de los valores son: <br> - Los datos no están separados con el formato correcto <br> - Esta columna no pudo ser procesada <br> - Los datos en esta columna son obligatorios <br> - Los datos de la tarjeta no pudieron ser procesados <br> - El customer_id o card_id era inválido. <br> - El monto ingresado es inválido <br> - La tarjeta está vencida <br> - No he posible procesar el pago <br> - El soft descriptor ingresado es inválido <br> - El external reference ingresado es inválido <br> - Detalles de status según documentación de API pública | Valores alfanuméricos | | Opcional |
| `payment_id` | Id identificador del pago | Valores numéricos | 23465778 | Obligatorio |
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Cobros en batch con clientes y tarjetas

## Requisitos

Para realizar cobros a través del flujo batch, es necesario:

| Requisito | Descripción |
|---|---|
| Cuenta de mercado Pago | Para realizar una integración con Mercado Pago, necesitas tener una cuenta de vendedor. Así, podrás acceder a los recursos de las APIs necesarias. Si aún no la tienes, accede a [sitio oficial de Mercado Pago](https://www.mercadopago[FAKER][URL][DOMAIN]/hub/registration?from_landing=true&contextual=company&entity=pj) para crearla gratuitamente. |
| Aplicación creada en [Tus Integraciones](https://www.mercadopago.com/developers/panel/app) | Las aplicaciones son las diferentes integraciones contenidas en una o varias tiendas. Puedes crear una aplicación para cada solución que implementes, con el fin de mantener todo organizado y tener un control que facilite la gestión. Además, al crear una aplicación, podrás obtener las credenciales necesarias para operar. Para crear tu aplicación, consulta la documentación del [Panel del desarrollador](/developers/es/docs/your-integrations/dashboard). |
| IP o rango de IPs de los servidores que se conectarán al SFTP | Las IP(s) o el rango de IPs que tendrán permiso para conectarse al SFTP deben ser definidos e informados. |
| Clave pública asociada al usuario que se conectará al SFTP | La clave pública del usuario responsable de la conexión al SFTP debe ser proporcionada para autenticación. |
| Razón Social | Razón social de la empresa o entidad que está realizando la integración. |
| Tax ID (CUIT) | Número de identificación fiscal (CUIT) de la empresa o entidad. |
| País | El país donde la empresa o entidad está registrada. |
| Nombre del contacto de la tercera parte | Nombre completo del responsable o contacto principal de la tercera parte. |
| E-mail de contacto de la tercera parte | Dirección de correo electrónico para comunicación con la tercera parte. |
| Teléfono de contacto de la tercera parte | Número de teléfono para contacto directo con la tercera parte. |
| Correo electrónico del propietario de Mercado Pago | Dirección de correo electrónico del propietario de la cuenta Mercado Libre/Mercado Pago (Meli). |

> WARNING
>
> Importante
>
> Se debe usar la misma cuenta y la misma aplicación con la que se generaron las vinculaciones.

A continuación, junto con el SFTP, devolveremos los siguientes datos de conexión. La misma se establecerá mediante la clave privada asociada a la clave pública compartida:

| Datos de conexión | Descripción |
|---|---|
| UserName | Nombre de usuario necesario para la conexión al SFTP. |
| Host | URL de conexión del servidor. |

> NOTE
>
> Nota
>
> La carga de archivos está disponible 24 horas al día, 7 días a la semana. Una vez cargados, el período de procesamiento de los archivos varía de 1 a 5 días hábiles. Una vez generado el archivo, el mismo permanecerá disponible únicamente por 7 días.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Reembolsos en batch (Refunds)

## Flujo funcional

!
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Formato de entrada

Este es el formato de entrada requerido para el flujo de reeembolsos batch:

* **Formato:** Archivo CSV, con campos separados por punto y coma (";").
* **Nombre del Archivo:** El nombre del archivo debe seguir el formato `namefile.csv`.
* **namefile:** Nombre asignado al archivo (obligatorio).
* **.csv:** Extensión del archivo (obligatoria).

Ejemplo:

```csv
payment_id;external_reference;amount
123;ext_ref_1;100
1234;ext_ref_2;200
```

| Campo | Descripción | Formato | Ejemplo | Tipo |
|---|---|---|---|---|
| `payment_id` | ID identificador del pago. | Sólo acepta valores numéricos | 123341 | Obligatorio |
| `external_reference` | ID para la conciliación del reembolso en el sistema del vendedor. | Sólo acepta caracteres alfanuméricos, barras ("/") y guiones ("-","_"). | ref_4324234332 | Obligatorio |
| `amount` | Monto a reembolsar | Valores numéricos positivos con separadores de decimales según site:<br/>- MLA, MLU: ","<br/>-MLM y MPE: "."<br/>- MCO y MLC: sin separadores de decimales. | - MLA y MLU: "199,10"<br/>- MLM y MPE: "299.10"<br/>- MCO y MLC: "399" | Obligatorio |

## Posibles errores de carga o procesamiento

> WARNING
>
> Importante
>
> El SFTP proporcionado debe ser utilizado exclusivamente para el envío de archivos nuevos. Cualquier movimiento o creación de nuevas carpetas resultará en el reprocesamiento de los archivos.

* **Nombre de archivo inválido:** Algunos caracteres no están permitidos en el nombre del archivo (como $, %, &, |, <, >, #, =), o el archivo ya ha sido procesado anteriormente.
* **Nombre de archivo ya utilizado:** El nombre del archivo ha sido utilizado en un procesamiento anterior.
* **Archivo ya procesado:** Existe una validación para evitar el procesamiento de archivos idénticos.
* **Incumplimiento en el formato o tipo de datos válidos en el CSV:** El archivo no cumple con los requisitos de formato o contiene tipos de datos inválidos.
* **Caracteres especiales no permitidos:** No se permiten caracteres especiales (como ñ, &%·!”?¿, entre otros).
* **Montos inválidos:** Los valores deben estar en conformidad con la moneda especificada, no pueden ser negativos y deben coincidir con el valor del pago.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Formato de salida

Este es el formato de salida requerido para el flujo de reembolsos batch:

```csv
sequential_order;external_reference;amount;refund_status;refund_detail;payment_id
1;ext_ref1;20398.00;refunded;refunded;1885556855
2;ext_ref2;10423.00;refunded;refunded;1885556854
3;ext_ref3;874.00;refunded;refunded;1885556853
```

| Campo | Descripción | Formato | Ejemplo | Tipo |
|---|---|---|---|---|
| `sequential_order` | Orden de file con respecto al archivo de entrada. | Valores numéricos | 123456 | Obligatorio |
| `external_reference` | Id para conciliación del reembolso en el sistema del vendedor | Caracteres alfanuméricos, barras ("/") y guiones ("-", "_") | ref_123456 | Obligatorio |
| `amount` | Monto a reembolsar. | Valores numéricos con decimales según site:<br/>- MLA, MLU: ","<br/>- MLM y MPE: "."<br/>- MCO y MLC: sin separadores de decimales | - MLA, MLU: "199,10"<br/>- MLM y MPE: "299.10"<br/>- MCO y MLC: "399" | Obligatorio |
| `refunds_status` | Estado del reembolso | Valores alfanuméricos con dos posibles valores:<br/>- Refunded<br/>- INVALID | | Obligatorio |
| `refund_detail` | Detalle del reembolso. Algunos de los valores son:<br/>- Los datos no están separados con el formato correcto.<br/>- Esta columna no pudo ser procesada.<br/>- Los datos en esta columna son obligatorios.<br/>- El monto ingresado es inválido.<br/>- No fue posible procesar el reembolso.<br/>- El `external_reference` ingresado es inválido.<br/>- El Payment ID ingresado es inválido. | Valores alfabéticos | | Opcional |
| `payment_id` | Id identificador del pago | Valores numéricos | 23465778 | Obligatorio |
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Seguimiento del estado de los archivos enviados

Es posible realizar el seguimiento de los archivos enviados a través de la página de [Estado de procesamientos en batch](https://www.mercadopago[FAKER][URL][DOMAIN]/batch-payments).

Además, recibirás comunicaciones en el correo electrónico registrado durante el proceso de onboarding, incluyendo un correo confirmando la recepción correcta del archivo y el inicio del procesamiento.

También se enviará un correo electrónico informando sobre la conclusión del procesamiento.

14 changes: 14 additions & 0 deletions guides/batch-payments-vault-migration/howto-create-bindings.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Cómo crear las vinculaciones

Existen dos maneras de establecer las vinculaciones: una para aquellos que cuentan con un equipo de desarrollo dedicado y otra para aquellos que no cuentan con ese soporte.

## Con equipo de desarrollo

En caso de que cuentes con un equipo de desarrollo, podrás establecer las vinculaciones a través de las [APIs](/developers/pt/docs/checkout-api/customer-management).

## Sin equipo de desarrollo

* **Para vinculaciones en masa:** es posible optar por la Migración de Bóvedas, un proceso que debe realizarse una única vez por el equipo de desarrollo de Mercado Pago. En esta etapa, solicitaremos que envíes los datos abiertos, y nosotros devolveremos un Customer & Card (los datos tokenizados) que permitirá el envío para cobro, promoviendo una operación más segura.

* **Para vinculaciones unitarias manuales:** puedes utilizar el [Tokenizador de Puntos de Venta](/docs/batch-payments/pos-tokenizer). Hay una aplicación web que permite cargar, una por una, las nuevas tarjetas que necesitan ser tokenizadas. En este caso, el vendedor deberá ingresar los datos abiertos de las tarjetas.

32 changes: 32 additions & 0 deletions guides/batch-payments-vault-migration/landing.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
> WARNING
>
> Contacto comercial requerido
>
> Sólo puedes integrar este producto si tu contacto comercial te compartió toda la información necesaria para hacerlo.

---
content_section_with_media:
- title: Batch Payments
- message: Batch Payments de Mercado Pago es una solución práctica y segura para la realización de pagos en masa. Con esta herramienta, las empresas pueden gestionar pagos recurrentes sin la necesidad de integraciones complejas con APIs, simplificando el proceso de transacciones financieras. La funcionalidad permite generar y gestionar la recurrencia de los pagos al importar archivos .csv enviados a un servidor SFTP, haciendo que la gestión financiera sea más eficiente y simplificada. Mercado Pago procesa estos pagos a través de la multiadquirencia y devuelve un archivo que presenta el estado de cada pago realizado, proporcionando un control claro y detallado de las operaciones financieras.
- media_image: /batch-payments/landing1.png
- highlight_countries: mla, mlu, mlm, mpe, mco, mlc
- country_title: Disponibilidad por país
---
---
bullet_section_with_media:
- title: Ventajas
- type: reverse
- message:
- image: /batch-payments/landing2.png
- benefit_title: Pagos en masa
- benefit_message: Batch Payments permite que las empresas procesen grandes volúmenes de pagos simultáneamente, ahorrando tiempo y esfuerzo al gestionar transacciones a gran escala.
- benefit_title: Disponibilidad 24/7
- benefit_message: Batch Payments no limita los intentos de cobro; pueden realizarse todos los días, más de una vez al día. Esto garantiza más aprobaciones y dinero del cliente en la cuenta de la empresa de forma más rápida.
- benefit_title: Simplificación del proceso
- benefit_message: Sin la necesidad de desarrollar integraciones a través de API, las empresas pueden ahorrar recursos de desarrollo y acelerar la implementación del sistema de pagos.
- benefit_title: Seguridad a través de la tokenización
- benefit_message: Al operar con datos tokenizados (customer_id y card_id) en lugar de información sensible de las tarjetas (PAN), Batch Payments ofrece mayor seguridad en las transacciones.
- benefit_title: Relación 1:N
- benefit_message: Con la estructura de customer_id y card_id, el sistema permite que un vendedor vincule múltiples tarjetas (cards) a un único pagador (customers). Esto es útil en situaciones como migraciones de bóvedas, donde el vendedor puede asociar diversas tarjetas a un mismo pagador, identificado por un correo electrónico.
---
Loading