Я интегрировал Google Checkout с сайтом, заставил его работать / делать вид, что взимает штраф с людей, а также обрабатывать уведомления о заказах.
Однако, когда я отправляю запрос в Google, чтобы получить подробную информациюя получаю ответ 400, что-то о недопустимом XML.
Дело в том, что до сих пор все для этой интеграции было парами ключ-значение HTML, но внезапно мне нужно проанализировать и разобраться с XML?Возможно, я что-то упускаю, но не вижу, где в документах указано, как именно должен выглядеть мой запрос.
См. Здесь: http://code.google.com/apis/checkout/developer/Google_Checkout_HTML_API_Notification_API.html#Receiving_and_Processing_Notifications
В нем четко приведен примерс парами имя / значение, но, видимо, мне действительно нужно отправить их в виде XML?
Вот где я сейчас нахожусь:
<?php $header_arr = array("Authorization: Basic ".$authKey,
"Content-Type: application/xml; charset=UTF-8",
"Accept: application/xml; charset=UTF-8");
$request='type=notification-history-request&serial-number='.$serialNumber;
$ch = curl_init($test_URL);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header_arr);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$body = curl_exec($ch);
if (curl_errno($ch)) {
$log.=', error! :'.curl_error($ch);
} else {
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$log.=', status code is: '.$status_code; //400
}
?>
Это возвращает 400 каждый раз - да, я понимаю, что яЯ устанавливаю заголовок принятия для XML, это как указано в документации: http://code.google.com/apis/checkout/developer/Google_Checkout_HTML_API.html#https_auth_scheme
Итак, мне нужно отправить правильный запрос ... есть идеи?
PS Я также проверил пример кода Google, но он настолько многослойный и зависимый, что, хотя мне и удалось его использовать, остальное остается загадкой - поэтому, если вы не можете дать мне номера строк, образцы не являютсябольшая помощь