【问题标题】:iframes from square-connect for CC processing not working in angularjs来自square-connect的用于CC处理的iframe在angularjs中不起作用
【发布时间】:2017-04-23 08:39:07
【问题描述】:

我正在构建一个带有 Angular 的简单 SPA,我想用它来使用我的 Square 帐户处理信用卡付款。为了安全,Square 希望使用 iframe,因此 CC 信息永远不会触及我的页面。

我已经阅读了有关使用 $sce.trustResourceAsUrl() 的信息,但 square 特别要求从其 CDN 加载文件(因此无需对其进行修改)。

https://docs.connect.squareup.com/articles/adding-payment-form/ 没有列出与 AngularJS 集成的任何内容,我也没有找到任何有用的示例。

任何人都有在 angular1 应用程序中成功嵌入方形支付表单的经验,他们可以指点我吗?或者是否存在阻止这种情况的安全风险?谢谢!

这是文档中的示例文件:

<script type="text/javascript" src="https://js.squareup.com/v2/paymentform">
<script>
var paymentForm = new SqPaymentForm({blah blah blah});
</script>
<html>
<body>
<label>Card Number</label>
<div id="sq-card-number"></div>
<label>CVV</label>
<div id="sq-cvv"></div>
<label>Expiration Date</label>
<div id="sq-expiration-date"></div>
<label>Postal Code</label>
<div id="sq-postal-code"></div>
</body>
</html>

我不完全确定如何调整它以在角度视图中工作。任何建议将不胜感激。

【问题讨论】:

  • 什么代码导致了您的问题?路由到新视图后是否无法加载 iframe?
  • 嘿 tristansokol,我怀疑问题出在 angular 的本质上,我想我正在寻找解决方法,奇怪的是没有一个方形文档涉及 angular。在他们的示例文件中,我包含了他们的脚本文件(我认为这是魔法发生的地方),我似乎无法找到它的非缩小版本来找到问题。我将摘录上面的例子来说明这个问题谢谢你的帮助。
  • 当然,您知道这一切,因为您编写了其他文档,对此感到抱歉:-)。是的,我正在使用路由并尝试在视图中加载 iframe。我收到“在沙盒模式下初始化的 SqPaymentForm。请参阅docs.connect.squareup.com/articles/using-sandbox”消息,但输入不可见。我不确定在哪里寻找麻烦解决这个问题。感谢您的帮助!

标签: javascript angularjs iframe square-connect


【解决方案1】:

啊,在您的示例代码https://github.com/square/connect-api-examples/blob/f83e8130ac544b5a9f55d8a11b173b61b8e5cd25/connect-examples/v2/rails_payment/app/views/welcome/angular.html.erb 中找到了答案。指令完成加载后,我需要运行paymentForm.build()。

iFrame 现在出现了。谢谢!

【讨论】:

    猜你喜欢
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 2020-04-04
    • 2016-10-21
    相关资源
    最近更新 更多