apiCEP
    Volver al blog

    Despacha el mismo día: verifica pagos SPEI automáticamente en tu tienda de refacciones con apiCEP

    El vehículo está desarmado en el taller. La pieza tiene que llegar hoy.

    Cuando alguien busca una junta homocinética, un balero de rueda o una flecha de transmisión en línea, no está haciendo una compra de capricho. Detrás del pedido hay un vehículo fuera de servicio — y en muchos casos, un taller mecánico que ya le prometió a su cliente tener el coche listo.

    Ese comprador elige pagar por transferencia bancaria: llena el formulario de "Notificar Pago", captura su número de pedido, selecciona el banco, escribe el monto y la referencia, sube el recibo. Y espera.

    Mientras espera, el almacén espera también. Nadie puede preparar el pedido hasta que alguien del equipo revise la notificación, confirme el depósito y dé la señal de despacho.

    Con apiCEP, esa señal llega en segundos — automáticamente, sin que nadie revise nada.


    Por qué las refacciones online tienen urgencias que otros eCommerce no tienen

    Las tiendas de autopartes y piezas mecánicas operan bajo una presión de tiempo que no existe en joyería, moda o electrónica de consumo:

    Un vehículo parado tiene costo por hora. Si el automóvil es de trabajo — taxi, Uber, camioneta de reparto, transporte escolar — cada hora que permanece fuera de circulación representa ingresos perdidos. El comprador no está siendo impaciente: está midiendo pérdidas reales.

    El taller tiene su propio cliente esperando. Muchos compradores de refacciones no son el dueño del vehículo: son talleres mecánicos que ya comprometieron una fecha de entrega. Si la pieza no llega a tiempo, el taller pierde credibilidad frente a su cliente, independientemente de quién causó el retraso.

    La ventana de despacho el mismo día es limitada. Las tiendas que ofrecen envío en el día tienen una hora de corte — después de esa hora, el pedido sale al día siguiente. Si el comprobante llega a las 11am pero no se procesa hasta las 3pm, el pedido se retrasa 24 horas aunque el pago estuviera correcto desde el principio.

    Los pedidos de talleres son frecuentes y de volumen. Un taller mecánico que tiene buena experiencia con un proveedor centraliza sus compras ahí. Si el primer pedido tardó en confirmarse, el taller busca otro proveedor la próxima vez.


    Los puntos de falla del formulario manual de notificación de pago

    El formulario de notificación resuelve el problema de comunicación — el comprador informa que ya pagó. Pero la confirmación sigue dependiendo de una persona:

    • Monto capturado incorrectamente. El cliente escribió 2340 en lugar de 2340.50, o no incluyó el costo de envío. El equipo busca un depósito que no coincide exactamente.
    • Banco equivocado en el formulario. El cliente seleccionó BBVA pero transfirió desde Santander. La búsqueda en la cuenta incorrecta retrasa la confirmación.
    • Recibo ilegible o comprobante modificado. Una imagen recortada, un PDF con campos editados, o una captura de pantalla de baja resolución pasan la revisión visual sin levantar alertas.
    • Pico de pedidos simultáneos. Cuando llegan 10 notificaciones al mismo tiempo, todas esperan en cola. El pedido urgente espera igual que los pedidos sin prisa.
    • Fin de semana o día festivo. Un pago hecho el sábado por la tarde puede no procesarse hasta el lunes — y el vehículo sigue parado el fin de semana completo.

    apiCEP elimina todos estos puntos de falla consultando directamente a Banxico.


    Cómo funciona apiCEP en una tienda de refacciones

    apiCEP valida la imagen del comprobante SPEI contra Banxico en menos de 10 segundos. En lugar de esperar a que alguien revise la notificación, el sistema la procesa automáticamente en cuanto llega el recibo.

    El nuevo flujo:

    1. El cliente completa el pedido y elige pago por transferencia.
    2. La tienda muestra la CLABE y los datos bancarios.
    3. El cliente transfiere y sube el comprobante en el formulario de notificación.
    4. El sistema envía la imagen a apiCEP automáticamente.
    5. apiCEP consulta Banxico: el pago es real, el monto es correcto, la transferencia está liquidada.
    6. Si el pago es válido:
      • El pedido cambia a "Pago confirmado" automáticamente.
      • El almacén recibe la orden de preparar la pieza.
      • Si la confirmación llega antes de la hora de corte, el pedido entra a despacho del mismo día.
      • El cliente recibe confirmación por correo con número de guía.

    Sin revisión manual. Sin demoras por picos de notificaciones. Sin errores por datos capturados incorrectamente.


    La integración técnica: endpoint único, respuesta estructurada

    curl -X POST https://api.apicep.cloud/validate-transfer \\
      -H \"Authorization: Bearer TU_API_KEY\" \\
      -H \"Content-Type: application/json\" \\
      -d '{
        \"imageUrl\": \"https://tutienda.com/uploads/recibo-pedido-9912.jpg\",
        \"beneficiary\": {
          \"clabe\": \"TU_CLABE_18_DIGITOS\",
          \"bank\": \"BANAMEX\",
          \"name\": \"CDG Comercializadora S.A. de C.V.\"
        }
      }'
    

    Respuesta completa para confirmar el pedido y activar el despacho:

    {
      \"validationId\": \"d4e5f6a7-b8c9-0123-defa-234567890123\",
      \"status\": \"valid\",
      \"confidence\": 0.98,
      \"extracted\": {
        \"amount\": 2340.50,
        \"senderName\": \"Taller Mecánico Hernández S.A. de C.V.\",
        \"date\": \"2026-05-03\"
      },
      \"validation\": {
        \"banxicoConfirmed\": true,
        \"cepStatus\": \"LIQUIDADA\"
      },
      \"cepDetails\": {
        \"operationDate\": \"2026-05-03T09:05:44\",
        \"trackingKey\": \"2026BNAM0000118833\",
        \"senderBank\": \"BANAMEX\",
        \"senderName\": \"Taller Mecánico Hernández S.A. de C.V.\",
        \"senderRfc\": \"TMH991203ABC\",
        \"amount\": 2340.50
      },
      \"downloads\": {
        \"cepPdf\": \"https://api.apicep.cloud/files/cep-xxx.pdf\",
        \"cepXml\": \"https://api.apicep.cloud/files/cep-xxx.xml\"
      }
    }
    

    Regla crítica: verificar siempre status === \"valid\", validation.banxicoConfirmed === true y extracted.amount >= pedido.total antes de confirmar y despachar.

    El campo cepStatus: \"LIQUIDADA\" es el estatus oficial de Banxico — confirma que la transferencia está completamente procesada, no solo en tránsito. Documentación completa en apicep.cloud/documentacion.


    Lógica de confirmación y despacho automático

    async function procesarNotificacionPago(pedidoId, imageUrl) {
      const pedido = await getPedido(pedidoId);
    
      const result = await fetch('https://api.apicep.cloud/validate-transfer', {
        method: 'POST',
        headers: { 'Authorization': `Bearer ${process.env.APICEP_API_KEY}` },
        body: JSON.stringify({
          imageUrl,
          beneficiary: {
            clabe: process.env.TU_CLABE,
            bank:  process.env.TU_BANCO,
            name:  process.env.TU_NOMBRE
          }
        })
      }).then(r => r.json());
    
      const pagoValido =
        result.status === 'valid' &&
        result.validation?.banxicoConfirmed === true &&
        result.extracted?.amount >= pedido.total;
    
      if (pagoValido) {
        await actualizarPedido(pedidoId, {
          status:       'pago_confirmado',
          validationId: result.validationId,
          cepStatus:    result.validation.cepStatus,   // \"LIQUIDADA\"
          trackingKey:  result.cepDetails?.trackingKey,
          senderRfc:    result.cepDetails?.senderRfc   // para facturación automática
        });
    
        // Lógica de ventana de despacho mismo día (corte: 2pm)
        const hora = new Date().getHours();
        if (hora < 14) {
          await agregarColaDespachoSameDia(pedidoId);
          await alertarAlmacen(pedidoId, { prioridad: 'urgente' });
        } else {
          await programarDespachoSiguienteDia(pedidoId);
        }
    
        await enviarConfirmacionCliente(pedido.email, pedidoId);
        await guardarCEP(pedidoId, result.downloads); // respaldo oficial Banxico
    
      } else if (result.status === 'pending') {
        await notificarCliente(pedido.email,
          '⏳ Tu transferencia está en proceso. Te confirmamos en cuanto Banxico la liquide.'
        );
        await programarReintento(pedidoId, imageUrl, 300);
      } else {
        await notificarCliente(pedido.email,
          '❌ No pudimos verificar tu comprobante. Asegúrate de subir la imagen completa y legible.'
        );
      }
    }
    

    El senderRfc — el dato que acelera la facturación a talleres

    Prácticamente todos los talleres mecánicos y empresas de flotillas que compran refacciones necesitan factura con CFDI. El campo cepDetails.senderRfc que devuelve apiCEP contiene el RFC del titular de la cuenta bancaria que realizó el pago — el mismo RFC que el comprador usará para solicitar la factura.

    Usos concretos en una tienda de autopartes:

    • Pre-llenar el formulario de facturación automáticamente con el RFC del pagador al confirmar el pedido.
    • Validar que el RFC de facturación coincide con el RFC del pagador — un control que evita que alguien pague con la cuenta de otra persona y pida factura con su RFC.
    • Registrar al taller como cliente recurrente con su RFC ya verificado desde el primer pedido — sin pedirle el dato en cada compra futura.

    Integración con WooCommerce sin rediseñar el formulario actual

    El formulario de "Notificar Pago" actual puede mantenerse exactamente igual del lado del cliente. Solo se agrega la llamada a apiCEP en el backend del plugin de formularios:

    add_action('wpcf7_mail_sent', 'validar_pago_refaccion');
    
    function validar_pago_refaccion($contact_form) {
        $submission  = WPCF7_Submission::get_instance();
        $data        = $submission->get_posted_data();
        $uploads     = $submission->uploaded_files();
        $pedido_id   = sanitize_text_field($data['numero-pedido'] ?? '');
        $recibo_url  = obtener_url_temporal($uploads['recibo'][0] ?? '');
    
        if (!$recibo_url || !$pedido_id) return;
    
        $response = wp_remote_post('https://api.apicep.cloud/validate-transfer', [
            'headers' => [
                'Authorization' => 'Bearer ' . APICEP_API_KEY,
                'Content-Type'  => 'application/json',
            ],
            'body' => json_encode([
                'imageUrl'    => $recibo_url,
                'beneficiary' => [
                    'clabe' => TU_CLABE,
                    'bank'  => 'BANAMEX',
                    'name'  => 'CDG Comercializadora S.A. de C.V.'
                ]
            ])
        ]);
    
        $result = json_decode(wp_remote_retrieve_body($response), true);
    
        if (
            ($result['status'] ?? '') === 'valid' &&
            ($result['validation']['banxicoConfirmed'] ?? false) === true
        ) {
            $order = wc_get_order($pedido_id);
            if ($order) {
                $order->update_status(
                    'processing',
                    'Pago SPEI verificado. CEP: ' . $result['cepDetails']['trackingKey'] .
                    ' | RFC: ' . ($result['cepDetails']['senderRfc'] ?? 'N/D')
                );
                $order->update_meta_data('_apicep_validation_id', $result['validationId']);
                $order->update_meta_data('_apicep_sender_rfc',    $result['cepDetails']['senderRfc'] ?? '');
                $order->save();
            }
        }
    }
    

    Comparativa: notificación manual vs. confirmación automática con apiCEP

    | Aspecto | Notificación manual | Con apiCEP |
    |---|---|---|
    | Tiempo entre recibo y pedido confirmado | 1–6 horas | Menos de 15 segundos |
    | Riesgo de comprobante editado o falso | Alto | Eliminado — Banxico confirma |
    | Datos capturados incorrectamente (monto, banco) | Causan retrasos de búsqueda | apiCEP extrae los datos reales del comprobante |
    | Pedidos del fin de semana o festivos | Represados hasta el lunes | Procesados en tiempo real, 24/7 |
    | Despacho el mismo día | Solo si alguien procesa a tiempo | Automático dentro de la ventana horaria |
    | RFC del pagador disponible | No | Sí — senderRfc del CEP oficial |
    | CEP oficial XML + PDF por pedido | No | Sí — descargable 15 días |
    | cepStatus: \"LIQUIDADA\" | No disponible | Estatus definitivo de Banxico |


    Planes sin contratos ni mensualidades forzosas

    | Plan | Precio | Validaciones | Costo por pedido |
    |---|---|---|---|
    | Bienvenida | Gratis | 50 | — |
    | Básico | $100 MXN | 200 | $0.50 MXN |
    | Premium | $200 MXN | 800 | $0.25 MXN |
    | Business | $400 MXN | 1,600 | $0.25 MXN |

    Para una tienda de refacciones con 100 pedidos mensuales por transferencia, el plan Básico cubre la operación completa a $0.50 MXN por validación — $50 MXN al mes para eliminar toda la revisión manual y garantizar despacho el mismo día en cada pedido que llega antes del corte.


    Empieza con 50 validaciones gratuitas

    Si tu tienda de autopartes o refacciones hoy espera a que alguien revise el comprobante antes de confirmar el pedido y dar la señal de despacho, apiCEP puede automatizar ese proceso desde hoy.

    Crea tu cuenta en apicep.cloud — las primeras 50 validaciones son sin costo. Sin RFC. Sin contrato. Prueba con pedidos reales de tu operación actual antes de comprometerte con cualquier plan.