Skip to main content

Blog de PayForm

Proteja su contenido dentro de un área de miembros de PayForm

Publicado en

PayForm ofrece una forma sencilla de proteger el contenido que presenta a sus clientes usando un área de miembros. De ésta forma, solo la gente que actualmente paga por su producto o servicio podrá ver este contenido. Pese a que puede que sean necesarias algunas habilidades de código para implementar esta solución es su propio sitio, incluimos también un ejemplo listo en PHP de forma que solo deba copiar y pegar en las páginas que desea proteger.

Cómo proteger su contenido usando los parámetros client_id y client_verify

El primer paso es activar un método de protección de contenido en la integración de iFrame de la ventana de administración de contenido. Pese a que POST es el método que se debe usar en la mayoría de los casos, hemos detectado que algunas configuraciones de servidor no permiten solicitudes del tipo POST. Recomendamos que intente primero con POST y ver si provoca alguna disrupción en su servidor.

Una vez que esta opción se encuentre activada, PayForm automáticamente enviará dos parámetros, client_id y client_verify, cada vez que un cliente abre esta sección. Con éstos dos parámetros puede validar si la petición vino realmente de PayForm y si puede mostrar su contenido de forma segura.

Ejemplo de protección de contenido usando PHP

Mostraremos un pequeño ejemplo de como proteger su contenido usando el área de miembros de PayForm y PHP. Este código es muy sencillo por lo que puede simplemente copiarlo y pegarlo en sus páginas de PHP. Sin embargo, con conocimiento de backend puede lograr cosas asombrosas.

<?php
   if (!isset($_REQUEST['client_id']) || !isset($_REQUEST['client_verify'])) {
      die("Este contenido solo está disponible en el área de miembros");
   }
   
   // envíe la información de vuelta a PayForm
   $info = json_decode(file_get_contents("https://app.payform.me/verification/customer?client_id=" . $_REQUEST['client_id'] . "&client_verify=" . $_REQUEST['client_verify']));
   
   if ($info->status == "unverified") {
      die("La verificación ha fallado");
   }

   if ($info->customer->status !== "active" && $info->customer->status !== "trialing") {
      die("Por favor revise el estado de su pago");
   }

   // puede mostrar su contenido de forma segura aquí
   
   

¿Cómo funciona la protección de contenido detrás de escenas?

Ahora la explicación técnica. Lo que éste código realiza, es enviar ambos parámetros, el client_id y el client_verify de vuelta a PayForm, usando GET, al siguiente endpoint:

https://app.payform.me/verification/customer

La forma mas sencilla de hacer esta petición es usando GET (cómo en el ejemplo anterior). Sin embargo, podemos enviar los parámetros usando POST. Volviendo al ejemplo anterior, hicimos una llamada en nuestro backend a la siguiente URL:

https://app.payform.me/verification/customer?client_id=<mi_client_id>&client_verify=<mi_client_verify>

Una vez que enviamos ambos parámetros a éste endpoint, PayForm retornará una respuesta en formato JSON que incluye el estado de verificación de la petición e información relevante sobre nuestro cliente. Por este motivo, recomendamos que llame a este endpoint en el backend.

El formato de esta respuesta es el siguiente:

{
     "status": "verified",
     "customer": {
          "id": "00000000-0000-0000-0000-000000000000",
          "email": "prueba@prueba.com",
          "status": "active",
          "start_date": "2021-01-01 00:00:00",
          "form_information": {
               "Name": "Juan Perez"
          },
          "payment_information": {
               "payment_recurrence": "none",
               "payment_plan": "Plan de prueba",
               "payment_method": "stripe",
               "payment_subscription": "",
               "payment_amount": "99",
               "payment_currency": "usd"
          },
         "test_mode": true
     }
}

En caso que el usuario no pueda ser verificado, la respuesta será diferente. En este caso sería:

{
     "status": "unverified",
     "error": "Causa del error"
}

Siéntase libre de explorar la flexibilidad que la nueva área de miembros tiene para ofrecerle a su negocio. Si tiene cualquier duda o consulta, puede contactar a soporte en cualquier momento.

Únete a emprendedores en más de 30 países

Personas de todo el mundo confían en PayForm para vender servicios y contenido digital en línea.

Inicie una prueba gratuita de 7 días