Permitir que os clientes paguem no seu portal
Se os seus clientes fazem login em um site do Experience Cloud (um portal de moradores, de proprietários ou de clientes), você pode colocar a tela de pagamento do REDA Pay dentro dele. Um cliente conectado paga, configura pagamentos recorrentes e salva cartões e contas bancárias, tudo vinculado aos próprios registros, sem que a sua equipe toque em um número de cartão. Este artigo configura isso.
- Existe um site do Experience Cloud com clientes como usuários (licenças Customer Community ou Customer Community Plus), cujo registro de usuário está vinculado a um contato.
- O REDA Pay está configurado até Configurar webhooks, e a marca da conta de processamento está pronta: o portal a exibe.
- Você tem o REDA Pay - Admin User e as permissões do Salesforce para editar o site e as suas configurações de compartilhamento.
Como funciona o fluxo do portal
Um cliente do portal nunca escolhe um registro: o REDA Pay usa o contato (ou a conta) do usuário conectado como registro pai, encontra ou cria o Pay Customer dele e abre a mesma tela que a equipe usa. O fluxo passa por quatro páginas que você cria no Experience Builder:
| Página | Contém | Finalidade |
|---|---|---|
| Entrada de pagamento (por exemplo New Pay Order) | NewPayOrder com Is Portal ativado | Identifica o cliente e pergunta perfil e conta, se necessário |
| Tela de pagamento (por exemplo New Pay Order Request) | NewPayOrderRequest | O formulário de cartão/banco, o valor e os botões |
| Página de sucesso | NewPayOrderResult com Is Success ativado | "Your order is successfully processed. Order Reference: …" |
| Página de erro | NewPayOrderResult com Is Success desativado | O erro e o seu motivo |
As mesmas quatro, com NewPayMethod, NewPayMethodRequest e NewPayMethodResult, permitem que os clientes salvem um método sem pagar.
A página de entrada. Com um só perfil ativo, esta etapa é pulada.
A tela de pagamento dentro do portal. Os clientes veem os próprios métodos salvos.
Parte 1: dar acesso aos usuários do portal
O acesso ao portal tem quatro partes. Cada uma é configurada passo a passo, para os dois tipos de licença de portal, em Acesso ao portal: permissões e compartilhamento para clientes; em resumo:
- Acesso a objetos, classes e metadados. Atribua o REDA Pay - Community User aos usuários do portal, ou dê ao perfil do portal as mesmas configurações. Ele concede criação e edição em Pay Customers e Pay Methods, leitura em Pay Orders, Pay Transactions, Pay Profiles, Processing Accounts e Fee Setups, as duas classes do Apex por trás das telas e acesso de leitura aos tipos de metadados personalizados REDA Pay Process Config e REDA Pay Setup.
- Conjunto de compartilhamento. Os usuários do portal só veem os registros compartilhados com eles. Um conjunto de compartilhamento em Pay Order, Pay Customer e Pay Method, cada um ligando User: Contact ao campo Contact do objeto com Leitura/Gravação, dá a cada cliente os próprios registros: Configuração → Experiências digitais → Configurações → Conjuntos de compartilhamento (Digital Experiences → Settings → Sharing Sets).
- Pay Profiles e Processing Accounts. Os clientes precisam ler os ativos. Para licenças baseadas em papéis (Customer Community Plus, Partner), crie duas regras de compartilhamento com base em critérios, Is Active igual a True, compartilhadas com All Customer Portal Users, Somente leitura. Para licenças de alto volume (Customer Community, Customer Community Login), que as regras de compartilhamento não alcançam, defina o Acesso padrão externo dos dois objetos como Somente leitura pública. Os Fee Setups seguem a sua Processing Account automaticamente.
- Associação ao site. O perfil do portal precisa ser membro do site.
O conjunto de compartilhamento é o que faz "os meus pagamentos" significar os pagamentos do cliente conectado.
Parte 2: criar as páginas
No Experience Builder do site:
-
Pages → New Page → Standard Page → Blank (páginas → nova página → página padrão → em branco), com um nome como New Pay Order (anote o nome de API dela, exibido nas propriedades da página; você vai digitá-lo abaixo). Arraste o NewPayOrder (em Custom Components, os componentes personalizados) para ela e defina:
- Is Portal: marcado.
- Portal Record Identifier: User-Contact (ou User-Account se os pagamentos pertencem à empresa do cliente).
- Portal Payment Page: o nome de API da página da etapa seguinte.
- Portal Success Page, Portal Error Page: os nomes de API das páginas de resultado.
- Portal Return URL: para onde vai o Cancel: a página inicial do site ou o seu site.
- Restrinja a tela para esse público: em um portal de moradores, desmarque Allow Pay Method Type - Card se não quiser cartões, desmarque Enable Order Link (os links são uma ferramenta da equipe) e mantenha Enable Scheduling Order para o pagamento automático. Consulte a Referência das configurações de componentes.
- Uma nova página com um nome como New Pay Order Request, com o NewPayOrderRequest. Sem configurações.
- Mais duas páginas, Payment Success e Payment Error, cada uma com o NewPayOrderResult; marque Is Success só na primeira. Acrescente o seu próprio texto em volta do componente: "Obrigado", o que acontece a seguir, um link de volta para o início.
- Repita as etapas 1 a 3 com NewPayMethod (definindo o Portal Method Input Page), NewPayMethodRequest e NewPayMethodResult, se os clientes devem salvar métodos sem pagar.
- Acrescente as páginas de entrada ao menu de navegação do site (por exemplo Make a Payment e Payment Methods).
- Publique o site.
Acesso às páginas: as páginas devem exigir login (o padrão para uma página em um site que exige login). Só o site público de links de pagamento usa o acesso de convidados; consulte Configurar o site público de links de pagamento.
Parte 3: testar como cliente
Abra o contato de um cliente de teste, use Log in to Experience as User (fazer login na experiência como usuário) e percorra o fluxo: escolha um perfil e uma conta, se for perguntado, veja os seus métodos salvos, informe um valor, pressione Pay e cancele o resumo. Depois teste em uma janela do tamanho de um celular: os blocos e o painel de pagamento ficam empilhados e nada rola para os lados.
A mesma página em um celular.
Confira como o cliente, não como administrador: um administrador vê registros que um cliente não vê, e uma regra de compartilhamento ausente só aparece para um usuário de portal real.
Exemplo prático
O portal de moradores da Meridian Properties: os moradores pagam o aluguel e configuram o pagamento automático por conta bancária; sem cartões, sem links.
| Onde | Configuração |
|---|---|
| Conjunto de permissões | REDA Pay - Community User para todos os moradores |
| Conjunto de compartilhamento | Pay Order, Pay Customer, Pay Method em Contact, Leitura/Gravação |
| Pay Profiles e Processing Accounts | Regras de compartilhamento para todos os usuários do portal de clientes, Somente leitura (licença baseada em papéis) |
| NewPayOrder na página Pay Rent | Is Portal ativado; User-Contact; Allow Card desativado; Enable Order Link desativado; Portal Payment Page pay_rent_request; páginas de sucesso e de erro definidas; Return URL a página inicial do portal |
| Navegação | Itens Pay Rent e Payment Methods |
Erros comuns a evitar
| Erro | O que o cliente vê | Solução |
|---|---|---|
| Is Portal desativado | O fluxo quebra depois da primeira etapa | Marque-o nos dois componentes de entrada |
| Nenhum conjunto de compartilhamento | "Bad Request. Parent record not found." ou telas vazias | Crie o conjunto de compartilhamento |
| Sem acesso a Pay Profile / Processing Account | "Select Pay Profile" vazio, ou nenhuma conta | Regras de compartilhamento, ou acesso padrão externo para licenças de alto volume |
| Nomes de API das páginas digitados como rótulos | O fluxo não encontra a página seguinte | Use os nomes de API |
| Usuário do portal não vinculado a um contato | Não há registro pai | Os usuários do portal precisam ter um contato (ou uma conta, com User-Account) |
| Testar só como administrador | Tudo funciona para você, não para os clientes | Faça login como usuário do portal |
Perguntas frequentes
Não. O pagamento é sempre para o contato (ou a conta) do usuário conectado. Use links de pagamento para terceiros.
Acrescente ao site páginas de registro ou listas de Pay Order e de Pay Transaction; o conjunto de compartilhamento dá a eles acesso aos próprios registros.
Não. Limite a página a um perfil com o Limit Profile Selection, se você tiver vários.