PayPal Checkout:找不到 LiveEnvironment 类

Posted

技术标签:

【中文标题】PayPal Checkout:找不到 LiveEnvironment 类【英文标题】:PayPal Checkout : LiveEnvironment class not found 【发布时间】:2020-03-16 17:08:07 【问题描述】:

我正在制作一个与 PayPal 集成的网站,我正在查看教程......在沙盒中一切正常,但在 Live 中它不起作用......

关键是,付款执行得很好,但是我尝试检索订单信息并得到:

<br />
<b>Fatal error</b>:  Uncaught Error: Class 'PayPalCheckoutSdk\Core\LiveEnvironment' not found in /api/sources/Classes/PaypalClient.php:25
Stack trace:
#0 /api/sources/Classes/PaypalClient.php(16): PayPalClient::environment()
#1 /api/sources/Controllers/PaymentController.php(116): PayPalClient::client()
#2 [internal function]: PaymentController-&gt;update()
#3 /api/vendor/pecee/simple-router/src/Pecee/SimpleRouter/Route/Route.php(119): call_user_func_array(Array, Array)
#4 /api/vendor/pecee/simple-router/src/Pecee/SimpleRouter/Router.php(286): Pecee\SimpleRouter\Route\Route-&gt;renderRoute(Object(Pecee\Http\Request))
#5 /api/vendor/pecee/simple-router/src/Pecee/SimpleRouter/SimpleRouter.php(52): Pecee\SimpleRouter\Router-&gt;routeRequest()
#6 /api/sources/autoload.php(23): Pecee\SimpleRouter\SimpleRouter::start()
#7 /api/autoloader.php(7): require_once('/home/soinsdesz...')
#8 /api/public/index.php in <b>/api/sources/Classes/PaypalClient.php</b> on line <b>25</b><br />

这是我的 PaypalClient.php 类:

<?php

use PayPalCheckoutSdk\Core\PayPalHttpClient;
use PayPalCheckoutSdk\Core\SandboxEnvironment;
use PayPalCheckoutSdk\Core\LiveEnvironment;

class PayPalClient

    /**
     * Returns PayPal HTTP client instance with environment that has access
     * credentials context. Use this instance to invoke PayPal APIs, provided the
     * credentials have access.
     */
    public static function client()
    
        return new PayPalHttpClient(self::environment());
    

    /**
     * Set up and return PayPal PHP SDK environment with PayPal access credentials.
     * This sample uses SandboxEnvironment. In production, use LiveEnvironment.
     */
    public static function environment()
    
        return (ENV === "prod") ? new LiveEnvironment(PAYPAL_CLIENT_ID, PAYPAL_PRIVATE_KEY) : new SandboxEnvironment(PAYPAL_CLIENT_ID, PAYPAL_PRIVATE_KEY);
    

谁能帮帮我?

【问题讨论】:

【参考方案1】:

好的...我找到了解决方案...所以...

在教程中说:“使用 LiveEnvironment 代替”......这是 错误(感谢 PayPal !!!真的)正确的类名是 ProductionEnvironment

PayPal可以修改他的教程吗:https://developer.paypal.com/docs/checkout/reference/server-integration/setup-sdk/

【讨论】:

谢谢!我也被他们的文件欺骗了? 感谢上帝的 ***,来吧 PayPal!重量级正是您所需要的:进入生产状态的拼写错误,并且必须在 SO 评论中找到答案。 ? 是的...我知道,我尝试向 PayPal 发送消息,让他们知道他们的错误,但从未收到任何通知... -_- 我讨厌 PayPal,我真的很讨厌。 现在是 2020 年 8 月,他们还没有在贝宝开发页面上更新这个。 Paypal 的开发文档很垃圾,他们的网站到处都是 404 链接。

以上是关于PayPal Checkout:找不到 LiveEnvironment 类的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:在 sdk Paypal 中找不到类“Paypal\Api\Payer”

Paypal Express Checkout:应用订单折扣

通过 Paypal Express Checkout REST API 定期付款

PayPal Express Checkout.js - 发送自定义参数

使用 PayPal REST API 通过 Express Checkout 测试拒绝付款

Paypal修改结账界面