Производственный сайт открывает окно оплаты sandbox.paypal, а не просто окно оплаты paypal.com - PullRequest
1 голос
/ 06 января 2020

У меня на сайте есть платежный шлюз PayPal «умная кнопка». Версия «песочницы» при локальном тестировании, казалось, работала отлично, но как только я перешел в производство, всплывающее окно оплаты по-прежнему говорит sandbox.paypal.com/etc

Я убедился, что мой. env-файл на prod имеет следующие настройки:

APP_ENV = production

and

PAYPAL_MODE = live

(а также, очевидно, все секреты песочницы и prod, а также идентификаторы клиентов. Я пропускаю какие-либо идентификаторы, которые здесь необходимы?)

У меня есть этот 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 стек

Любые идеи кто-нибудь?

1 Ответ

0 голосов
/ 03 февраля 2020

Я решил это !! Оказалось, что я импортировал SDK friggin sandbox API в макет сайта вместо обычного SDK без песочницы

SIGH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...