JQuery-step 和 Stripe - 卡安装

问题描述

我有一个使用 JQuery.steps 的注册/注册页面。在页面加载时执行以下代码

var elements = stripe.elements();
var card = elements.create('card');
card.mount('#card-element');

因此,一旦加载页面并进入付款步骤,我就会看到该元素显示在我的页面上,其中包含 CC 字段、到期日等。

我需要的是,一旦用户进入付款步骤,我需要将卡信息发送到我的 Nodejs 服务器代码,以便创建客户信息和付款信息。我的目标是能够获得信用卡的最后 4 位数字,以便在提交之前向用户展示。为此,我调用了提供最后 4 位数字的 createtoken 函数

所以在最后一步之前,(用户已经输入信用卡信息并按下了下一步(当前索引=0,nextIndex 1))我有以下代码

onStepChanging: function(event,currentIndex,newIndex) {
   if (currentIndex == 0 && newIndex == 1) {
      stripe.createtoken(card).then(function(result) { // <-- this is where the error happens
      if (result.error) {
         var errorElement = document.getElementById('card-errors');
         errorElement.textContent = result.error.message;
         return false;
      },}
onFinishing: function(event,currentIndex) {
   stripe.createPaymentMethod({
       type: 'card',card: card,})
   .then((result) => {
       if (result.error) {
          displayError(error);
       } else {
          var fd = new FormData();
          fd.append('customerId',customerId);
          fd.append('paymentMethodId',paymentMethodId);
          ...          

不幸的是,一旦调用了 stripe.createtoken(card),我就会收到以下错误

IntegrationError:我们无法从指定的元素中检索数据。 请确保您尝试使用的元素仍处于挂载状态。

我基本上在将卡信息发送到我的 nodejs 服务器时遇到问题。

有什么建议吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)