生产网站弹出sandbox.paypal支付窗口,而不仅仅是paypal.com支付窗口

我在网站上有一个贝宝“智能按钮”支付网关。本地测试的沙盒版本似乎工作得很好,但是一旦我投入生产,支付弹出窗口仍然显示 sandbox.paypal.com/etc


我已确保我在 prod 上的 .env 文件具有以下设置:


APP_ENV = production


and


PAYPAL_MODE = live

(显然还有所有沙盒和产品机密以及客户端 ID。我是否缺少这里需要的任何 ID?)


我的配置文件夹中有这个 paypal.php(我正在使用 Laravel):


<?php

/**

 * PayPal Setting & API Credentials

 */



if ( env('APP_ENV') == 'local' || env('APP_ENV') == 'staging') {

    return array(

        'client_id' => env('PAYPAL_SANDBOX_CLIENT_ID'),

        'secret' => env('PAYPAL_SANDBOX_SECRET'),

        'settings' => array(

            'mode' => env('PAYPAL_MODE', 'sandbox'),

            'http.ConnectionTimeOut' => 3000,

            'log.LogEnabled' => true,

            'log.FileName' => storage_path() . '/logs/paypal.log',

            'log.LogLevel' => env('PAYPAL_LOG_LEVEL', 'DEBUG'),

        ),

    );

}


if ( env('APP_ENV') == 'production' ) {

    return array(

        'client_id' => env('PAYPAL_PROD_CLIENT_ID'),

        'secret' => env('PAYPAL_PROD_SECRET'),

        'settings' => array(

            //payment mode, 'sandbox' or 'live'

            'mode' => env('PAYPAL_MODE', 'live'),

            'http.ConnectionTimeOut' => 3000,

            'log.LogEnabled' => true,

            'log.FileName' => storage_path() . '/logs/paypal.log',

            'log.LogLevel' => env('PAYPAL_LOG_LEVEL', 'DEBUG'),

        ),

    );

}

然后在我处理付款的控制器中,我添加了这个构造。我认为这可能是我做错了什么,因为我不确定我是否在这里遗漏了什么:


    public function __construct()

    {

        /** PayPal api context **/

        $paypal_conf = \Config::get('paypal');

        $this->_api_context = new ApiContext(new OAuthTokenCredential(

                $paypal_conf['client_id'],

                $paypal_conf['secret'])

        );

        $this->_api_context->setConfig($paypal_conf['settings']);

    }

我不确定这个问题可能是在哪里引起的,但请告诉我,我可以添加代码!我正在使用 laravel 和 vuejs 堆栈


有什么想法吗?


犯罪嫌疑人X
浏览 159回答 1
1回答

阿波罗的战车

我解决了这个!原来我是在站点布局中导入 friggin 沙盒 API 的 SDK 而不是普通的非沙盒 SDK
打开App,查看更多内容
随时随地看视频慕课网APP