我在我的代码中使用 Stripe 元素支付表单。在 Galen 做测试的时候,我们不得不切换到 iframe 来填充支付信息并测试整个流程。但是,由于其 CORS 政策,iOS 不允许我们切换 iframe。
有什么方法可以预先填写付款表单中的信息,以便我们可以在 iOS 中测试我们的代码?
我在我的代码中使用 Stripe 元素支付表单。在 Galen 做测试的时候,我们不得不切换到 iframe 来填充支付信息并测试整个流程。但是,由于其 CORS 政策,iOS 不允许我们切换 iframe。
有什么方法可以预先填写付款表单中的信息,以便我们可以在 iOS 中测试我们的代码?
我向 Stripe 支持团队提出了同样的问题。他们提出以下建议:
“一般来说,我们不支持也不推荐通过预先填写细节来对 Elements 进行自动化测试。iframe 的内部结构(类名、DOM 结构)随时可能发生变化,因此编写访问的代码通常并不安全这个。
相反,建议是使用 Stripe 的测试令牌 [0] 进行测试——因此,本质上,在测试中,您将删除支付表单本身,并使用像“tok_visa”这样的字符串值直接调用您的函数来处理其余的支付. 这些测试字符串可以传递给 API 来完成收费,因此它们可以用来模拟与 Elements 表单交互的结果。
是的,Bookmarklets 是在您不这样做的情况下填写表格的好方法。Bookmarklets 是存储为书签的 js(甚至可以使用 jQuery),您单击/点击它并运行 js。在您的情况下,您可以创建一个小书签来填写测试条卡信息。下面是一些帮助链接:
不,根据设计,您不能在 Stripe Elements 中预先填写付款信息。如果可以,那将是一个安全风险。