Квадратный платеж PHP SDK возвращает ноль - PullRequest
0 голосов
/ 18 января 2020

Я делаю платеж, используя Квадратный платеж PHP SDK
1. Создайте nonce из мобильного приложения и отправьте его на мой сервер для создания запроса на оплату.
2. Мой сервер получает nonce правильно, хотя после запуска $payments_api->createPayment($body); я получаю исключение null.
Вот мой код:

        $access_token = 'MY_ACCESSS_TOKEN';
        $location_id = 'LOCATION_ID';
        $params = Yii::$app->request->post();
        $nonce = $params['nonce'];//received from post request
        # setup authorization
        $api_config = new \SquareConnect\Configuration();
        $api_config->setHost("https://connect.squareupsandbox.com");
        $api_config->setAccessToken($access_token);
        $api_client = new \SquareConnect\ApiClient($api_config);
        # create an instance of the Location API
        $locations_api = new \SquareConnect\Api\LocationsApi($api_client);

        $payments_api = new \SquareConnect\Api\PaymentsApi($api_client);
        //$payments_api = new \SquareConnect\Api\TransactionsApi($api_client);

        $body = new \SquareConnect\Model\CreatePaymentRequest();
        $amountMoney = new \SquareConnect\Model\Money();
        $amountMoney->setAmount(100);
        $amountMoney->setCurrency("USD");

        $body->setSourceId($nonce);
        $body->setAmountMoney($amountMoney);
        $body->setLocationId($location_id);

        $body->setIdempotencyKey(uniqid());

        try {
            $result = $payments_api->createPayment($body);

            $payment_data = $result->getPayment();
           return $result;
        } catch (\SquareConnect\ApiException $e) {
           //returns null
            return $e->getResponseBody();
        }

1 Ответ

0 голосов
/ 19 января 2020

После устранения неполадок я обнаружил ошибку error setting certificate verify locations: CAfile: при выполнении запросов curl.
Я решил ее следующим образом:
1. Загрузив cacert.pem
2. Скопируйте вставку cacert.pem и переименовав ее в curl-ca-bundle.crt
3. Изменение файла php .ini curl на curl.cainfo="xammp path\apache\bin\curl-ca-bundle.crt
Обратите внимание, что я работал над локальным xammp с самозаверяющим ssl.

...