Acceso de invitados para enlaces de pago: permisos y colaboración
Cuando un cliente abre un enlace de pago, no ha iniciado sesión. Salesforce lo trata como el usuario invitado de tu sitio público: una identidad anónima y compartida que usan todos los visitantes de ese sitio. Lo que pueda leer el usuario invitado, lo puede leer cualquier visitante. Por eso el acceso de invitados se configura con cuidado: el invitado debe poder abrir la orden de un enlace activo y pagarla, y nada más.
Tres capas lo consiguen, y las tres son necesarias:
| Capa | Qué decide | Dónde se configura |
|---|---|---|
| Acceso a objetos, clases y metadatos | Que un invitado pueda usar las pantallas de REDA Pay y estos tipos de registro | El conjunto de permisos REDA Pay - Public Site User, o los mismos ajustes en el perfil de invitado |
| Reglas de colaboración para invitados | Qué registros: solo las órdenes con un enlace activo y lo que necesitan para mostrarse | Configuración → Configuración de colaboración |
| Páginas públicas | Que las páginas del enlace se abran sin iniciar sesión | Experience Builder |
Este artículo configura las tres para el sitio que aloja tus enlaces de pago. La creación de las páginas y la conexión con la cuenta de procesamiento se explican en Configurar el sitio público de enlaces de pago.
- El sitio público existe y sus páginas de enlaces están creadas; consulta Configurar el sitio público de enlaces de pago.
- Eres administrador de Salesforce y puedes editar perfiles, la configuración de colaboración y el sitio.
Paso 1: encontrar el usuario invitado del sitio
Cada sitio tiene su propio usuario invitado y su propio perfil de invitado. Usa los del sitio que aloja las páginas de los enlaces.
- Abre Configuración → Experiencias digitales → Todos los sitios (Digital Experiences → All Sites) y haz clic en Builder (el vínculo que abre Experience Builder) junto al sitio.
- En Experience Builder, abre Configuración → General (Settings → General) y, en Perfil de usuario invitado (Guest User Profile), haz clic en el nombre del perfil. El perfil de invitado se abre en Configuración.
- En el perfil, haz clic en Usuarios asignados (en la interfaz de perfil estándar, View Users): el único usuario de la lista es el usuario invitado del sitio. Anota su nombre; lo elegirás al crear las reglas de colaboración.
Paso 2: dar al invitado acceso a los objetos y pantallas de REDA Pay
Elige una de dos formas equivalentes. Ambas dan exactamente el mismo acceso.
Opción A: asignar el conjunto de permisos (recomendado). Desde la lista de usuarios del perfil de invitado, haz clic en el usuario invitado, baja hasta Asignaciones de conjuntos de permisos, haz clic en Modificar asignaciones, agrega REDA Pay - Public Site User y haz clic en Guardar. Las actualizaciones de REDA Pay mantienen al día el conjunto.
Opción B: poner los mismos ajustes en el perfil de invitado. Si prefieres los perfiles, edita el perfil de invitado y concede lo que contiene el conjunto de permisos:
| En el perfil de invitado | Concede |
|---|---|
| Configuración de objetos: Pay Order, Pay Customer, Pay Profile, Processing Account, Fee Setup | Lectura |
| Configuración de objetos: Pay Method, Pay Transaction | Lectura, creación |
| La seguridad a nivel de campo de esos objetos | El mismo acceso a campos que el conjunto de permisos: abre REDA Pay - Public Site User → Configuración de objetos y replica cada objeto |
| Acceso a clases de Apex activado | rpay.NewPayOrderController y rpay.NewPayMethodController |
| El acceso a tipos de metadatos personalizados (Enabled Custom Metadata Type Access) | REDA Pay Process Config y REDA Pay Setup |
En la interfaz de perfil mejorada, estas dos últimas secciones se llaman Acceso a clase de Apex y Tipos de metadatos personalizados.
El invitado no recibe edición, eliminación, Ver todo ni Modificar todo en ningún objeto de REDA Pay. La creación se concede exactamente en dos objetos: Pay Method, para la tarjeta o cuenta bancaria de un solo uso que ingresa el pagador, y Pay Transaction.
El conjunto de permisos también habilita rpay.PayloadCallback, la clase que recibe los mensajes webhook de Payload. Un sitio que solo sirve enlaces de pago no la usa. Si recibes los webhooks en un sitio aparte, el invitado de ese sitio solo necesita rpay.PayloadCallback; consulta Configurar webhooks.
Todo lo que puede hacer un pagador anónimo, en una tabla. Fíjate en lo que falta: ni edición ni eliminación.
Paso 3: crear las cuatro reglas de colaboración para invitados
El acceso a objetos dice que el invitado puede leer Pay Orders; las reglas de colaboración dicen cuáles. Los registros de REDA Pay son privados para los usuarios externos, así que sin estas reglas todos los enlaces fallan. En Configuración → Configuración de colaboración, en la lista de reglas de colaboración de cada objeto, haz clic en Nuevo y crea:
| Objeto | Tipo de regla | Criterio | Compartir con | Acceso |
|---|---|---|---|---|
| Pay Order | Acceso de usuario invitado, basado en criterios | Has Active Link igual a True | El usuario invitado del sitio | Sólo lectura |
| Pay Customer | Acceso de usuario invitado, basado en criterios | Order Link Expiration Date Time no igual a (vacío) | El usuario invitado del sitio | Sólo lectura |
| Pay Profile | Acceso de usuario invitado, basado en criterios | Is Active igual a True | El usuario invitado del sitio | Sólo lectura |
| Processing Account | Acceso de usuario invitado, basado en criterios | Is Active igual a True | El usuario invitado del sitio | Sólo lectura |
Para la regla de Pay Customer, elige el operador no igual a y deja el valor vacío. REDA Pay completa Order Link Expiration Date Time con el vencimiento del enlace activo del cliente y lo vacía cuando termina su último enlace activo, así que la regla solo coincide con los clientes que tienen un enlace activo.
Los Fee Setups y las Pay Transactions no necesitan regla: siguen a su Processing Account y a su Pay Order.
Las cuatro reglas. Juntas abren exactamente lo que necesita un enlace activo.
Qué puede y qué no puede alcanzar el invitado
Has Active Link está marcado en una orden Link mientras su enlace se puede usar. REDA Pay lo desactiva cuando la orden se paga, cuando alguien la revoca y alrededor de un minuto después de que vence el enlace. Entonces la orden sale sola de la vista del invitado, sin que el administrador haga nada. En la práctica:
| Situación | ¿El invitado puede abrirla? |
|---|---|
| Una orden Link creada hace un minuto | Sí |
| La misma orden después de pagarse | No |
| Un enlace vencido o revocado | No |
| Una orden Immediate o Schedule | No: nunca tienen un enlace activo |
| El enlace de otro cliente, con la dirección editada | No: el identificador de la dirección está cifrado y uno alterado se rechaza |
El identificador de la orden en una Link URL está cifrado con la clave de tu organización; consulta Generar la clave de cifrado.
Paso 4: hacer públicas las páginas de los enlaces
- En Experience Builder, abre Configuración → General (Settings → General) y, en Acceso público (Public Access), selecciona Guest users can see and interact with the site without logging in (permite que los usuarios invitados vean el sitio e interactúen con él sin iniciar sesión).
- Abre cada página del enlace (entrada, pantalla de pago, éxito, error), abre las propiedades de la página y define el acceso a la página como Público (Public).
- Publica el sitio.
Mantén con su propio nivel de acceso cualquier página del portal con inicio de sesión que esté en el mismo sitio: hacer públicas estas cuatro páginas no abre el resto del sitio.
Paso 5: probar como pagador anónimo
- Crea un enlace de prueba para un cliente de demostración: Crear y enviar un enlace de pago.
- Copia la Link URL y ábrela en una ventana privada del navegador, donde no tengas sesión iniciada en Salesforce.
- Se abre la pantalla de pago con tu marca y el importe bloqueado. Cancela sin pagar.
- Cambia un carácter de la dirección y ábrela de nuevo: la página muestra "Invalid request: Bad request Parameters." Esto demuestra que el invitado no llega a nada que no sea un enlace activo.
- Revoca la orden de prueba y vuelve a abrir la dirección original: ya no abre una pantalla de pago.
Síntomas y qué falta
| Qué ve el pagador | Lo que suele faltar | Solución |
|---|---|---|
| Una página de inicio de sesión | El acceso público o el acceso a la página | Paso 4 |
| Un error de acceso en la página | El acceso del invitado a objetos o a clases de Apex | Paso 2 |
| "Invalid request: Bad request Parameters." en todos los enlaces | La regla de invitado de Pay Order o de Pay Customer | Paso 3 |
| La página se abre pero sin cuenta de procesamiento ni marca | La regla de invitado de Pay Profile o de Processing Account | Paso 3 |
Errores que debes evitar
| Error | Qué ocurre | Solución |
|---|---|---|
| Reglas de colaboración creadas para el usuario invitado de otro sitio | Los enlaces siguen fallando | Cada sitio tiene su propio usuario invitado: usa el del sitio de los enlaces |
| Dar al invitado edición o eliminación | Los visitantes anónimos podrían cambiar registros | Concede solo lo que concede el conjunto de permisos |
| Asignar REDA Pay - Community User al invitado | Concede edición sobre Pay Customers y Pay Methods, que los visitantes anónimos no deben tener | Usa REDA Pay - Public Site User |
| Una regla de Pay Order sin el criterio Has Active Link | Cualquiera puede leer todas las órdenes | Mantén el criterio exactamente como arriba |
| Probar con sesión iniciada en Salesforce | Tu propia sesión oculta el acceso de invitado que falta | Prueba en una ventana privada |
Preguntas frecuentes
Solo pueden leer las órdenes cuyo enlace está activo, y solo si conocen la dirección cifrada que enviaste. Los números de tarjeta y de cuenta bancaria nunca se guardan en Salesforce; consulta Seguridad y datos de tarjetas.
No. Las páginas para guardar métodos funcionan como el mismo usuario invitado y con el mismo acceso; consulta Solicitar datos bancarios a un proveedor.
Sí. Las páginas públicas de enlaces y las páginas del portal con inicio de sesión pueden convivir en un sitio; configura este acceso de invitados para el usuario invitado del sitio y el acceso del portal para sus usuarios con sesión iniciada; consulta Acceso al portal: permisos y colaboración para clientes.
Qué sigue
- Configurar el sitio público de enlaces de pago: las páginas y los ajustes de la cuenta de procesamiento.
- Crear y enviar un enlace de pago: tu primer enlace.
- Solución de problemas de enlaces de pago: mensajes y soluciones.