Описание интеграции API
Для API требуется форма для размещения на URL API с некоторыми полями ввода и токеном клиента. API обрабатывает и затем публикует ответ на файл callback.php на моем сервере. Я могу получить доступ к опубликованным значениям, используя $ _POST в этом файле. Это все о существующем методе, и он отлично работает.
Требование
Чтобы скрыть значение токена клиента от просмотра со стороны клиента. Итак, я начал с отправки запроса на серверную сторону.
Задача
Я пробовал со многими вариантами, но обратный вызов не происходит -
1) Метод CURL
$ch = curl_init(API_URL);
$encoded = '';
$_postArray['customer_token'] = API_CUSTOMER_TOKEN;
foreach($_postArray as $name => $value)
{
$encoded .= urlencode($name).'='.urlencode($value).'&';
}
// chop off last ampersand
$encoded = substr($encoded, 0, strlen($encoded)-1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $encoded);
$resp = curl_exec($ch);
curl_close($ch);
echo $resp;
$ resp повторяет 1, если строка curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
удалена, но обратный вызов не происходит. Я устанавливаю переменную сеанса в сценарии обратного вызова для проверки. Требуется ли синхронность API для использования метода curl, чтобы curl_exec возвращал ответ?
2) без CURL, как указано в Отправка параметров в URL с использованием метода POST без использования формы
Но обратного вызова не происходит.
Я тоже пытался использовать следующий код, но похоже, что мой pecl не установлен должным образом, потому что HttpRequest () не определен.
$req = new HttpRequest($apiUrl, HttpRequest::METH_POST);
$req->addQueryData($params);
try
{
$r->send();
if ($r->getResponseCode() == 200)
{
echo "success";
// success!
}
else
{
echo "failure";
// got to the API, the API returned perhaps a RESTful response code like 404
}
}
catch (HttpException $ex)
{
// couldn't get to the API (probably)
}
Пожалуйста, помогите мне! Мне просто нужно легко отправить запрос на серверную часть и получить ответ в файле обратного вызова.