Paypal的Express Checkout In-Context集成

时间:2015-07-30 23:14:03

标签: php paypal express-checkout

所以,由于以下指南,我有PayPal的快速​​结账系统基本正常工作:

http://www.sanwebe.com/2012/07/paypal-expresscheckout-with-php

但现在我想整合上下文体验,但文档再次完全无用:

https://developer.paypal.com/docs/classic/express-checkout/in-context/integration/

所以,我会根据我应该采取的步骤分解我的问题:

1. Update your redirect URL to: https://www.paypal.com/checkoutnow/

重定向网址的含义是什么?这是返回还是取消网址?都?都不是? API端点可能吗?对于我应该替换或在哪里,没有任何背景。

  1. 我需要在我的网站上添加以下代码:

    <form id="myContainer" method="post" action="/checkout"></form>

    <script> window.paypalCheckoutReady = function () { paypal.checkout.setup('<Your-Merchant-ID>', { environment: 'sandbox', container: 'myContainer' }); }; </script> <script src="//www.paypalobjects.com/api/checkout.js" async></script>

  2. 足够公平。但是action =“/ checkout”应该是什么?它本身不起作用,所以我应该把它放在那里?一个URL?这应该是我服务器上的文件吗?如果是这样,我需要在该文件中做什么?它想要什么?

    我想这些是我到目前为止遇到的主要问题。我很惊讶,关于如何实际设置它的信息很少。

2 个答案:

答案 0 :(得分:3)

In-Context几乎更多&#34;前端&#34;当天结束时的更改(到现有&#34;重定向&#34; Express Checkout集成)。所以,那说:

&#34;重定向&#34;他们指的是Paypal 的网址,您目前在获取ec token后重定向到

  • this sample is probably better正如你所看到的那样(第51行)
    var url = paypal.checkout.urlPrefix +token;

  • 如图所示,您获得的token(就像您目前所做的那样)会附加到&#34;新的重定向网址&#34; - 如果您在浏览器控制台中查看该paypal.checkout.urlPrefix变量,那么您将看到它的值是&#34;新的重定向网址&#34; (沙箱):
    https://www.sandbox.paypal.com/checkoutnow?token=

  • 所以/checkout只是一个示例,向您展示如何调用获得EC token的(现有)后端EC实现,此时,而不是自己进行HTTP重定向,将其传递给前端,以便可以通过In-Context流程处理。

... H个

答案 1 :(得分:1)

在您现有的快速结账代码上试试这个,确实没有什么需要篡改或修改,所以这是一个纯粹的&#34;前端&#34;变化

  1. 在结帐页面中引用JavaScript
  2. &#13;
    &#13;
    <script>
      (function(d, s, id) {
        var js, ref = d.getElementsByTagName(s)[0];
        if (!d.getElementById(id)) {
          js = d.createElement(s);
          js.id = id;
          js.async = true;
          js.src = "//www.paypalobjects.com/js/external/paypal.v1.js";
          ref.parentNode.insertBefore(js, ref);
        }
      }(document, "script", "paypal-js"));
    </script>
    &#13;
    &#13;
    &#13;

    1. 用此替换您的PayPal结帐按钮标记,表单操作参数
    2. 无需更改

      &#13;
      &#13;
      <input type="image" data-paypal-button="true" data-paypal-sandbox="true" src="https://www.paypalobjects.com/webstatic/en_US/i/buttons/checkout-logo-large.png" alt="Check out with PayPal" />
      &#13;
      &#13;
      &#13;

      这与developer.paypal.com上的说明略有不同,作为一种替代解决方法,可以省去麻烦但不推荐的解决方案