Paypal 的 Express Checkout 上下文集成

Posted

技术标签:

【中文标题】Paypal 的 Express Checkout 上下文集成【英文标题】:Express Checkout In-Context integration for Paypal 【发布时间】:2015-10-22 12:14:30 【问题描述】:

所以,感谢以下指南,我的 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端点可能吗?没有关于我应该替换什么或在哪里替换的上下文。

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

    <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>

很公平。但是 action="/checkout" 应该是什么?它本身不起作用,那么我到底应该放什么?网址?这应该是我服务器上的文件吗?如果是这样,我需要在该文件中做什么?它想要什么?

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

【问题讨论】:

我的天——这肯定是一些非常糟糕的文档 【参考方案1】:

In-Context 几乎是一天结束时的更多“前端”更改(对您的现有“重定向”Express Checkout 集成)。所以,这就是说:

他们所指的“重定向”是您在获得 ec token 后当前重定向到的 URLPaypal

this sample is probably better 如您所见(第 51 行)var url = paypal.checkout.urlPrefix +token;

1234563值是“新重定向网址”(沙盒):https://www.sandbox.paypal.com/checkoutnow?token=

所以/checkout 只是一个示例,向您展示了如何调用获得 EC token 的(现有)后端 EC 实现,此时,而不是这样做一个 HTTP 重定向自己,你将它传递给前端,以便它可以由 In-Context 流处理。

第...

【讨论】:

【参考方案2】:

在您现有的 Express Checkout 代码上试试这个,实际上您不需要篡改或修改任何内容,因此这是一个纯粹的“前端”更改

    在结帐页面中引用 javascript

<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>
    用此替换您的 PayPal 结帐按钮标签,无需更改表单操作参数

&lt;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" /&gt;

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

【讨论】:

谢谢你,花了一个多小时设置各种废话来开始集成,我所要做的就是使用它

以上是关于Paypal 的 Express Checkout 上下文集成的主要内容,如果未能解决你的问题,请参考以下文章

如何访问 Paypal Express Checkout 的响应?

PayPal Express Checkout 通行证 transactionID

如何为 PayPal Express Checkout 配置 IPN?

paypal express checkout - 400 错误请求

Paypal Express Checkout / React - 发送产品信息

paypal express checkout set paypal费用另加