Gestionar contracargos
Al recibir una notificación de inicio de contracargo, utiliza los datos proporcionados para ayudar en la gestión del proceso. Estos datos serán fundamentales para preparar y enviar la documentación necesaria para la disputa.
En esta etapa, analiza la información detallada incluida en la notificación para comprender los aspectos específicos del contracargo. A continuación, presentamos un diagrama que ilustra cómo funciona el flujo de envío y recepción de la documentación:
sequenceDiagram
participant MerchantServer as Merchant Server
participant MercadoPagoAPI as Mercado Pago API
MerchantServer->>MercadoPagoAPI: Chargeback notification
MercadoPagoAPI-->>MerchantServer: HTTP 200
MerchantServer->>MercadoPagoAPI: GET Chargeback
MercadoPagoAPI-->>MerchantServer: Chargeback response
MerchantServer->>MercadoPagoAPI: Upload documentation
MercadoPagoAPI-->>MerchantServer: HTTP 200
MerchantServer->>MercadoPagoAPI: Chargeback update
MercadoPagoAPI-->>MerchantServer: HTTP 200
Consultar contracargo
Inicia el proceso consultando la información del contracargo utilizando el id o case_id proporcionado en el cuerpo de la notificación.
A partir de los detalles obtenidos, será posible evaluar si hay necesidad de enviar la documentación para dar continuidad al contracargo.
Para consultar más información sobre el contracargo, envía un GET al endpoint /v1/chargebacks/{id}API, sustituyendo el campo id por el id o case_id del contracargo proporcionado en el body de la notificación:
curl
curl --location --globoff 'https://api.mercadopago.com/v1/chargebacks/{id}' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{access_token}}'
A continuación, compartimos un ejemplo de respuesta a la solicitud:
json
{ "id": "234000062890459000", "payments": [ 86439942806 ], "currency": "ARS", "amount": 1000.50, "reason": "general", "coverage_applied": true, "coverage_elegible": true, "documentation_required": false, "documentation_status": "not_supplied", "documentation": [], "date_documentation_deadline": null, "date_created": null, "date_last_updated": "2024-10-17T12:48:24.000-04:00", "live_mode": true }
El campo coverage_elegible indica si la transacción es elegible para cobertura de Mercado Pago en caso de que el contracargo sea resuelto en contra del vendedor.
| Valor | Descripción |
true | La transacción es elegible para cobertura de Mercado Pago. |
false | La transacción no es elegible para cobertura de Mercado Pago. |
El campo documentation_status indica el estado actual de la documentación asociada al contracargo.
| Valor | Descripción |
not_supplied | No se ha enviado documentación para el contracargo. |
review_pending | La documentación fue enviada y está pendiente de revisión. |
Enviar documentación para contracargo
En la respuesta a la consulta realizada para obtener más información sobre el contracargo, se indicará si debe enviar la documentación necesaria para contestarlo. Solo necesitará hacerlo si el campo documentation_required es true y el campo date_documentation_deadline indica una fecha futura.
Cuando documentation_required es false, Mercado Pago resolverá el contracargo automáticamente sin necesidad de que envíes documentación. En este caso, solo debes aguardar la notificación Webhook con el resultado de la resolución.
En esta etapa, podrás enviar la documentación que demuestre que la venta es válida a través del siguiente POST:
plain
curl -X POST \ -F 'files[]=@/path/to/file/file1.png' \ -F 'files[]=@/path/to/file/file2.pdf' \ -H 'Authorization: Bearer {{access_token}}' https://api.mercadopago.com/v1/chargebacks/{id}/documentation
Si los archivos se envían con éxito, la API devolverá un código HTTP 200 y el documentation_status del contracargo cambiará a review_pending.
Después de recibir la documentación, Mercado Pago actúa como mediador en el proceso de resolución del contracargo. El análisis se inicia junto a la marca de la tarjeta, que luego envía la documentación recibida al banco emisor. Una vez que el análisis del banco se completa, se determina la resolución del contracargo y se notifica a las partes involucradas.
Espera la notificación Webhook referente a la resolución y verifica nuevamente el contracargo utilizando el endpoint /v1/chargebacks/{id}API"}. Después de la resolución, el campo coverage_applied indicará el resultado y asumirá uno de los valores posibles:
| Valor | Descripción |
true | Indica que la decisión fue a favor del vendedor y el dinero será devuelto. |
false | Indica que la decisión fue en contra del vendedor y el dinero será descontado. |
Estado de la transacción
Cuando se inicia un contracargo, el estado del pago asociado se ve directamente afectado. Inicialmente, el status cambia a charged_back y el status_detail a in_process. Después de la conclusión del análisis del contracargo, ya sea por la decisión del banco emisor, la determinación de la elegibilidad para cobertura por parte de Mercado Pago o la ausencia de documentación proporcionada, el status_detail del pago se actualizará a settled o reimbursed. En transacciones con Split de Pagos 1:N, cuando el status_detail es settled, el valor del contracargo es debitado de la cuenta de cada participante de forma proporcional a su parte en la transacción.
| Status | status_detail | Descripción |
charged_back | in_process | Contracargo recibido. La disputa del pago está en progreso, esperando una decisión final. |
charged_back | settled | Decisión en contra del vendedor. Dinero retirado de la cuenta del vendedor. |
charged_back | reimbursed | Decisión favorable al vendedor. Dinero reembolsado a la cuenta del vendedor. |
Existe una correspondencia directa entre coverage_applied y status_detail: cuando status_detail es settled, el valor de coverage_applied será false; cuando status_detail es reimbursed, el valor de coverage_applied será true.
