Configurar el sitio público de enlaces de pago
Un enlace de pago abre una página a la que cualquiera puede llegar sin iniciar sesión. En Salesforce, eso es un sitio de Experience Cloud público (o páginas públicas en un sitio existente) cuyo usuario invitado puede ejecutar las pantallas de REDA Pay y leer exactamente la orden que está detrás del enlace, y nada más. Este artículo crea ese sitio, le da al usuario invitado lo que necesita y lo conecta con tu cuenta de procesamiento.
- REDA Pay está configurado y la cuenta de procesamiento tiene su marca: la página pública muestra esa marca.
- Tienes REDA Pay - Admin User y los permisos de Salesforce para crear sitios de Experience Cloud, editar perfiles y crear reglas de colaboración.
- Sabes si vas a reutilizar un sitio público existente (por ejemplo, un sitio para proveedores o solicitantes) o vas a crear uno.
Parte 1: el sitio y sus páginas
- Configuración → Experiencias digitales → Todos los sitios → Nuevo (Digital Experiences → All Sites) (si vas a crear un sitio). Elige una plantilla como Build Your Own (crear tu propio sitio), ponle un nombre, una ruta como
payy créalo. O abre tu sitio público existente. - En Experience Builder, crea cuatro páginas, como en la configuración del portal, pero en un sitio o en páginas que los invitados puedan ver:
| Página | Componente | Ajustes |
|---|---|---|
| Entrada del enlace (por ejemplo, Process Order Link) | NewPayOrder | Is Portal activado; Portal Payment Page, Portal Success Page, Portal Error Page = los nombres de API de las tres siguientes; Portal Return URL = tu sitio web o la página de inicio del sitio |
| Pantalla de pago | NewPayOrderRequest | ninguno |
| Página de éxito | NewPayOrderResult | Is Success activado |
| Página de error | NewPayOrderResult | Is Success desactivado |
- Si los proveedores van a ingresar datos bancarios mediante un enlace (consulta Solicitar datos bancarios a un proveedor), agrega el mismo conjunto con NewPayMethod (y Portal Method Input Page), NewPayMethodRequest y NewPayMethodResult.
- Haz públicas las páginas: en las propiedades de cada página, define el acceso a la página como Público (Public), y en Configuración → General → Acceso público (Settings → General → 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).
- Publica el sitio.
Anota la dirección completa de la página de entrada del enlace, por ejemplo https://yourcompany.my.site.com/pay/s/process-order-link.
La página de entrada lleva toda la configuración; la página de solicitud solo muestra la pantalla.
Parte 2: el usuario invitado
Cada sitio público tiene un usuario invitado y un perfil de invitado; un pagador anónimo es ese usuario mientras está en tu página. Dale el acceso a REDA Pay: asigna REDA Pay - Public Site User al usuario invitado, o pon los mismos ajustes en el perfil de invitado. Concede lectura sobre Pay Orders, Pay Customers, Pay Profiles, Processing Accounts y Fee Setups, creación sobre Pay Methods y Pay Transactions, las clases de Apex detrás de las pantallas y acceso de lectura a los tipos de metadatos personalizados REDA Pay Process Config y REDA Pay Setup. Cada paso, con sus alternativas, está en Acceso de invitados para enlaces de pago: permisos y colaboración.
Parte 3: reglas de colaboración para invitados
Un conjunto de permisos indica qué tipo de registro puede leer el invitado; las reglas de colaboración indican qué registros. El invitado debe ver una orden solo mientras su enlace esté activo, y un cliente solo mientras tenga un enlace activo. Créalas en Configuración → Configuración de colaboración, eligiendo Acceso de usuario invitado, basado en criterios y el usuario invitado del sitio como destino, todas de Sólo lectura:
| Objeto | Criterio | Por qué |
|---|---|---|
| Pay Order | Has Active Link igual a True | El pagador puede abrir la orden de un enlace activo, y nada más |
| Pay Customer | Order Link Expiration Date Time no igual a vacío | El pagador puede leer el cliente de un enlace activo |
| Pay Profile | Is Active igual a True | Necesario para mostrar la pantalla |
| Processing Account | Is Active igual a True | Necesario para mostrar la pantalla y la marca; los Fee Setups siguen a la cuenta |
REDA Pay desactiva Has Active Link cuando la orden se paga o se revoca, y alrededor de un minuto después de que vence el enlace, así que la orden desaparece sola de la vista del invitado.
El invitado ve una orden solo mientras su enlace está activo.
Parte 4: conectar la cuenta de procesamiento
En cada Processing Account que vaya a emitir enlaces:
- Link Site Public URL: la dirección completa de la página de entrada del enlace de la Parte 1.
- Link Expiration (Minutes): cuánto duran los enlaces, contado desde su creación. Complétalo: un enlace creado mientras está vacío nunca se activa.
- Opcionalmente, Payment Session Duration (Minutes) para los invitados, y Enforce Geolocation para Link y Guest si quieres registrar la ubicación de los pagadores.
Consulta Configurar una cuenta de procesamiento.
Parte 5: probar
- Crea un enlace de prueba para un cliente de demostración: Crear y enviar un enlace de pago.
- Abre la Link URL en una ventana privada del navegador. Aparece la pantalla de pago con tu marca, el importe bloqueado y las notas visibles. Pruébala también en ancho de teléfono.
- Cancela sin pagar y luego revoca la orden de prueba.
- Abre la misma dirección quitándole un carácter: "Invalid request: Bad request Parameters." demuestra que un invitado no puede llegar a nada que no sea un enlace activo.
Errores que debes evitar
| Error | Qué ve el pagador | Solución |
|---|---|---|
| Páginas no públicas | Una página de inicio de sesión | Define el acceso a la página como público y permite el acceso de invitados |
| Usuario invitado sin el conjunto de permisos | Un error de acceso en la página | Asigna REDA Pay - Public Site User al usuario invitado |
| Faltan las reglas de colaboración | "Invalid request: Bad request Parameters." en todos los enlaces | Crea las cuatro reglas |
| Link Site Public URL apunta a la página de solicitud | La pantalla no puede iniciarse | Apúntala a la página de entrada (la que tiene NewPayOrder) |
| Link Expiration (Minutes) vacío | "Invalid request" de inmediato | Complétalo |
| Sitio no publicado después de los cambios | La página anterior | Publica |
Preguntas frecuentes
Sí: las páginas con inicio de sesión para los clientes y las páginas públicas para los enlaces pueden convivir en un sitio. Mantén los componentes en páginas separadas, porque el flujo del invitado y el del usuario con sesión iniciada necesitan ajustes distintos.
El invitado solo puede leer las órdenes con un enlace activo y los clientes que están detrás de ellas, puede crear un método y una transacción para esa orden, y nada más. El identificador de la orden en la dirección está cifrado.
Cada sitio tiene el suyo; asigna el conjunto de permisos y las reglas de colaboración al usuario invitado del sitio que aloja las páginas.