zoukankan      html  css  js  c++  java
  • VS2019下使用.net core调试PP支付Checkout集成SmartPaymentButtons一直报错问题分析

      PP的PayPal Checkout with Smart Payment Buttons集成方案参考:https://developer.paypal.com/docs/checkout/

      在PP的智能按钮继承方案中,你经常会看到的一个错误是:No ack for postMessage zoid_delegate_paypal_checkout in https://www.sandbox.paypal.com in 10000ms

      1-在使用前台JS创建订单时,PP推荐写法(这个写法PP提供的JS-sdk封装好的,自然没有问题,不会产生等待问题):

    <script>
      paypal.Buttons({
        createOrder: function(data, actions) {
          // This function sets up the details of the transaction, including the amount and line item details.
          return actions.order.create({
            purchase_units: [{
              amount: {
                value: '0.01'
              }
            }]
          });
        }
      }).render('#paypal-button-container');
    </script>

      2-使用后台创建订单时,由于用到请求,这里就可能会产生等不带结果或者返回空orderid,PP就会抛出异常,一般请求采用jquery-ajax,但是这里PP不推荐的,PP推荐的是支持异步等待的fetch写法,fetch默认返回Promise,支持等待:

    createOrder: function() {
      return fetch('/my-server/create-paypal-transaction', {
        method: 'post',
        headers: {
          'content-type': 'application/json'
        }
      }).then(function(res) {
        return res.json();
      }).then(function(data) {
        return data.id; // Use the key sent by your server's response, ex. 'id' or 'token'
      });
    }

    但是别忘了PP给的一行关键提示:注意: PayPal 建议您不要使用 jQuery 的ajax()函数,因为 PayPal 会期望您的createOrder函数返回 Promise,而 jQuery 的ajax()函数不会返回 Promise。使用fetch()以执行Ajax请求

      3-当然除了上述两点问题,还有一个是你意想不到的坑,就是我之前博文里有提到VS支持JS调试的文档,但是在调试PPDemo的时候,打开VS的设置情况下:

    无论你怎么写,怎么按照标准的写法写都会报超时未返回orderid的问题,只有偶尔情况下是好的;但是假如我们把调试地址放到一个单独的浏览器窗口访问,是完全OK的,那么问题一定处在调试时做了某些设置导致的,最好发现了上面图中的3项设置,关闭选项后,重启调试功能,完全OK的。真是没谁了!

    *感谢您的阅读。喜欢的、有用的就请大哥大嫂们高抬贵手“推荐一下”吧!你的精神 支持是博主强大的写作动力。欢迎转载!
    *博主的文章是自己平时开发总结的经验,由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
    *我的博客: http://www.cnblogs.com/lxhbky/
  • 相关阅读:
    有用网站
    html5页面布局总结
    video和audio支持格式
    关于浏览器缓冲
    java常见面试题汇总
    jvm常用相关参数
    规律字符串拼接
    线程基础知识
    Kafka学习
    Redis学习
  • 原文地址:https://www.cnblogs.com/lxhbky/p/14949505.html
Copyright © 2011-2022 走看看