Я полный новичок в BigCommerce, а также плагины. И недавно планировалось разработать приложение в один клик, которое могли бы устанавливать пользователи любого магазина в своем магазине. У меня хорошая рука на php. Итак, я могу кодировать, но не знаю поток для плагинов.
Чтобы создать черновик приложения, я отправился на devtools.bigcommerce.com и создал приложение, определившее URL-адрес Auth Callback как https://amanangira.com/bCommerce/oauth.php
и загрузить Callback URL как https://amanangira.com/bCommerce/callBack.php
в oauth.php я вставил следующий код
<?php
$data = array( "client_id" => "123456789",
"client_secret" => "123456789",
"redirect_uri" => "https://amanangira.com/bCommerce/callBack.php",
"grant_type" => "authorization_code",
"code" => $_GET["code"], "scope" => $_REQUEST["scope"], "context" => $_GET["context"], );
$postfields = http_build_query($data);
$ch = curl_init();
//$url = "https://api.bigcommerce.com/stores/wky4s3lfef/v3/";
$url = "https://login.bigcommerce.com/oauth2/token";
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);
curl_close ($ch);
$obj = json_decode($output);
var_dump($obj);
?>
Теперь, когда я устанавливаю приложение в своем тестовом магазине, оно говорит следующее.
/var/www/html/angira/bCommerce/oauth.php:37:
Объект (StdClass) [3] public ‘error’ => string ‘redirect_uri_mismatch’ (length = 21)
public ‘error_description’ => string ‘Параметр redirect_uri не соответствует зарегистрированному URI’ (длина = 52)
Пожалуйста, помогите с вышесказанным в максимально простых словах.
Спасибо.
После некоторых ударов и испытаний я наконец наткнулся на решение. Который должен был обновить redirect_uri в oauth.php до того, который был URI Auth Callback в конфигурации приложения.
"redirect_uri" => "https://amanangira.com/bCommerce/oauth.php"
Других решений пока нет …