簡體   English   中英

條紋元素 - 蘋果支付問題 - 支付 window 出現並在一秒鍾內消失

[英]Stripe elements - issue with apple pay - payment window appear and disappear in a second

我使用 js API v3 和條紋元素將 Stipe 付款連接到該網站。 一切正常(包括谷歌支付)期待蘋果支付。 當用戶點擊蘋果支付按鈕時 - 支付 window 僅出現一秒鍾然后消失。 站點域是根據Stripe wiki for js v2 驗證的,v3 沒有這樣的頁面 找不到任何錯誤。 將不勝感激任何提示甚至方向。 謝謝你。

代碼示例:

          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 在文檔中的示例中是否適合您? 您是否有一個可以在線訪問的實現示例,或者您可以在 JSFiddle 或 CodeSandbox 中重現它嗎?

兩個建議嘗試:

  1. 在您對orderComplete的調用中,您似乎在paymentInten**t**.id上有一個拼寫錯誤——在這兩種情況下都缺少最后的t
  2. 我想知道您的paymentRequest.update是否引起了問題。 我不熟悉 API 這一部分的行為,所以我建議禁用以簡化診斷。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM