3

我在我的代码中使用 Stripe 元素支付表单。在 Galen 做测试的时候,我们不得不切换到 iframe 来填充支付信息并测试整个流程。但是,由于其 CORS 政策,iOS 不允许我们切换 iframe。

有什么方法可以预先填写付款表单中的信息,以便我们可以在 iOS 中测试我们的代码?

4

3 回答 3

4

我向 Stripe 支持团队提出了同样的问题。他们提出以下建议:

“一般来说,我们不支持也不推荐通过预先填写细节来对 Elements 进行自动化测试。iframe 的内部结构(类名、DOM 结构)随时可能发生变化,因此编写访问的代码通常并不安全这个。

相反,建议是使用 Stripe 的测试令牌 [0] 进行测试——因此,本质上,在测试中,您将删除支付表单本身,并使用像“tok_visa”这样的字符串值直接调用您的函数来处理其余的支付. 这些测试字符串可以传递给 API 来完成收费,因此它们可以用来模拟与 Elements 表单交互的结果。

[0] - https://stripe.com/docs/testing#cards

于 2019-07-11T10:24:09.247 回答
1

是的,Bookmarklets 是在您不这样做的情况下填写表格的好方法。Bookmarklets 是存储为书签的 js(甚至可以使用 jQuery),您单击/点击它并运行 js。在您的情况下,您可以创建一个小书签来填写测试条卡信息。下面是一些帮助链接:

于 2019-06-29T08:38:05.150 回答
0

不,根据设计,您不能在 Stripe Elements 中预先填写付款信息。如果可以,那将是一个安全风险。

于 2019-06-26T01:05:04.913 回答