【发布时间】:2019-11-06 23:15:45
【问题描述】:
我在我的代码中使用了 Stripe 元素支付表单。在 Galen 做测试的时候,我们不得不切换到 iframe 来填充支付信息并测试整个流程。但是,由于其 CORS 政策,iOS 不允许我们切换 iframe。
有什么方法可以预先填写付款表单中的信息,以便我们可以在 iOS 中测试我们的代码?
【问题讨论】:
标签: ios cors stripe-payments payment-gateway galen
我在我的代码中使用了 Stripe 元素支付表单。在 Galen 做测试的时候,我们不得不切换到 iframe 来填充支付信息并测试整个流程。但是,由于其 CORS 政策,iOS 不允许我们切换 iframe。
有什么方法可以预先填写付款表单中的信息,以便我们可以在 iOS 中测试我们的代码?
【问题讨论】:
标签: ios cors stripe-payments payment-gateway galen
我向 Stripe 支持团队提出了同样的问题。他们提出以下建议:
"一般来说,我们不支持也不推荐通过预填充细节来自动化测试Elements。iframe的内部结构(类名、DOM结构)随时可能发生变化,所以写起来一般不安全访问它的代码。
建议改为使用 Stripe 的测试令牌[0] 进行测试——因此,本质上,在测试中,您将删除支付表单本身,并使用类似“ tok_visa”直接。这些测试字符串可以传递给 API 完成收费,因此可以用来模拟与 Elements 表单交互的结果。
【讨论】:
是的,Bookmarklets 是一种无需您填写表单的好方法。 Bookmarklets 是存储为书签的 js(甚至可以使用 jQuery),您单击/点击它并运行 js。在您的情况下,您可以创建一个小书签来填写测试条卡信息。以下是一些帮助链接:
【讨论】:
不,根据设计,您不能在 Stripe Elements 中预先填写付款信息。如果可以,那将是一个安全风险。
【讨论】: