Paypal PHP SDK переходит из «песочницы» в «живую»

Привет, ребята, я следовал этому руководству

http://www.sanwebe.com/2014/09/paypal-rest-api-payment-system

У меня режим песочницы PayPal работает отлично. Пришло время запустить сайт, и я хочу, чтобы он работал. Я возился с ним часами и не могу понять, как направить его в режим реального времени.

Любая помощь вообще будет принята с благодарностью.


person DanielRead    schedule 02.02.2015    source источник


Ответы (3)


Если вы используете PayPal-PHP-SDK,

Шаг 1. Вам нужно установить mode на live, чтобы указать SDK на активные конечные точки. Для этого есть несколько способов:

  • sdk_config.ini
    • you need to set this there
    • введите здесь описание изображения
  • dynamically using ApiContext
    • you could do that by setting it similar to this
    • введите здесь описание изображения

Шаг 2. Обновите clientId и секрет для среды Live, так как они различаются в зависимости от песочницы или live. Посетите страницу PayPal Developer и установите флажок в поле выбора, как показано ниже:

введите здесь описание изображения

Эти два шага должны помочь вам приступить к работе с конечной точкой live API.

person Jay Patel - PayPal    schedule 02.02.2015
comment
Думаю добавить страницу в github.com/paypal/PayPal-PHP-SDK/ вики, объясняющая, как переключиться на прямую трансляцию. Это должно помочь разработчикам в будущем. - person Jay Patel - PayPal; 03.02.2015
comment
Кстати, вики-страница была добавлена ​​для запуска: github.com/ PayPal/PayPal-PHP-SDK/wiki/Going-Live - person Jay Patel - PayPal; 24.04.2015
comment
@JayPatel-PayPal Я выполнил следующие шаги (использовал Live Credentials и использовал «live» в качестве режима), но API все еще направляет меня на sandbox.api.paypal.com, где я вижу ошибку 401. Требуется ли что-либо от портала PayPal? stackoverflow.com/questions/31006459/ - person H Patel; 24.06.2015
comment
@JayPatel-PayPal — эту информацию необходимо обновить. Вики должна особо указать, в каком каталоге должен находиться файл sdk_config.ini. Внутри каталога /tests есть один, так откуда же взялся конфиг из коробки? В вашей вики/примере также не упоминается об изменении службы. EndPoint - person going; 18.11.2016
comment
@JayPatel-PayPal. Просматривая код, я замечаю, что внутри RestHandler.php есть вызов _getEndpoint. Это устанавливает sanbox в качестве конечной точки по умолчанию, если нет файла конфигурации. Таким образом, у людей, использующих REST API из коробки, нет шансов начать работу без создания файла конфигурации или указания параметров конфигурации. Вики недостаточно четко указывает на это для тех, кто хочет просто переключиться в прямом эфире. - person going; 18.11.2016

Не могу комментировать H Patel, но в файлах PayPal PHP SDK есть еще один файл sdk_config.ini, который включает конечную точку и режим.

Я заметил, что мне пришлось изменить service.EndPoint в этом другом файле конфигурации на https://api.paypal.com, изменить mode в обоих файлах конфигурации на live, установить log.LogLevel на INFO и динамически установить mode на live в моем PHP-скрипте. Я ТАКЖЕ изменил acct1.ClientId и acct1.ClientSecret в обоих этих конфигурационных ini-файлах, и, похоже, теперь у меня все работает.

Так что это не вопрос выбора того, как вы хотите это сделать, вы должны делать все это, а затем и некоторые сверх того, что PayPal говорит вам делать.

person Bob Saget    schedule 11.11.2015

Вы можете настроить запуск вручную, не создавая файл config.ini.

Просто установите нужное значение

\PayPal\Core\PayPalConfigManager::getInstance()->addConfigs(['mode' => 'live' /*or "sandbox" */]) ;

затем установите свой идентификатор / секрет учетных данных в реальном времени с информацией в реальном времени

$credential = new \PayPal\Auth\OAuthTokenCredential($paypal_id, $paypal_secret);
person foxdanni    schedule 27.09.2018