Cómo emitir facturas Verifactu con MemberPress y Stripe

Isaac Mayolas
Isaac Mayolas
Chief Technology Officer
Última actualización: 02/jun/2026

Si utilizas MemberPress para vender suscripciones, cursos o una zona privada en WordPress, puedes cobrar a tus clientes sin problema. MemberPress gestiona el alta, restringe el acceso y envía el recibo del pago.

Pero ese recibo no es una factura oficial Verifactu.

Para emitir facturas válidas en España necesitas que cada venta sea procesada con un software de facturación compatible con Verifactu.

En esta guía te mostramos cómo adaptar MemberPress a Verifactu a través de Stripe y EasyVerifactu.

El proceso tiene cuatro partes:

  1. Conectar MemberPress con Stripe para procesar los cobros.
  2. Conectar EasyVerifactu con Stripe para emitir facturas Verifactu.
  3. Añadir (opcionalmente) el campo NIF en el flujo de pago de MemberPress.
  4. Guardar el NIF en el objeto Customer de Stripe mediante un código PHP personalizado.

Vamos paso a paso.

1. Conecta MemberPress con Stripe

Si ya usas Stripe con MemberPress, puedes saltar al siguiente paso.

Si todavía no lo has hecho, conecta Stripe desde el panel de WordPress:

  1. Entra en MemberPress > Settings > Payments.
  2. Añade Stripe como método de pago.
  3. Pulsa el botón de conexión con Stripe.
  4. Autoriza la cuenta de Stripe donde quieras recibir los cobros.
  5. Haz un pago de prueba para comprobar que MemberPress crea correctamente el cliente y el cobro en Stripe.

MemberPress tiene documentación oficial sobre su integración con Stripe por si necesitas revisar la configuración exacta de tu versión.

2. Conecta EasyVerifactu con Stripe

Ahora conecta EasyVerifactu con esa misma cuenta de Stripe.

  1. Crea tu cuenta en EasyVerifactu, si todavía no la tienes.

  2. Entra en la aplicación. Accederás al modo de prueba. Ve a Integraciones > Añadir integración.

  3. Selecciona Stripe y sigue el proceso de autorización.

  4. Selecciona el subproducto Stripe Invoices.

Listo. EasyVerifactu capturará automáticamente las facturas de Stripe y generará la factura Verifactu oficial correspondiente. La guía de instalación de Stripe cubre el proceso completo si quieres verlo con más detalle.

3. Añade un campo de NIF en MemberPress

Este paso solo es necesario si quieres emitir facturas completas con identificador fiscal.

Si un cliente no deja NIF, EasyVerifactu puede emitir una factura simplificada cuando la operación lo permite. Pero si frecuentemente vendes a empresas o autónomos, es mejor pedir el dato en el alta y no perseguirlo después por email.

En MemberPress, añade un campo personalizado al formulario de pago. Puede llamarse NIF / DNI / CIF o algo similar. Si la mayoría de tus clientes son empresas, márcalo como obligatorio. Si vendes sobre todo a particulares, puedes dejarlo opcional.

Para esta guía usaremos este slug:

mepr_dni_o_nif_cif

Si usas otro slug, tendrás que cambiarlo también en el snippet del siguiente paso.

Con esto, el NIF queda guardado en WordPress. Falta llevarlo a Stripe.

4. Guarda el NIF en el Customer de Stripe

EasyVerifactu lee el identificador fiscal desde Stripe usando esta clave de metadatos:

ev_recipient_tax_id

Para suscripciones y renovaciones, lo más práctico es guardar esa clave en el Customer de Stripe. Así el dato queda asociado al cliente y sirve también para los siguientes cobros.

Pega este snippet en el functions.php de tu tema hijo o en un plugin tipo Code Snippets:

add_filter('mepr-stripe-create-customer-args', 'ev_set_fiscal_id_on_stripe_customer', 10, 2);

function ev_set_fiscal_id_on_stripe_customer($args, $user) {
  $fiscal_id = '';

  if (!empty($_POST['mepr_dni_o_nif_cif'])) {
    $fiscal_id = sanitize_text_field(wp_unslash($_POST['mepr_dni_o_nif_cif']));
  }

  if (empty($fiscal_id) && !empty($user->ID)) {
    $fiscal_id = get_user_meta($user->ID, 'mepr_dni_o_nif_cif', true);
  }

  if (!empty($fiscal_id)) {
    $args['metadata'] = $args['metadata'] ?? [];
    $args['metadata']['ev_recipient_tax_id'] = $fiscal_id;
  }

  return $args;
}

La clave debe llamarse exactamente ev_recipient_tax_id. No uses nif, dni, cif o tax_id, porque EasyVerifactu no lee esas claves.

También es importante guardarlo en el objeto Customer de Stripe. Si lo pones solo en una factura concreta de Stripe (la documentación de EasyVerifactu lo permite), esa factura puede salir bien, pero las siguientes renovaciones no tienen por qué heredar el NIF.

MemberPress cambia con el tiempo, así que comprueba que tu versión sigue usando el filtro mepr-stripe-create-customer-args. Si no se dispara, el objetivo es el mismo: añadir el metadato cuando MemberPress crea el Customer de Stripe.

5. Haz una prueba

Antes de activarlo en producción, haz un alta de prueba.

  1. Accede al entorno de pruebas de EasyVerifactu.
  2. Crea un alta en MemberPress rellenando el campo NIF.
  3. Abre Stripe y comprueba que el Customer creado contiene ev_recipient_tax_id en sus metadatos.
  4. Revisa en EasyVerifactu que se ha generado la factura con ese identificador fiscal.

Si ves el NIF en Stripe y después en la factura de EasyVerifactu, ya tienes el circuito listo.

6. Activa el "modo real" de EasyVerifactu

Hasta este punto has trabajado en el entorno de pruebas. Las facturas que se generan ahí sirven para validar la integración, pero no se envían a la AEAT.

Cuando hayas comprobado que el circuito funciona, activa el modo real desde EasyVerifactu:

  1. Pulsa Activar modo real desde la barra superior de la aplicación.
  2. Revisa los datos fiscales reales de tu empresa o actividad.
  3. Copia la integración de Stripe que ya has probado.
  4. Indica desde qué fecha quieres empezar a emitir facturas Verifactu reales.
  5. Elige tu plan y completa el alta.

Antes de hacer el primer cobro real, comprueba también que MemberPress está usando Stripe en modo real y no las claves de prueba. A partir de ahí, los cobros reales de Stripe generarán facturas reales en EasyVerifactu.

Casos habituales

  • Renovaciones: quedan cubiertas si el NIF está guardado en el Customer de Stripe.
  • Clientes antiguos: no se actualizan solos. Tendrás que añadirles ev_recipient_tax_id manualmente o por API.
  • Clientes sin NIF: pueden generar factura simplificada cuando la operación lo permite. Si quieres ver la diferencia, tenemos una guía sobre facturas simplificadas y completas.
  • Pagos por PayPal u otra pasarela: no entran en esta integración. Si quieres automatizar Verifactu con MemberPress, nuestra recomendación es centralizar los pagos en Stripe.

Resumen

Hacer MemberPress compatible con Verifactu no requiere cambiar tu WordPress entero. La idea es sencilla: MemberPress cobra con Stripe, y EasyVerifactu factura desde Stripe.

Solo tienes que conectar las dos herramientas a la misma cuenta de Stripe y, si necesitas facturas completas, guardar el NIF del cliente en el Customer con la clave ev_recipient_tax_id.

Si tienes dudas con tu caso concreto, puedes contactar con nosotros y te echamos una mano.