Accept.js(authorize.net)和单页应用

时间:2017-12-06 04:35:59

标签: reactjs single-page-application authorize.net accept.js

我们希望使用Authorize.NET accept.js来维护我们的SAQ-A合规性(我们已经使用braintree和条带执行此操作)。

我发现根据文档使用accept.js非常困难,我希望以非文档的方式实现我能做到的事情!

我的大问题是:

"重要提示:使用付款信息表时,请确保在定义按钮后页面加载库。"

脚本似乎希望在加载DOM后立即处理它并找到所需的属性。这使得从单页面应用程序角度来看非常困难,因为如果用户查看付款页面,则决定返回向购物车添加其他内容,然后再次付款...脚本已经被已加载,但现在表单尚未呈现。

我想要做的是让accept.js给我一个函数来调用并传递必要的东西(测试模式,发布密钥等)。这是在braintree中完成的:

braintree.dropin.create({
      authorization: 'CLIENT_TOKEN_FROM_SERVER',
      container: '#dropin-container'
    }

这是用条纹完成的方式:

// Create an instance of the card Element
var card = elements.create('card', {style: style});

// Add an instance of the card Element into the `card-element` <div>
card.mount('#card-element');

此API样式在网络上精美,因为我可以加载javascript文件一次,但在需要时构建付款表单。

有没有办法用accept.js做到这一点?我能想出的唯一方法是自己构建表单,然后调用Accept.dispatch,但这会将我们从SAQ-A转移到SAQ-A EP

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您使用的是React,则有一个非常有用的库react-authorize-net,可让您通过简单且干净的基于组件的API与Authorize.Net进行交互。

要将其与您的项目集成,通常会使用FormContainer组件和FormComponent来立即获取功能齐全且可以立即使用的付款表单。

您也可以通过向FormContainer提供自己的组件/功能来拥有自定义渲染逻辑。

以下是现有React项目https://github.com/j-em/react-authorize-net-example

中使用的库的示例