Sugestões de resolução de problemas de ligações e botões de pagamento PayPal
Estou a receber um erro e o botão não está a ser apresentado no meu site.
- Verifique se a sua ligação à Internet está a funcionar.
- Visite outras páginas no seu site e verifique se estão a ser carregadas corretamente.
- Aceda à página Botões PayPal e verifique:
* O botão aparece em "Botões guardados"?
* Selecione Editar e certifique-se de que o código do botão corresponde ao que está no seu site. - Clique com o botão direito do rato na página do produto (onde colou o código do botão) e clique em Inspecionar. Aceda ao separador Consola (vai vê-lo na parte superior). Poderá ver erros do PIN do Serviço de Apoio ao Cliente. Se tiver implementado uma Política de segurança de conteúdos, poderá ver erros do PIN do Serviço de Apoio ao Cliente como estes (exemplo de erros do PIN do Serviço de Apoio ao Cliente):
- Recusou-se a carregar o script “https://www.paypal.com/sdk/js**” porque viola a seguinte diretiva da Política de segurança de conteúdos: "default-src 'self'". Tenha em atenção que 'script-src-elem' não foi definido explicitamente, pelo que 'default-src' é utilizado como contingência.
- Recusou-se a carregar o script “https://www.paypal.com**” porque viola a seguinte diretiva da Política de segurança de conteúdos: "default-src 'self'". Tenha em atenção que ‘connect-src’ não foi definido explicitamente, pelo que 'default-src' é utilizado como contingência.
- Recusou-se a executar o script inline porque viola a seguinte diretiva da Política de segurança de conteúdos: "script-src https://*.paypal.com". É necessária a palavra-chave 'unsafe-inline', um hash ('sha256-WYDWDPwB8j2VePYrqy38aHPcJLsasO//lnXymmxscUk=') ou uma chave nonce ('nonce-...') para ativar a execução inline.
- Recusou-se a carregar a imagem “https://tracking.qa.paypal.com/webapps/tracking/ts?**” porque viola a seguinte diretiva da Política de segurança de conteúdos: "default-src 'self'". Tenha em atenção que ‘img-src’ não foi definido explicitamente, pelo que 'default-src' é utilizado como contingência.
- Recusou-se a efetuar o frame de “https://www.paypal.com/” porque viola a seguinte diretiva da Política de segurança de conteúdos: "default-src 'self'". Tenha em atenção que ‘frame-src’ não foi definido explicitamente, pelo que 'default-src' é utilizado como contingência.
Pode tentar adicionar os elementos abaixo para resolver qualquer um dos erros acima:
Opção-1 (HTML): Se o PIN do Serviço de Apoio ao Cliente estiver configurado no ficheiro HTML, utilize o código abaixo para substituir o código do PIN do Serviço de Apoio ao Cliente
<meta http-equiv="Content-Security-Policy" content="default-src 'self';
script-src 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com;
style-src 'unsafe-inline' https://*.paypal.com; connect-src
https://*.paypal.com; frame-src https://*.paypal.com; img-src
https://*.paypal.com https://*.paypalobjects.com">
Opção-2 (lado do servidor): Se o PIN do Serviço de Apoio ao Cliente estiver configurado do lado do servidor, use o código abaixo para substituir o seu código PIN do Serviço de Apoio ao Cliente
Content-Security-Policy: script-src 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com
Content-Security-Policy: style-src 'unsafe-inline' https://*.paypal.com
Content-Security-Policy: connect-src https://*.paypal.com
Content-Security-Policy: frame-src https://*.paypal.com
Content-Security-Policy: img-src https://*.paypal.com https://*.paypalobjects.com
Como posso alterar o esquema/tamanho/cor do produto/nome/preço/ quantidade?
Veja como alterar o esquema./tamanho/cor do nome do produto/preço/quantidade no site do PayPal:
- Aceda à página Botões PayPal.
- Clique em Abrir ao lado do botão guardado e selecione Editar.
- Clique em Personalizar os seus botões e faça as alterações necessárias.
Editei informações de produto (nome, montante ou outro elemento); tenho de
copiar/colar o código do botão novamente?
Não, recolhemos todas as informações do servidor PayPal. Depois de guardar as alterações na sua conta, não precisa de atualizar o código do botão copiado/colado do seu site.
Nota: Se alterar o código de moeda no seu produto, terá de atualizar o seu botão de pagamento.
Vejo uma ID de cliente no código; o que significa?
A ID de cliente é a ID de cliente de comerciante que faz parte da sua conta. Não a deve editar. Utilize-a tal como é disponibilizada no código do botão.
Adicionei vários botões, mas nenhum está a ser apresentado na minha página Web.
Vários botões na mesma página Web não funcionarão nos seguintes cenários:
- Se tiver copiado/colado a mesma ID do botão várias vezes na mesma página Web, apenas o primeiro botão será apresentado. Não é possível repetir a mesma ID do botão várias vezes.
- Se tiver copiado/colado IDs de botão diferentes, mas com outras moedas na mesma página Web, apenas o primeiro botão será apresentado. Não é possível adicionar moedas estrangeiras a botões na mesma página Web.
- Se tiver copiado/colado IDs de botões diferentes e o sistema estiver mais lento, certifique-se de que a etiqueta de script com a ID de cliente só é adicionada uma vez. A linha de script terá o seguinte aspeto:
<script src="https://www.paypal.com/sdk/js?client-id=XYZ&components=hosted-buttons&enable-funding=venmo¤cy=USD"></script>
Tenho uma conta PayPal Premier e não vejo ligações e botões de pagamento como
opção.
Esta funcionalidade só está disponível para contas PayPal Comerciais. Para usar esta funcionalidade, atualize ou crie uma conta Comercial.
Como posso testar esta experiência no PayPal Sandbox?
Os botões e ligações de pagamento estão disponíveis para teste no Sandbox.
O meu cliente disse-me que não consegue ver todos os meios de pagamento.
Meios de pagamento como PayPal, Pay Later e Venmo dependem da elegibilidade do país de cada cliente.
A expansão inline de Crédito/Débito não aparece completamente no meu
site.
Verifique se a largura e a altura do contentor principal estão definidas para acomodar a expansão inline. Consulte a documentação/suporte da sua plataforma de alojamento para obter mais detalhes.
Os botões e ligações de pagamento suportam IPN (Notificação de pagamento imediata)?
Sim. Siga estes passos para configurar e ativar a IPN.
Para encontrar a configuração de IPN no PayPal:
- Aceda às Definições da conta.
- Selecione Notificações e Notificações de pagamento imediatas.
- Clique em Atualizar ligação.
Eis como ativar as definições de IPN:
- Adicione o URL do controlador de IPN e selecione Receber mensagens IPN (ativado).
- Clique em Guardar.
Controlar a IPN no código do servidor:
- Sempre que as transações de ligação de pagamento e botão estejam concluídas, a IPN do PayPal invoca o URL de notificação configurado no passo 2.
Aceder ao histórico da IPN:
- https://www.sandbox.paypal.com/merchantnotification/ipn/history
- https://www.paypal.com/merchantnotification/ipn/history
Referências
Introdução: https://developer.paypal.com/api/nvp-soap/ipn/IPNIntro/
Certifique-se de que utiliza o URL de IPN correto no código do servidor
- Sandbox https://www.sandbox.paypal.com/cgi-bin/webscr
- Em direto https://www.paypal.com/cgi-bin/webscr
Exemplos para línguas diferentes GitHub – paypal/ipn-code-samples
Quando um cliente é encaminhado para a página de redirecionamento, quais são as informações sobre a
compra que o PayPal envia? Os botões e ligações de pagamento suportam a transferência de dados de pagamento?
Que variáveis são suportadas?
Sim, suportamos variáveis de transferência de dados de pagamento, conforme documentado aqui. Irá receber a transferência de dados de pagamento se ativar a definição Reencaminhamento automático durante a configuração do botão e da ligação de pagamento.
Os botões e ligações de pagamento suportam uma região se esta for adicionada manualmente pelo
comerciante no código do botão ou ligação de pagamento?
Por predefinição, os botões e ligações de pagamento utilizam as preferências do navegador dos clientes para mostrar o código do botão e a experiência da ligação de pagamento.
Os comerciantes podem substituir o mesmo apenas para a ligação de pagamento e o código do botão, anexando "locale.x=fr_FR" como um parâmetro de consulta. A lista de códigos suportados para regiões pode ser encontrada aqui. Qualquer texto inserido por um comerciante durante a configuração não será traduzido.
Exemplo: https://www.paypal.com/ncp/payment/F3YMU2ZGT49XX?locale.x=jp_JP
Exemplo:
<script src="……¤cy=USD&locale.x=jp_JP"></script>
É possível ocultar algumas das etiquetas originadas pelas ligações de pagamento e
pelo código do botão?
Entendemos que pode ter uma configuração visual diferente no seu site, no entanto, não recomendamos ocultar o código do botão que fornecemos.
Ocultá-los no seu site não altera a forma como a transação é processada. A transação continuará a usar a sua configuração de ID do botão alojado.
Pode ocultar determinado ou todo o texto em torno dos botões quando estiver a usar um tipo de botão que não exija a introdução de dados do cliente. Por exemplo, se o cliente precisar de selecionar a quantidade ou a lista de seleção de vários itens e o utilizador tiver ocultado esses elementos de introdução, a transação falhará.
Eis um exemplo de como ocultar o preço de um artigo:
Adicione este script abaixo do seu código de botão e substitua o
<style>
#paypal-form-fields-container-{<HostedButton_ID>}
#price-label {
display: none !important;
}
}
</style>
- desc-label (para o nome do produto)
- price-label (para o preço)
Se quiser ocultar vários , use uma ID separada:
style> #paypal-container-
<style>
#paypal-container-<HostedButton_ID>
{
#paypal-form-fields-container-<HostedButton_ID>
{
display: none !important;
}
}
</style>
É possível substituir os meus botões e ligações de pagamento com a opção Usar morada de envio das
definições?
Os botões e ligações de pagamento não respeitam a substituição em massa do envio nas definições da conta, também conhecida como a seguinte definição na Definição de envio.
Alterei a moeda do meu botão, mas não a vejo atualizada no
site.
Se alterar a moeda de um botão depois de já o ter colado no seu site, terá de copiar/colar novamente o código do botão no seu site.
Não consigo selecionar "Usar morada de envio das Definições" e "Usar imposto
das Definições" quando seleciono "Não recolher morada de envio".
As informações relativas a envios e impostos nas suas definições dependem do código postal e/ou país de envio do cliente. Se selecionar "Não recolher morada de envio", não irá receber a morada de envio do cliente para permitir o cálculo do envio e dos impostos nas definições. Recomendamos que use outras opções dos menus pendentes "Tarifa de envio" e "Taxa de imposto".
As ligações e botões de pagamento suportam webhooks?
Sim. Eis como ativar webhooks:
- Inicie sessão no Dashboard de programador utilizando as credenciais da sua conta de comerciante.
- Mude para o modo Em direto.
- Clique em Aplicações e credenciais.
- Deslize para baixo e selecione Gerir webhooks.
- Agora, pode adicionar o URL de um webhook para o modo Em direto Se quiser adicionar webhooks para a Sandbox, permaneça nesta página e mude do modo Em direto para Sandbox no canto superior direito.
- Adicione o URL de retorno do seu webhook, selecione todos os eventos ou checkout, eventos de pagamento que serão invocados por PayPal após os eventos serem selecionados, dependendo da sua implementação de API NVP ou SOAP, ligue ao PayPal NVP/SOAP API para obter informações de webhook.
Exemplo de resposta do webhook:
"id": "WH-12D11567VE3425924-2G120938U32719946",
"event_version": "1.0",
"create_time": "2024-09-14T15:55:58.043Z",
"resource_type": "capture",
"resource_version": "2.0",
"event_type": "PAYMENT.CAPTURE.COMPLETED",
"summary": "Payment completed for $ 128.88 USD",
"resource": {
"supplementary_data": {
"related_ids": {
"order_id": "8LM68409BR5528307"
}
],
"id": "7KK30254642170736",
"status": "COMPLETED"