首页 > 解决方案 > 如何修复 SQpayment 表单不生成或将 nonce 传递给控制器​​?

问题描述

我正在尝试使用 square connect for ruby​​ on rails 为卡充电,但没有生成随机数。nonce =>""被传递给我的控制器。

当我检查 Javascript 控制台时,我意识到错误是,

Uncaught ReferenceError: requestCardNonce is not defined at HTMLButtonElement.onclick

我从这里复制并粘贴了sqpayment表单,从这里复制并粘贴了本地 JS 文件(输入我的locationIDapplicationID正确的。我还复制了适当的头脚本。

我检查了解决方案并发现了类似的问题,Square 付款表单无法执行 requestCardNonce() 以在 Firefox 48.0.2 中获取 nonce

但是这些问题出现在 Firefox 浏览器(我使用的是 Chrome)上,并且我的代码将事件传递给requestCardNonce(event)了我的表单和本地 JavaScript 文件,这是以前的解决方案所建议的。

  <button id="sq-creditcard" class="button-credit-card" onclick="requestCardNonce(event)">Pay</button>

  <input type="hidden" id="card-nonce" name="nonce">

在本地 JS 文件中,事件似乎输入正确

function requestCardNonce(event) {

  // Don't submit the form until SqPaymentForm returns with a nonce
 event.preventDefault();

  // Request a nonce from the SqPaymentForm object
 paymentForm.requestCardNonce();
}

我想获得一个卡 nonce,以便我可以开始接收付款,但只要 requestCardNonce 功能不工作,我就无法完成交易。有人对如何解决这个问题有建议吗?

标签: ruby-on-railsrubysquare-connect

解决方案


推荐阅读