Похоже, что документация разработчика Sumup требует трех шагов: p>
- Используйте Curl для получения кода авторизации из API.
- Используйте этот код с PHP SDK в первый раз для получения токен доступа
- Затем используйте этот токен с PHP SDK во второй раз, чтобы получить идентификатор оформления заказа.
Я потратил много дней, пытаясь интерпретировать документацию Sumup Developer. Примеры не предоставлены, а служба поддержки @sumup отвечает быстро, но заинтересована только в ответах на подробные вопросы.
Это первый раз, когда мне пришлось использовать Stackoverflow для ответа на вопрос как минимум за 10 лет. Надеюсь, коллега добился успеха и сможет оказать некоторую помощь.
$checkoutId = ""; $token = ""; $code = "";
$curl = new Curl\Curl();
$curl->get('https://api.sumup.com/authorize', [
'response_type' => 'code',
// 'client_id' => 'cc_classic_*************',
'client_id' => 'sup_sk_*********************',
'redirect_uri' => 'https://api.*****',
]);
if($curl->isSuccess()) {
// do something with response
$code = $curl->response;
} else {
$code = 'Curl error';
}
// ensure to close the curl connection
$curl->close();
$sumup = new \SumUp\SumUp([
'app_id' => "cc_classic_***********", // required,
'app_secret' => "cc_sk_classic_*******************",
'grant_type' => 'authorization_code',
'code' => $code,
]);
$accessToken = $sumup->getAccessToken();
$token = $accessToken->getValue();
$sumupb = new \SumUp\SumUp([
'app_id' => "cc_classic_*****************", // required,
'app_secret' => "cc_sk_classic_********************",
'code' => $token,
]);
$checkoutService = $sumupb->getCheckoutService();
$checkoutResponse = $checkoutService->create($this->rq->data['amount'], $this->rq->data['currency'], $this->rq->data['id'], $this->mdl['email']);
$checkoutId = $checkoutResponse->getBody()->id;
// pass the $chekoutId to the front-end to be processed
Подробнее здесь: https://stackoverflow.com/questions/790 ... rieve-a-ch