【问题标题】:PayPal Checkout popup randomly closesPayPal Checkout 弹出窗口随机关闭
【发布时间】:2021-10-01 11:51:22
【问题描述】:

我们在 Blazor WebAssembly 应用程序中遇到问题,该应用程序使用 PayPal 按钮让用户将资金添加到系统的钱包中。 这个问题是随机的,有时弹出窗口在打开后立即关闭,甚至不允许用户登录到贝宝继续结帐过程。

这是js文件:https://github.com/efonsecab/FairPlayTube/blob/main/src/FairPlayTubeSln/FairPlayTube.Client/wwwroot/js/paypal/paypal.js 这是调用 js 来呈现按钮的 Blazor 组件 https://github.com/efonsecab/FairPlayTube/tree/main/src/FairPlayTubeSln/FairPlayTube.Client/CustomComponents/Paypal

它在开发中经常发生,但在产品中却没有那么多。

这是控制台中显示的错误: 10000 毫秒内https://www.sandbox.paypal.com 中的 postMessage wn() 没有 ack

问题是有时一切都在第一次尝试时成功,但其他人则显示这一点。

有什么办法解决吗?

【问题讨论】:

  • 最后的Render调用是否修改了<div id="smart-button-container">的html?我问这个是因为当你在 Blazor 中重新渲染时,你可能会覆盖所做的任何事情。尝试添加一个固定密钥,例如<div id="smart-button-container" @key="1"> 以便 Blazor 在重新渲染时不会重新创建 div。
  • 问题是关于单击按钮时的弹出窗口,而不是它们的页面容器
  • @PrestonPHX 感谢您的意见 - 也许您可以根据您对 paypal JS 工作原理的经验回答我的第一个问题?
  • 这是我在随机问题发生时收到的消息 No ack for postMessage wn() in sandbox.paypal.com in 10000ms

标签: .net-core paypal blazor .net-5 blazor-webassembly


【解决方案1】:

如果它在打开后立即关闭,则 createOrder 函数对 actions.order.create 的调用失败,可能是由于请求无效。记录所有内容,查看控制台错误/输出,找出您做错了什么。

您传递给 actions.order.create 的对象可以先保存到一个变量中,使用console.log(JSON.stringify(somevar,null,2)) 记录,然后是return actions.order.create(somevar)

【讨论】:

  • 这是我随机得到的错误:No ack for postMessage wn() in sandbox.paypal.com in 10000ms
  • 有解决办法吗?
猜你喜欢
  • 1970-01-01
  • 2021-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多