我正在使用express checkout REST API在Paypal上付款。我在PHP中使用CURL成功地检索了令牌。然而,实际付款的下一部分不起作用。
我得到以下错误:
. lang。NullPointerException(我相信这个错误来自paypal?)
我试过通过代码,但我不明白我做错了什么,因为它是所有简单的结构。
我的代码:$payment_result_json = array(
"intent" => "sale",
"redirect_urls" => array("return_url" => "http://paypal/paypal_return.php", "cancel_url" => "http://paypal/paypal_cancel.php"),
"payer" => array("payment_method" => "paypal"),
"transactions" => array(
"amount" => array("amount" => array(
"total" => "1", "currency" => "USD", "details" => array(
"subtotal" => "1", "shipping" => "0", "tax" => "1", "shipping_discount" => "0"
)
)),
"item_list" => array("quantity" => "1", "name" => "Item 1", "price" => "1", "currency" => "USD", "description" => "item1 desc","tax" => "1"),
"description" => "Tutoring lesson"
));
$post_headers = array("Authorization: Bearer $retreived_access_token");
$ch = curl_init("https://api.sandbox.paypal.com/v1/payments/payment");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $post_headers);
while(empty($payment_result)){
$payment_result = curl_exec($ch);
}
if(empty($payment_result)){
print curl_error($ch);
}else{
print $payment_result;
}
curl_close($ch);
$payment_result_json = json_decode($payment_result);
print_r($payment_result_json);
昨天我也有同样的问题。我解决了这个问题,增加了这个标题:$post_headers = array("Authorization: Bearer $retreived_access_token", "Content-Type: application/json");
希望有所帮助