PHP | Paypal Rest API | java.lang.NullPointerException


PHP | Paypal Rest API | java.lang.NullPointerException

我正在使用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");

希望有所帮助