Paypal:从沙盒上线

Posted

技术标签:

【中文标题】Paypal:从沙盒上线【英文标题】:Paypal: going Live from sandbox 【发布时间】:2015-02-10 00:11:49 【问题描述】:

我已经对此进行了一段时间的头脑风暴,最后我决定在这里提出一个问题。

我正在使用 PayPal-PHP-SDK (restAPI) 处理付款。而且我无法让它进入实时端点(api.paypal.com)并且总是进入沙盒(api.sandbox.paypal.com

Progress:使用沙盒凭据(clientIdclientSecret) 'bootstarp.php' 和 'mode' 在 'sdk_config.ini' 中设置为 'sandbox'成功完成了多个沙盒交易并完成了项目的所有其他部分。现在唯一的部分就是让它上线,这实际上是该项目的致命弱点。

我的尝试:我已将沙盒凭据替换为来自客户端的实时凭据。他从https://developer.paypal.com/webapps/developer/applications/myapps 获得,然后在应用程序下点击'show' Live Credentials。我还在 'sdk_config.ini' 中将 mode 更改为 live。但它仍然将我带到沙盒端点。

编辑:在 bootstarp.php 中创建 api 上下文时,我还设置了一种模式,代码如下。

$apiContext->setConfig(
    array(
        'mode' => 'live',
        'http.ConnectionTimeOut' => 30,
        'log.LogEnabled' => true,
        'log.FileName' => '../PayPal.log',
        'log.LogLevel' => 'FINE',
        'validation.level' => 'log'
    )
);

任何人都可以建议我在这里缺少什么,因为我没有错误可以调试并进一步查看。如需任何帮助或建议,请提前致谢。

【问题讨论】:

【参考方案1】:

你是否改变了 bootstrap.php 中的模式?看来您可以使用 bootstrap.php 或 sdk_config.ini 文件中的配置,但不能同时使用两者。如果您将 sdk_config.ini 路径注释掉如下(来自 bootstrap.php 文件),请确保将模式设置为存在于 bootstrap.php 文件中

// Register the sdk_config.ini file in current directory
// as the configuration source.
/*
if(!defined("PP_CONFIG_PATH")) 
    define("PP_CONFIG_PATH", __DIR__);

*/

【讨论】:

刚才试过了,还是需要沙箱。【参考方案2】:

这可能更适合作为对 Mike Miller 解决方案的评论,但我没有足够的代表,抱歉。​​

我在五分钟前从 Paypal API 沙盒迁移到 live,使用您的问题和 Mike 的回答来获取有关如何执行此操作的信息。

我唯一改变的是 bootstrap.php 中 clientIdclientSecret 的值,以及 mode(从“沙盒”到'live'),就像你在问题中提出的那样。根据 Mike 的回答,我根本没有编辑 'sdk_config.ini' 文件,并且无论如何都注释掉了路径。

我注意到您将“bootstrap.php”文件称为“bootstarp.php” - 这与它没有任何关系,是吗?

【讨论】:

【参考方案3】:

我遇到了同样的问题,但我无法解决。

我并不为我的解决方案感到自豪,因为它一点也不优雅,但它开始销售了。

我修改了文件PayPalConstants.php(位于...\PayPal-PHP-SDK\paypal\rest-api-sdk-php\lib\PayPal\Core\PayPalConstants.php

我刚刚将沙盒路由更改为实时路由:

const REST_SANDBOX_ENDPOINT = "https://api.paypal.com/";

const OPENID_REDIRECT_SANDBOX_URL = "https://www.paypal.com/webapps/auth/protocol/openidconnect";

【讨论】:

以上是关于Paypal:从沙盒上线的主要内容,如果未能解决你的问题,请参考以下文章

PayPal - 使用 REST API 从沙盒切换到真实账户

从沙盒购买时模拟 PayPal 待处理的电子支票?

从沙盒帐户中删除所有交易

沙盒贝宝帐户已删除,但仍然存在?

如何从沙盒切换到应用内购买

将闪电页面从沙盒部署到生产环境