PayPal:从沙盒上线



我已经为此集思广益了一段时间,最后我决定在这里提出一个问题。

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

进度:使用"bootstarp"中的沙盒凭据(clientIdclientSecret.php和"sdk_config.ini"中的"模式"设置为"sandbox">我已经成功完成了多个沙盒事务并完成了项目的所有其他部分。现在唯一的部分是让它上线,这实际上是该项目的致命弱点。

尝试过:我已将沙盒凭据替换为来自客户端的实时凭据。他从 https://developer.paypal.com/webapps/developer/applications/myapps 那里得到的,然后在应用程序下单击"显示"实时凭据。我还更改了模式生活在"sdk_config.ini"中。但它仍然将我带到沙盒端点。

编辑:在bootstarp中创建api上下文时.php我也将其设置为活动模式,代码如下。

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

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

您是否更改了引导.php中的模式?似乎您可以在引导程序中使用配置.php也可以在sdk_config.ini文件中使用配置,但不能同时使用两者。确保模式设置为存在于引导程序.php文件中,如果您sdk_config.ini路径注释掉,如下所示(从引导程序.php文件中(

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

这可能更适合作为对迈克米勒解决方案的评论,但我没有足够的代表,对不起。

五分钟前,我从 PayPal API 沙箱转移到了生活,使用您的问题和 Mike 的回答来获取有关如何执行此操作的信息。

我唯一更改的是 bootstrap.php 中 clientIdclientSecret 的值,以及模式(从"沙盒"到"实时"(,就像您在问题中指出的那样。 我根本没有编辑"sdk_config.ini"文件,根据迈克的回答,路径无论如何都被注释掉了。

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

我遇到了无法解决的相同问题。

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

我修改了文件PayPalConstants.php(位于...PayPal-PHP-SDKpaypalrest-api-sdk-phplibPayPalCorePayPalConstants.php(

我刚刚更改了实时路由的沙盒路由:

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

相关内容

  • 没有找到相关文章

最新更新