4

我正在尝试让我的基于 .net 4.0 的网站与 PayPal Express 的集成工作。

我的代码使用了 paypal_base.dll

虽然这个文件在各种技术论坛上的许多最新支持帖子中都被引用,但我在网络上的任何地方都找不到任何活动链接来下载它。

自从被新的 developer.paypal.com 网站取代后,x.com 网站已禁用所有链接。在这个不是很有帮助的新站点上,它提供了 Github 的下载链接。我可以在那里找到的唯一合适的 SDK DLL 是 PayPalCoreSDK.dll、PayPalMerchantSDK.dll 和 PayPalPermissionSDK.dll——它们似乎都不包含“CallerServices”或我的代码所期望的其他接口。

在他们的新 developer.paypal.com 网站上,没有提到这个常用的 paypal_base.dll 文件!他们不说它已经贬值了。

PayPal 提供的 DDL 似乎与我正在寻找 com.paypal.soap.api 的示例代码不兼容

例如,“CallerServices”不会出现在 PayPal 在其 GitHub 下载站点上提供的任何旧版 SDK DLL 中。

我手头的paypal_base.dll 版本是5.6.61.0。我在各种支持帖子中看到了更新的版本。

我拥有的版本会引发通信错误。“请求被中止:无法创建 SSL/TLS 安全通道。”

我希望有人能指出我可以在哪里下载最新版本的 paypal_base.dll,或者指出哪个 PayPal SDK DLL 支持这些方法。

非常感谢, ARF

4

1 回答 1

4

我刚刚遇到了这个确切的问题(我们有版本 5.6.63.0)。问题是 dll 指向错误的 API Endpoints。代码使用 SOAP API,而 dll 指向 NVP 端点(您可以查看 dll 内部并查看 XML)。

该问题已通过在站点 Web.config 文件中覆盖这些来解决。

将以下内容添加到 configSections: <section name="paypal" type="com.paypal.sdk.core.ConfigSectionHandler, paypal_base"/>

然后在 web.config 文件的一个部分中的 paypal_base.dll 中添加 XML 块<paypal></paypal>,将链接替换为上面链接中所需的链接。

来自 paypal_base.dll 的 XML 块:

<endpoints>
    <wsdl>
        <environment name="live">
            <port name="PayPalAPI">https://api.paypal.com/nvp</port>
            <port name="PayPalAPIAA">https://api-aa.paypal.com/nvp</port>
            <port name="PayPalAPI" threetoken="true">https://api-3t.paypal.com/nvp</port>
            <port name="PayPalAPIAA" threetoken="true">https://api-aa-3t.paypal.com/nvp</port>
        </environment>
        <environment name="sandbox">
            <port name="PayPalAPI">https://api.sandbox.paypal.com/nvp</port>
            <port name="PayPalAPIAA">https://api.sandbox.paypal.com/nvp</port>
            <port name="PayPalAPI" threetoken="true">https://api-3t.sandbox.paypal.com/nvp</port>
            <port name="PayPalAPIAA" threetoken="true">https://api-3t.sandbox.paypal.com/nvp</port>
        </environment>
        <environment name="beta-sandbox">
            <port name="PayPalAPI">https://api.beta-sandbox.paypal.com/nvp</port>
            <port name="PayPalAPIAA">https://api-aa.beta-sandbox.paypal.com/nvp</port>
            <port name="PayPalAPI" threetoken="true">https://api-3t.beta-sandbox.paypal.com/nvp</port>
            <port name="PayPalAPIAA" threetoken="true">https://api-3t.beta-sandbox.paypal.com/nvp</port>
        </environment>        
    </wsdl>
</endpoints>

将每个替换/nvp/2.0

于 2013-06-07T16:03:22.887 回答