我已將Google Checkout與網站集成在一起,讓它工作/假裝向人收費並且處理訂單通知的罰款。PHP Google Checkout Notifications - 用於發送通知請求的代碼示例?
但是,當我向Google發出請求以獲取通知的詳細信息時,我收到了400條響應,這是有關無效XML的一些問題。
事情是,到目前爲止,這個集成的一切都是HTML鍵值對,但突然之間我需要解析和處理XML?我可能會錯過一些東西,但我無法看到文檔中的位置,它確切地告訴我我的請求應該是什麼樣子。
它清楚地列出了與名稱/值對的例子,但顯然我確實需要送他們爲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我也檢查通過谷歌的示例代碼,但它是如此分層和依賴性纏身,雖然我設法使用它的一些,其餘的是一個謎 - 所以除非你可以給我行號,樣品沒有太大的幫助
有什麼接收通知歷史的正確過程?你是否在你的回調網址中提出這個請求? (我讀了一些關於順序必須是5分鐘的老,所以混亂出現) – Ozzy
有一個很好的問題。抱歉,但自從我實施這個項目以來,我一直都沒有記住我在哪個網站上放置過這個網站。據我所知,我在做的是對谷歌捅錢的迴應 - 他們將付款/訂單通知發送到您的網站,然後由您返還請求並索取更多數據。因此,這表明當他們向您發送通知時,*有*數據可用。希望有所幫助 – jammypeach