微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

条纹元素 - 苹果支付问题 - 付款窗口会在一秒钟内出现和消失

如何解决条纹元素 - 苹果支付问题 - 付款窗口会在一秒钟内出现和消失

我使用 js API v3 和条纹元素将 Stipe 付款连接到该站点。一切正常(包括谷歌支付)期待苹果支付。当用户点击苹果支付按钮时 - 支付窗口只出现一秒钟,然后消失。站点域已根据 Stripe wiki for js v2,v3 doesn't have such page 进行验证。找不到任何错误。将不胜感激任何提示甚至方向。谢谢。

代码示例:

          paymentRequest = stripe.paymentRequest({
          country: 'GB',currency: 'gbp',total: {
              label: 'Upgrade',amount: 11400,},requestPayerName: false,requestPayerEmail: true,});

      var prButton = elements.create('paymentRequestButton',{
          paymentRequest: paymentRequest,});

      paymentRequest.canMakePayment().then(function (result) {
                  if (result) {
                      prButton.mount('#payment-request-button');
                  } else {
                      document.getElementById('payment-request-error').innerHTML = "Your browser doesn't support Google or Apple Wallet";
                      document.getElementById('payment-request-button').style.display = 'none';
                  }

                  paymentRequest.on('paymentmethod',function (ev) {
                      stripe.confirmCardPayment(
                          clientSecret,{
                              payment_method: ev.paymentMethod.id
                          },{
                              handleActions: false
                          }
                      ).then(function (confirmResult) {
                          if (confirmResult.error) {
                              ev.complete('fail');
                          } else {
                              ev.complete('success');
                              if (confirmResult.paymentIntent.status === "requires_action") {
                                  stripe.confirmCardPayment(clientSecret).then(function (result) {
                                      if (result.error) {
                                          alert("Error,try new payment method");
                                      } else {
                                          orderComplete(confirmResult.paymentInten.id);
                                      }
                                  });
                              } else {
                                  orderComplete(confirmResult.paymentInten.id);
                              }
                          }
                      });
                  });
                
                  /*
                  Some code
                  */
                 
                  // update request price if user select diffirent price
                  paymentRequest.update({
                      total: {
                          label: 'Upgrade',amount: finalPrice * 100,})

解决方法

Apple Pay 在 example in the docs 对您有用吗?您是否有可在线访问的实现示例,或者您是否可以在 JSFiddle 或 CodeSandbox 中重现此示例?

尝试的两个建议:

  1. 在您对 orderComplete 的调用中,您似乎在 paymentInten**t**.id 上有错字 -- 在这两种情况下都缺少末尾的 t
  2. 我想知道您的 paymentRequest.update 是否引起了问题。我不熟悉这部分 API 的行为,因此我建议禁用以简化诊断。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。