Skip to content
Atrás

Planteamos un sistema de donaciones con Gravity Forms y pagos recurrentes

Actualizado:
Editar página

En este proyecto teníamos un objetivo claro: permitir que cualquier persona pudiera apadrinar un perro pagando una cuota mensual, y que cada perro solo pudiera tener un padrino activo al mismo tiempo.

Lo principal era que todo el proceso fuese automático:

A continuación explico cómo estructuramos el sistema.

Herramientas utilizadas

Estructura del contenido

Creamos un nuevo CPT llamado perros.

Este tipo de contenido es un tipo de post que representa a cada perro.

Campos ACF añadidos al CPT:

CampoTipoDescripción
apadrinatBooleanoIndica si el perro está padrinado
nom_padriTextoNombre de la persona que apadrina
subscription_idTextoPara guardar el ID de la suscripción

Con esto ya podemos controlar el estado de cada perro en tiempo real.

Flujo del sistema

  1. El usuario visita la ficha de un perro.

  2. Comprobamos si tiene el campo apadrinat marcado.

  3. Si NO está apadrinado:

    • Mostramos el formulario de Gravity Forms.
  4. Si YA está apadrinado:

    • Mostramos un mensaje y el nombre del padrino.
  5. Cuando el usuario completa el formulario, el pago y se crea la suscripción:

    • Marcamos automáticamente apadrinat = true
    • Guardamos el campo nom_padri
    • Ocultamos el formulario de ese perro y, en vez de eso mostramos el nombre del padrino.
  6. Si más adelante la suscripción se cancela:

    • Marcamos apadrinat = false
    • Vaciamos nom_padri
    • El perro vuelve a estar disponible.

Todo esto sucede sin intervención manual.

Snippets que hacen que esto funcione

(No mostramos código todavía, eso lo veremos en el siguiente post.)

SnippetQué hace
Shortcode del formularioMuestra u oculta el formulario según si el perro está apadrinado
Hook al iniciar suscripciónMarca el perro como apadrinado y guarda el nombre del padrino
Hook al cancelar suscripciónLibera el perro para que pueda ser apadrinado de nuevo
Shortcode para listasMuestra el nombre del padrino bajo la foto del perro en los listados

Gracias a esto conseguimos que el sistema sea 100% autónomo.

Conclusión

Con Gravity Forms, pagos recurrentes y un par de Snippets bien puestos, podemos construir un sistema de apadrinamiento totalmente automático, claro para el usuario y limpio para el cliente.

En el próximo post entraremos snipper por snippet, con el código completo y explicando línea por línea.


Editar página
Comparte:

Anterior
Mostrar un item del menú solo cuando haya algun post activo dentro de un CPT.
Siguiente
Cómo automatizar las donaciones con Gravity Forms y ACF