Я пытаюсь внедрить метод квадратного платежа на свой сайт через документацию, приведенную по ссылке ниже.
https://docs.connect.squareup.com/articles/processing-payment-php/
После получения одноразового номера я пытаюсь получить идентификатор местоположения, как определено в документации. В консоли всегда возвращается следующая ошибка:
Fatal error: Uncaught exception 'SquareConnect\ApiException' with message 'API call to https://connect.squareup.com/v2/locations failed: SSL certificate problem: unable to get local issuer certificate' in C:\xampp\htdocs\my_project\vendor\square\connect\lib\ApiClient.php:245
Stack trace:
#0 C:\xampp\htdocs\my_project\vendor\square\connect\lib\Api\LocationApi.php(165): SquareConnect\ApiClient->callApi('/v2/locations', 'GET', Array, '', Array, '\\SquareConnect\\...')
#1 C:\xampp\htdocs\my_project\vendor\square\connect\lib\Api\LocationApi.php(105): SquareConnect\Api\LocationApi->listLocationsWithHttpInfo('sq0atb-a8CwQY9D...')
#2 C:\xampp\htdocs\my_project\locations-test.php(10): SquareConnect\Api\LocationApi->listLocations('sq0atb-a8CwQY9D...')
#3 {main}
thrown in C:\xampp\htdocs\my_project\vendor\square\connect\lib\ApiClient.php on line 245
У вас может не быть самого современного пакета сертификатов CA. Попробуйте выполнить шаги в этом связанном ответе StackOverflow и посмотрите, работает ли это: https://stackoverflow.com/a/19149687
Если это не сработает, какую версию операционной системы и какую версию PHP вы используете? В интерактивной консоли PHP (php -a
) каков выход echo OPENSSL_VERSION_TEXT;
? Наконец, каков результат openssl s_client -connect connect.squareup.com:443
(в cmd, а не в консоли PHP)?
Других решений пока нет …