У меня на сайте есть платежный шлюз 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 стек
Любые идеи кто-нибудь?