|
|
Publicado em 06/12/2018 19:22:08
|
|
|
|

Já fiz pagamentos pelo Alipay muitas vezes, mas ainda assim caio no buraco com frequência, então vou resolver isso agora para referência
1. Sobre definir a chave pública
Preste atenção à "chave pública Alipay", não preencha a chave pública da aplicação, caso contrário você será confrontado
2. O endereço do nome de domínio do callback
Limpo, não tenha parâmetros, como: http://*****.com/notify.php, não escreva: http://*****.com/back.php?r=notify.
Essa atenção é para usar o framework, você deve embelezar a URL, caso contrário usará diretamente a que tem parâmetros, e o callback colocará "? Se todos os parâmetros seguintes forem removidos, então a função de callback em si definitivamente não estará acessível, pode ser só a página inicial ou algo assim.
3. Preste atenção na definição das configurações de domínio de callback
Esse callback é um gateway de aplicativo, não um endereço autorizado de callback.
4. Sobre os parâmetros que contêm o chinês
Os callbacks Alipay são fornecidos diretamente em chinês, sem codificação. Quando gravo o log, eu o coloco e coloco no log, então uso diretamente a ferramenta de assinatura para verificar o conteúdo do log, e ele não passa. Então use o padrão sem codificação na demo, não codifique chinês. (Eu uso PHP, se for chinês Java, preciso cuidar disso sozinho)
5. A última é avisar a si mesmo
Certifique-se de ler os parâmetros claramente e não rabisco. O parâmetro de ID de pedido do callback é "out_trade_no" não é "orderid", o valor é "total_amount" e não "money", porque múltiplas interfaces de pagamento são escritas ao mesmo tempo, então a verificação de callback é uma função pública, copiada diretamente, sem prestar atenção, e o resultado é uma perda de horas nisso. Preste atenção nisso no futuro.
Também há alguns pontos a serem observados, como: o método de assinatura é "RSA2", a codificação é "UTF-8", etc., a demo tem os defaults, só não mova a menos que seja necessário. Se você não precisa de uma demo, preste atenção nesses.
Processamento de declaração síncrona (return_url): É uma declaração visual, ou seja, notificação de salto de página, desde que o pagamento seja bem-sucedido, o Alipay salta para esse endereço pelo método get e possui parâmetros para esta página. As informações de aquisição de clientes são influenciadas pelas ações dos clientes. Se o comprador pagar integralmente Após a conclusão, o servidor do cliente responde lentamente, e o comprador fecha a página quando o Alipay mostra "pagamento instantâneo bem-sucedido"; então o site do cliente não consegue obter informações, o que é chamado de "pedido cancelado" do nosso lado. Além disso, esse processamento de declaração é uma chamada única, ou seja, o processamento síncrono da declaração é chamado após o pagamento ser bem-sucedido. Processamento de retorno assíncrono (notify_url): Sua interação de dados ocorre por meio da interação de dados entre servidores, que deve ser colocada no servidor (rede pública) para teste, e o servidor posta mensagens na página de processamento de retorno assíncrono, o que exige que a tecnologia do cliente processe o processamento de dados relacionados na página de processamento de retorno assíncrono , e então cada passo deve ser retornado ao sucesso do Alipay (não pode conter outras linguagens de script HTML, e não pode fazer saltos de página. Se esse processamento de devolução estiver ok, basicamente não haverá drop, porque a Alipay devolverá as informações do pedido em 6~10 vezes em 24 horas ao site do cliente até que a Alipay alcance o sucesso. Nota: O processamento síncrono de devolução é afetado pelas ações do comprador: Se o comprador estiver em operação, a Alipay entra na página de sucesso imediato da Alipay após concluir a operação; neste momento, como o servidor está correspondentemente lento, o comprador pode fechar essa página; nesse momento, você não poderá aceitar as informações retornadas pela Alipay, e alguns bancos online não vão abrir a devolução síncrona da Alipay após o pagamento Volte para a página de processamento, para que você não possa aceitar os dados quando estiver processando os dados de forma síncrona.
|
Anterior:Dica de nó de corrida :events.js: 160 arremesso er; Evento de 'erro' não tratadoPróximo:Literatura Alemã, PDF, muitos g
|