[英]paypal rest api payment call returning 401 using php
我正在嘗試將貝寶添加到我的網站。 我一直在按照https://developer.paypal.com/webapps/developer/docs/integration/direct/make-your-first-call/上的說明進行操作,但此操作無效。 我已經成功發送了訪問令牌的請求,並得到了答復。 響應中的信息存儲在名為$ accessToken的對象中。 問題出在我嘗試從上面列出的站點在步驟3中進行API調用時。 我收到從請求發回的401錯誤。 我很確定將請求作為函數參數發送到的$ url是正確的。 這是https://api.sandbox.paypal.com/v1/payments/payment 。 在過去的一個半星期里,我一直在互聯網上尋求幫助,但是我沒有取得任何進展。 任何幫助將不勝感激。 謝謝!
function MakePaymentAPICall($accessToken, $sale, $url, $url_success, $url_cancel){
// Create cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, $url);
$tokenType = $accessToken->GetTokenType();
$token = $accessToken->GetAccessToken();
$auth = "Authorization:" . $tokenType . " " . $token;
$saleTotal = $sale->GetTotal();
$header = array(
'Content-Type' => 'application/json',
'Authorization' => $tokenType . ' ' . $token
);
$dataArray = array(
'intent' => 'sale',
'redirect_urls' => array(
'return_url' => $url_success,
'cancel_url' => $url_cancel
),
'payer' => array(
'payment_method' => 'paypal'
),
'transactions' => array(
'amount' => array(
'total' => $saleTotal,
'currency' => 'USD'
),
'description' => 'Test payment.'
)
);
curl_setopt($ch, CURLOPT_HEADER, http_build_query($header));
// set data to post
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($dataArray));
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
// Execute curl command
$output = curl_exec($ch);
// Get info about request
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// Close cURL resource to free up system resources
curl_close($ch);
return $output;
} // MakePaymentAPICall函數
@ Jason247
http://php.net/manual/en/function.curl-setopt.php
我認為CURLOPT_HEADER需要一個int或bool(無論是1還是TRUE)來發送標頭。
我確實相信CURLOP_HTTPHEADER是您想要的,您可以直接將數組傳遞給它,而無需編碼為查詢字符串。
例如
curl_setopt($curlHandle, CURLOPT_HEADER, 1);
curl_setopt($curlHandle, CURLOPT_HTTPHEADER, $curlHeaders);
401錯誤通常表示訪問令牌無效或已過期: https : //developer.paypal.com/webapps/developer/docs/integration/direct/rest-payments-error-handling/
您是否在授權標頭中包含“承載者”? 例:
Authorization:Bearer EMxItHE7Zl4cMdkvMg-f7c63GQgYZU8FjyPWKQlpsqQP
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.