Manejo de reembolsos, devoluciones de cargo y disputas mediante programación¶
Descripción general¶
4Geeks Payments proporciona herramientas integrales para gestionar reembolsos, devoluciones de cargo y disputas. Como su comerciante registrado, 4Geeks maneja los aspectos de responsabilidad y cumplimiento, pero usted aún necesita administrar la experiencia del cliente y los flujos de trabajo operativos.
En este tutorial, podrás:
- Procesar reembolsos totales y parciales a través de API
- Manejar notificaciones de devolución de cargo
- Gestionar los flujos de trabajo de resolución de disputas.
- Configurar políticas de reembolso automatizadas
- Monitorear las métricas de reembolsos y disputas.
Paso 1: Procesar reembolsos¶
Reembolso completo¶
const refund = await axios.post(
`https://api.4geeks.io/v1/charges/${chargeId}/refunds`,
{
reason: 'requested_by_customer'
// No amount = full refund
},
{
headers: { 'Authorization': `Bearer ${SECRET_KEY}` }
}
);
console.log('Refund processed:', refund.data);
// ref_xxxxxxxxxxxxx
Reembolso parcial¶
const partialRefund = await axios.post(
`https://api.4geeks.io/v1/charges/${chargeId}/refunds`,
{
amount: 2500, // $25.00 in cents
reason: 'product_defective'
},
{
headers: { 'Authorization': `Bearer ${SECRET_KEY}` }
}
);
Motivos del reembolso¶
| Razón | Descripción |
|---|---|
solicitado_por_cliente | Cliente solicitó el reembolso |
duplicado | Se realizó cargo duplicado |
fraudulento | El cargo no fue autorizado |
producto_defectuoso | El producto estaba defectuoso o no se corresponde con la descripción |
servicio_no_entregado | No se proporcionó el servicio |
suscripción_cancelada | La suscripción fue cancelada |
Reembolsos múltiples con el mismo cargo¶
Puedes procesar múltiples reembolsos parciales con un solo cargo:
// First partial refund: $25
await axios.post(`https://api.4geeks.io/v1/charges/${chargeId}/refunds`, {
amount: 2500,
reason: 'product_defective'
}, { headers: { 'Authorization': `Bearer ${SECRET_KEY}` } });
// Second partial refund: $15
await axios.post(`https://api.4geeks.io/v1/charges/${chargeId}/refunds`, {
amount: 1500,
reason: 'shipping_delay'
}, { headers: { 'Authorization': `Bearer ${SECRET_KEY}` } });
// Total refunded: $40 of original $100 charge
Paso 2: Manejar las devoluciones de cargo¶
Eventos de webhook de devolución de cargo¶
Cuando se produce una devolución de cargo, recibirás una notificación de webhook:
// In your webhook handler
switch (event.type) {
case 'chargeback.created':
// Customer disputed the charge with their bank
console.log('Chargeback created:', event.data);
// Gather evidence: order details, delivery confirmation, communication
submitChargebackEvidence(event.data.chargeback_id, evidence);
break;
case 'chargeback.updated':
// Status changed (under review, evidence submitted, etc.)
console.log('Chargeback updated:', event.data);
break;
case 'chargeback.won':
// You won the dispute — funds returned
console.log('Chargeback won:', event.data);
updateOrderStatus(event.data.charge_id, 'chargeback_won');
break;
case 'chargeback.lost':
// You lost the dispute — funds deducted
console.log('Chargeback lost:', event.data);
updateOrderStatus(event.data.charge_id, 'chargeback_lost');
break;
}
Envío de evidencia de contracargo¶
const evidence = await axios.post(
`https://api.4geeks.io/v1/chargebacks/${chargebackId}/evidence`,
{
// Evidence types
product_description: 'Detailed description of the product/service',
customer_communication: 'Email/chat logs showing customer agreement',
delivery_confirmation: 'Tracking number and delivery confirmation',
customer_signature: 'Signed delivery receipt (if applicable)',
cancellation_policy: 'Link to your refund/cancellation policy',
service_logs: 'Server logs showing service was provided',
additional_evidence: 'Any other relevant documentation'
},
{
headers: { 'Authorization': `Bearer ${SECRET_KEY}` }
}
);
Cronograma de devolución de cargo¶
| Etapa | Tiempo | Acción requerida |
|---|---|---|
| Devolución de cargo presentada | Día 0 | Recibir notificación, reunir pruebas |
| Fecha límite de presentación de pruebas | Día 7-14 | Presentar todas las pruebas antes de la fecha límite |
| Revisión bancaria | Día 14-30 | Espere la decisión del banco |
| Decisión | Día 30-60 | Recibir notificación de victoria/perdida |
| Representación | Día 60-75 | Opcional: impugnar la decisión |
Paso 3: Gestionar disputas¶
Disputa versus devolución de cargo¶
| Aspecto | Disputa | Devolución de cargo |
|---|---|---|
| Iniciado por | El cliente se comunica con usted directamente | Cliente contacta con su banco |
| Resolución | Resuelves con el cliente | Banco decide el resultado |
| Tarifas | Sin cargos adicionales | Se aplica una tarifa de devolución de cargo |
| Cronología | Inmediato | 30-75 días |
| Controlar | Control total | Control limitado |
Prevención proactiva de disputas¶
// Set up automated refund for high-risk situations
const charge = await axios.get(
`https://api.4geeks.io/v1/charges/${chargeId}`,
{ headers: { 'Authorization': `Bearer ${SECRET_KEY}` } }
);
// If customer requests refund, process it immediately
// to prevent chargeback
if (charge.data.customer_complaint === true) {
await axios.post(
`https://api.4geeks.io/v1/charges/${chargeId}/refunds`,
{ reason: 'requested_by_customer' },
{ headers: { 'Authorization': `Bearer ${SECRET_KEY}` } }
);
}
Paso 4: Configurar políticas de reembolso automatizadas¶
Reglas de reembolso automático¶
Configura reembolsos automáticos según condiciones:
// Example: Auto-refund if subscription canceled within trial period
const subscription = await axios.get(
`https://api.4geeks.io/v1/subscriptions/${subId}`,
{ headers: { 'Authorization': `Bearer ${SECRET_KEY}` } }
);
if (subscription.data.trial_period &&
subscription.data.days_active <= subscription.data.trial_period_days) {
// Auto-refund the first charge
await axios.post(
`https://api.4geeks.io/v1/charges/${subscription.data.latest_charge_id}/refunds`,
{ reason: 'subscription_canceled' },
{ headers: { 'Authorization': `Bearer ${SECRET_KEY}` } }
);
}
Configuración de la política de reembolso¶
- Vaya a Pagos → Configuración → Reembolsos
- Configurar:
- Ventana de reembolso automático: período de tiempo para reembolsos automáticos (por ejemplo, 14 días)
- Se permite reembolso parcial: Sí/No
- Tiempo de procesamiento del reembolso: Instantáneo, 1-3 días, 5-10 días
- Configuración de notificaciones: envía un correo electrónico al cliente sobre el reembolso
Paso 5: Supervisar las métricas de reembolsos y disputas¶
Métricas del panel¶
| Métrica | Descripción | Objetivo |
|---|---|---|
| Tasa de reembolso | % de transacciones reembolsadas | <5% |
| Tasa de contracargo | % de transacciones impugnadas | <1% |
| Tasa de ganancias de contracargo | % de devoluciones de cargo ganadas | >60% |
| Monto promedio de reembolso | Valor medio de reembolso | Seguimiento de tendencia |
| Tiempo de procesamiento del reembolso | Tiempo medio de tramitación | <24 horas |
Informes de acceso¶
- Vaya a Pagos → Análisis → Reembolsos y disputas
- Ver paneles en tiempo real
- Filtrar por rango de fechas, producto y motivo
- Exportar informes para análisis
Mejores prácticas¶
Gestión de reembolsos¶
- Procesar reembolsos rápidamente: los reembolsos rápidos evitan devoluciones de cargos
- Comuníquese con claridad: informe a los clientes cuándo esperar su reembolso
- Documente todo: mantenga registros de todas las solicitudes de reembolso y su procesamiento.
- Analizar patrones de reembolso: identifique productos o servicios con altas tasas de reembolso
Prevención de contracargos¶
- Descripciones claras de los productos: evite afirmaciones engañosas
- Proceso de reembolso sencillo: haga que sea más fácil reembolsar que disputar
- Confirmación de entrega: proporcione siempre el seguimiento y el comprobante de entrega
- Comunicación con el cliente: responda a las quejas antes de que escale
Resolución de disputas¶
- Responder rápidamente: abordar las quejas de los clientes dentro de las 24 horas
- Sea justo: ofrezca soluciones razonables antes de que se produzcan devoluciones de cargo
- Interacciones de documentos: mantenga registros de todas las comunicaciones con los clientes.
- Aprende de las disputas: utiliza los datos de las disputas para mejorar productos y procesos
¿Qué sigue?¶
- Obtenga más información sobre Pago multidivisa
- Lea acerca de 3D Secure para la prevención del fraude
¿Necesitas ayuda?¶
- Documentación: docs.4geeks.io/es/pagos
- Referencia de API: docs.4geeks.io/en/api
- Soporte: disponible a través del panel de la consola
Aún con dudas? Pregunta en Discord o explore tutoriales