Acesso de convidados aos links de pagamento: permissões e compartilhamento
Quando um cliente abre um link de pagamento, ele não está conectado. O Salesforce o trata como o usuário convidado do seu site público: uma identidade anônima e compartilhada que todo visitante desse site usa. O que o usuário convidado consegue ler, qualquer visitante consegue ler. Por isso o acesso de convidados é configurado com cuidado: o convidado precisa conseguir abrir a ordem por trás de um link ativo e pagá-la, e nada mais.
Três camadas fazem isso, e as três são necessárias:
| Camada | O que decide | Onde se configura |
|---|---|---|
| Acesso a objetos, classes e metadados | Que um convidado pode usar as telas do REDA Pay e esses tipos de registro | O conjunto de permissões REDA Pay - Public Site User, ou as mesmas configurações no perfil de convidado |
| Regras de compartilhamento para convidados | Quais registros: só as ordens com link ativo e o que elas precisam para ser exibidas | Configuração → Configurações de compartilhamento |
| Páginas públicas | Que as páginas do link abrem sem login | Experience Builder |
Este artigo configura as três para o site que hospeda os seus links de pagamento. A criação das páginas e a ligação com a conta de processamento são tratadas em Configurar o site público de links de pagamento.
- O site público existe e as páginas dos links estão criadas; consulte Configurar o site público de links de pagamento.
- Você é um administrador do Salesforce que pode editar perfis, configurações de compartilhamento e o site.
Etapa 1: encontrar o usuário convidado do site
Cada site tem o seu próprio usuário convidado e o seu próprio perfil de convidado. Use os do site que hospeda as páginas dos links.
- Abra Configuração → Experiências digitais → Todos os sites (Digital Experiences → All Sites) e clique em Builder (o link que abre o Experience Builder) ao lado do site.
- No Experience Builder, abra Configurações → Geral (Settings → General) e, em Perfil de usuário convidado (Guest User Profile), clique no nome do perfil. O perfil de convidado abre na Configuração.
- No perfil, clique em Usuários atribuídos (na interface de perfil padrão, View Users): o único usuário da lista é o usuário convidado do site. Anote o nome dele; você vai escolhê-lo ao criar as regras de compartilhamento.
Etapa 2: dar ao convidado acesso aos objetos e às telas do REDA Pay
Escolha uma de duas maneiras equivalentes. As duas dão exatamente o mesmo acesso.
Opção A: atribuir o conjunto de permissões (recomendado). Na lista de usuários do perfil de convidado, clique no usuário convidado, desça até Atribuições de conjunto de permissões, clique em Editar atribuições, acrescente o REDA Pay - Public Site User e clique em Salvar. As atualizações do REDA Pay mantêm o conjunto em dia.
Opção B: colocar as mesmas configurações no perfil de convidado. Se você prefere perfis, edite o perfil de convidado e conceda o que o conjunto de permissões contém:
| No perfil de convidado | Conceda |
|---|---|
| Configurações do objeto: Pay Order, Pay Customer, Pay Profile, Processing Account, Fee Setup | Leitura |
| Configurações do objeto: Pay Method, Pay Transaction | Leitura, criação |
| A segurança no nível do campo desses objetos | O mesmo acesso a campos do conjunto de permissões: abra REDA Pay - Public Site User → Configurações do objeto e replique cada objeto |
| Acesso à classe do Apex ativado | rpay.NewPayOrderController e rpay.NewPayMethodController |
| O acesso aos tipos de metadados personalizados (Enabled Custom Metadata Type Access) | REDA Pay Process Config e REDA Pay Setup |
Na interface de perfil aprimorada, essas duas últimas seções se chamam Acesso à classe do Apex e Tipos de metadados personalizados.
O convidado não recebe edição, exclusão, Ver tudo nem Modificar tudo em nenhum objeto do REDA Pay. A criação é concedida em exatamente dois objetos: Pay Method, para o cartão ou a conta bancária de uso único que o pagador informa, e Pay Transaction.
O conjunto de permissões também habilita rpay.PayloadCallback, a classe que recebe as mensagens de webhook da Payload. Um site que só serve links de pagamento não a usa. Se você recebe os webhooks em um site separado, o convidado desse site precisa apenas de rpay.PayloadCallback; consulte Configurar webhooks.
Tudo o que um pagador anônimo pode fazer, em uma tabela. Repare no que falta: nada de edição, nada de exclusão.
Etapa 3: criar as quatro regras de compartilhamento para convidados
O acesso a objetos diz que o convidado pode ler Pay Orders; as regras de compartilhamento dizem quais. Os registros do REDA Pay são privados para usuários externos, então sem essas regras todos os links falham. Em Configuração → Configurações de compartilhamento, na lista de regras de compartilhamento de cada objeto, clique em Criar e crie:
| Objeto | Tipo de regra | Critérios | Compartilhar com | Acesso |
|---|---|---|---|---|
| Pay Order | Acesso do usuário convidado com base em critérios | Has Active Link igual a True | O usuário convidado do site | Somente leitura |
| Pay Customer | Acesso do usuário convidado com base em critérios | Order Link Expiration Date Time diferente de (em branco) | O usuário convidado do site | Somente leitura |
| Pay Profile | Acesso do usuário convidado com base em critérios | Is Active igual a True | O usuário convidado do site | Somente leitura |
| Processing Account | Acesso do usuário convidado com base em critérios | Is Active igual a True | O usuário convidado do site | Somente leitura |
Na regra de Pay Customer, escolha o operador diferente de e deixe o valor em branco. O REDA Pay preenche o Order Link Expiration Date Time com a expiração do link ativo do cliente e o limpa quando o último link ativo dele termina, então a regra só corresponde aos clientes que têm um link ativo.
Fee Setups e Pay Transactions não precisam de regra: elas seguem a sua Processing Account e a sua Pay Order.
As quatro regras. Juntas, elas abrem exatamente o que um link ativo precisa.
O que o convidado pode e não pode alcançar
Has Active Link fica marcado em uma ordem Link enquanto o link dela pode ser usado. O REDA Pay o desmarca quando a ordem é paga, quando alguém a revoga e cerca de um minuto depois que o link expira. A ordem então sai da visão do convidado sozinha, sem ação do administrador. Na prática:
| Situação | O convidado consegue abri-la? |
|---|---|
| Uma ordem Link criada há um minuto | Sim |
| A mesma ordem depois de paga | Não |
| Um link expirado ou revogado | Não |
| Uma ordem Immediate ou Schedule | Não: elas nunca têm link ativo |
| O link de outro cliente, com o endereço editado | Não: o identificador no endereço é criptografado, e um identificador alterado é recusado |
O identificador da ordem em um Link URL é criptografado com a chave da sua organização; consulte Gerar a chave de criptografia.
Etapa 4: tornar públicas as páginas dos links
- No Experience Builder, abra Configurações → Geral (Settings → General) e, em Acesso público (Public Access), selecione Guest users can see and interact with the site without logging in (os usuários convidados podem ver o site e interagir com ele sem fazer login).
- Abra cada página do link (entrada, tela de pagamento, sucesso, erro), abra as propriedades da página e defina o acesso à página como Público (Public).
- Publique o site.
Mantenha no seu próprio nível de acesso qualquer página de portal com login que esteja no mesmo site: tornar públicas essas quatro páginas não abre o resto do site.
Etapa 5: testar como pagador anônimo
- Crie um link de teste para um cliente de demonstração: Criar e enviar um link de pagamento.
- Copie o Link URL e abra-o em uma janela privada do navegador, sem estar conectado ao Salesforce.
- A tela de pagamento com a sua marca abre com o valor bloqueado. Cancele sem pagar.
- Altere um caractere do endereço e abra-o de novo: a página mostra "Invalid request: Bad request Parameters." Isso prova que o convidado não alcança nada além de um link ativo.
- Revogue a ordem de teste e abra de novo o endereço original: ele não abre mais uma tela de pagamento.
Sintomas e o que está faltando
| O que o pagador vê | O que costuma faltar | Solução |
|---|---|---|
| Uma página de login | Acesso público ou acesso à página | Etapa 4 |
| Um erro de acesso na página | Acesso a objetos ou a classes do Apex para o convidado | Etapa 2 |
| "Invalid request: Bad request Parameters." em todos os links | A regra de convidado de Pay Order ou de Pay Customer | Etapa 3 |
| A página abre, mas sem conta de processamento ou sem a marca | A regra de convidado de Pay Profile ou de Processing Account | Etapa 3 |
Erros comuns a evitar
| Erro | O que acontece | Solução |
|---|---|---|
| Regras de compartilhamento criadas para o usuário convidado do site errado | Os links continuam falhando | Cada site tem o seu próprio usuário convidado: use o do site dos links |
| Dar Edição ou Exclusão ao convidado | Visitantes anônimos poderiam alterar registros | Conceda só o que o conjunto de permissões concede |
| Atribuir o REDA Pay - Community User ao convidado | Ele concede Edição em Pay Customers e Pay Methods, que visitantes anônimos não devem ter | Use o REDA Pay - Public Site User |
| Uma regra de Pay Order sem o critério Has Active Link | Todas as ordens ficam legíveis por qualquer pessoa | Mantenha o critério exatamente como acima |
| Testar conectado ao Salesforce | A sua própria sessão esconde a falta de acesso do convidado | Teste em uma janela privada |
Perguntas frequentes
Eles só podem ler as ordens cujo link está ativo, e só conhecendo o endereço criptografado que você enviou. Números de cartão e de conta nunca são armazenados no Salesforce; consulte Segurança e dados de cartão.
Não. As páginas de salvar método funcionam com o mesmo usuário convidado e o mesmo acesso; consulte Solicitar os dados bancários de um fornecedor.
Sim. Páginas públicas de links e páginas de portal com login podem ficar no mesmo site; configure este acesso de convidado para o usuário convidado do site e o acesso ao portal para os usuários conectados; consulte Acesso ao portal: permissões e compartilhamento para clientes.
O que vem a seguir
- Configurar o site público de links de pagamento: as páginas e as configurações da conta de processamento.
- Criar e enviar um link de pagamento: o seu primeiro link.
- Solução de problemas de links de pagamento: mensagens e soluções.