Inscripción a programas de lealtad de usuarios

La función de registro de lealtad y de acceso les permite a los usuarios buscar tu programa de lealtad y unirse a sus cuentas o acceder a ellas desde la Billetera de Google. Se redireccionará a los usuarios a tu sitio web optimizado para dispositivos móviles con el objetivo de completar el proceso. Después de eso, podrán agregar sus tarjetas a la Billetera de Google.

En esta guía, se proporciona una descripción general de los pasos de implementación necesarios para habilitar tu programa de lealtad para esta función.

Descripción general

Para comenzar, asegúrate de haber configurado tu proyecto con anterioridad y de tener acceso a la API de la Billetera de Google.

Debes seguir estos cuatro pasos para implementar la función de inscripción y acceso a tu programa de lealtad:

  1. Configurar una clase de prueba en la Billetera de Google para probar los flujos de inscripción o acceso
  2. Desarrolla páginas de inscripción o acceso que utilicen la Billetera de Google SharedDataType.
  3. Implementa el rechazo de la tarjeta de lealtad a la Billetera de Google después de la inscripción o el acceso.
  4. Solicita la verificación y la activación.

Configura una clase de prueba en la Billetera de Google

Determina las URLs de inscripción y de acceso, el logotipo de tu programa y los campos de usuario elegidos. Luego, usa los campos anidados discoverableProgram en loyaltyclass para establecer los valores adecuados.

Establece los valores en discoverableProgram para crear una versión en borrador del programa de lealtad habilitado para la inscripción o el acceso. Para asegurarte de que los verificadores puedan ver esta información, verifica que tengan acceso a la Consola de Google Pay y la Billetera de Google. Si quieres obtener detalles para compartir el acceso de tu Google Pay y la Consola de la Billetera con otras personas, consulta Más información sobre la página Usuarios.

Para completar la verificación de la funcionalidad de tu implementación durante el proceso de desarrollo, comunícate con nosotros mediante el widget de asistencia de contacto en la Consola de Google Pay y la Billetera de Google. En la consola, selecciona API de la Billetera de Google en el tema y Acceso/inscripción para lealtad en el subtema.

Desarrolla páginas de inscripción y acceso que utilicen datos del usuario de la Billetera de Google.

Cuando un usuario elige acceder o inscribirse en tu programa de lealtad, se lo dirige a una página personalizada de tu sitio web para completar el proceso de inscripción o acceso. Si un usuario decide inscribirse, la Billetera de Google le solicitará al usuario que apruebe el uso compartido de sus datos contigo.

Debes proporcionar una de las dos páginas, o ambas, que permiten a los usuarios realizar estas acciones.

  1. Una URL de acceso con la que un usuario puede acceder a una cuenta existente.
  2. Una URL de inscripción en la que un usuario puede crear una cuenta nueva.

Tus páginas de inscripción y de acceso deben cumplir con los siguientes requisitos:

  • Ofrece una experiencia del usuario optimizada para dispositivos móviles.
  • Minimiza la cantidad de campos obligatorios durante el proceso de inscripción.
  • Permite que el usuario complete el acceso o la inscripción en una sola página.
  • Usa la encriptación HTTPS con un certificado válido para garantizar que los datos del usuario se transmitan de forma segura.
  • Garantiza al menos un 99.9% de tiempo de actividad de tus páginas de acceso y de inscripción.

Además de los requisitos anteriores, te recomendamos que permitas que los usuarios se inscriban en tu programa de lealtad sin completar ningún formulario o sin mantener la página solo para aceptar las Condiciones del Servicio.

  • Si aprovechas los datos del usuario proporcionados en SharedDataType, puedes crear una cuenta y rechazar de inmediato su tarjeta de lealtad.
  • Luego, puedes enviar por correo electrónico al usuario una contraseña de un solo uso o un vínculo para configurar su contraseña y los detalles opcionales de la cuenta.
  • Esto reduce la probabilidad de que los usuarios abandonen el proceso de inscripción, ya que cada paso adicional puede generar más abandonos.

Cuando presentes la página de registro o acceso, la Billetera de Google creará una WebView de Android y se hará una solicitud POST a la URL que hayas proporcionado. Los datos del usuario se proporcionan en el parámetro SharedDataType, que se incluye en la solicitud POST, mediante el tipo de contenido application/x-www-form-urlencoded y la codificación UTF-8. El valor del parámetro SharedDataType es un objeto JSON codificado en Base64.

Según la acción que elija el usuario y los campos que especifiques para solicitarlo, el objeto JSON puede contener los siguientes campos.

Campo Inscripción Acceso
email
firstName  
lastName  
direcciónLínea [1-3]  
city  
state  
zipcode  
country  
teléfono  

Consulta las siguientes secciones para ver un objeto JSON de muestra decodificado en SharedDataType.

Recurso

{
  "firstName": "Jane",
  "lastName": "Doe",
  "addressLine1": "1600 Amphitheatre Pkwy",
  "addressLine2": "Apt 123",
  "addressLine3": "Attn:Jane",
  "city": "Mountain View",
  "state": "CA",
  "zipcode": "94043",
  "country": "US",
  "email": "jane.doe@example.com",
  "phone": "555-555-5555"
}

Implementa el rechazo inmediato de tarjetas de lealtad a la Billetera de Google

Una vez realizada la autenticación (acceso) o después de la creación de la cuenta (inscripción), tu página debería enviar de inmediato la tarjeta de lealtad del usuario a la Billetera de Google.

Para rechazar la tarjeta de lealtad a la Billetera de Google, redirecciónala a un vínculo que siga la estructura que se indica a continuación.

https://pay.google.com/gp/v/save/{jwt_generated}

La longitud segura de una URL es de 2,000 caracteres. Tus vínculos deben permanecer por debajo de este límite. Los objetos codificados en JWT deben ser pequeños y contener solo datos específicos del usuario. Intenta conservar la mayoría de los datos en la clase del objeto y créalos antes de crear el JWT. En el caso de los objetos más grandes que no se ajustan al límite, considera crear primero el objeto en la API de la Billetera de Google y enviar solo el ID del objeto en el JWT.

Flujo de comunicación típico

En la siguiente imagen, se ilustra el flujo de comunicación para un usuario que completa la inscripción o el acceso. Es tu responsabilidad implementar todas las acciones que se realicen entre “Tu Servidor”.

Flujos de acceso de inscripción

Solicitar verificación y activación

Después de completar el trabajo de desarrollo y probar los flujos de inscripción o acceso, envía una solicitud a través del widget de asistencia de contacto de Google Pay y la Billetera de la Billetera.

Después de una revisión completa de tu implementación que confirme la funcionalidad correcta en combinación con la app de la Billetera de Google, la función de inscripción o acceso a la lealtad se lanzará públicamente para tu programa de lealtad. Esto permitirá que cualquier usuario vea el programa y use esta funcionalidad.

Para garantizar una experiencia del usuario óptima, se realizarán verificaciones recurrentes de tu implementación de inscripción o acceso para garantizar el cumplimiento continuo de los requisitos de las funciones. Recibirás una notificación en caso de discrepancias y es posible que se inhabilite la función de acceso o inscripción hasta que se resuelva el problema.

Preguntas frecuentes

  • ¿Existe algún requisito para las imágenes que se usan en mi programa de lealtad?
    • Sí, tus imágenes se deben alojar en la ubicación HTTPS, ya que de lo contrario no aparecerán en la Billetera de Google.
  • ¿Existe alguna herramienta que simplifique la implementación y depuración de JWT?
    • Sí, las plataformas como www.jwt.io te permiten decodificar y depurar tus tokens durante el proceso de desarrollo, lo que te permite verificar el contenido que envías. Ten en cuenta que Google no tiene ninguna afiliación y no recomienda específicamente ninguno de esos terceros.
  • ¿Cómo se manejan correctamente los datos SharedDataType codificados en Base64?
    • Asegúrate de usar la codificación UTF-8 en todo el proceso. Primero, la cadena JSON se codifica en UTF-8 y, luego, se usa android.util.Base64 con las opciones NO_WRAP y URL_SAFE. Esto corresponde a la sección 4 de RFC 3548.