Php 贝宝:从沙盒开始直播

Php 贝宝:从沙盒开始直播,php,paypal,paypal-sandbox,Php,Paypal,Paypal Sandbox,我已经头脑风暴了一段时间,最后我决定在这里提出一个问题 我正在使用贝宝PHP SDK(restAPI)处理付款。我不能让它进入实时端点(api.paypal.com),而总是进入沙盒(api.sandbox.paypal.com) Progress:使用'bootstarp.php'中的沙盒凭据(clientId和clientSecret)和'sdk\u config.ini'中的'mode'设置为'sandbox',我成功完成了多个沙盒事务,并完成了项目的所有其他部分。现在唯一的部分就是让它活

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

我正在使用贝宝PHP SDK(restAPI)处理付款。我不能让它进入实时端点(api.paypal.com),而总是进入沙盒(api.sandbox.paypal.com)

Progress:使用'bootstarp.php'中的沙盒凭据(clientIdclientSecret)和'sdk\u config.ini'中的'mode'设置为'sandbox',我成功完成了多个沙盒事务,并完成了项目的所有其他部分。现在唯一的部分就是让它活起来,这实际上是这个项目的致命弱点

我尝试的内容:我已将沙盒凭据替换为来自客户端的实时凭据。从那时起,他在应用程序下点击“show”Live Credentials(显示实时凭证)获得了这些信息。我还将'sdk_config.ini'中的模式更改为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'
    )
);

有谁能告诉我我在这里遗漏了什么,因为我没有错误需要调试和进一步研究。如需任何帮助或建议,请提前感谢。

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


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

五分钟前,我从Paypal API沙箱搬到了live,使用您的问题和Mike的答案了解如何做到这一点

我唯一改变的是bootstrap.php中的clientIdclientSecret的值,以及模式(从“沙盒”到“生活”),就像你在问题中所说的那样。根据Mike的回答,我根本没有编辑“sdk_config.ini”文件,路径也被注释掉了


我注意到您将“bootstrap.php”文件称为“bootstarp.php”-这与它无关,是吗

我遇到了无法解决的问题

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

我修改了文件
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";

刚刚试过,但仍然需要沙箱。
const REST_SANDBOX_ENDPOINT = "https://api.paypal.com/";

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