Я делаю платеж, используя Квадратный платеж 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();
}