无法解析Paypal" notify_url"数据到关联数组(PHP)

时间:2017-08-26 21:03:34

标签: php json paypal

我正在设置Paypal沙箱。一切正常。交易完成后,paypal将一些数据发送到我的" notify_url"页面(我将其命名为process-payment.php)。

现在,当我发帖时:

$array = $_POST;
$encodedString = json_decode($array);

现在,我可以将数据库中的编码字符串PUT,它看起来像:

{"mc_gross":"10.00","protection_eligibility":"Eligible",
"address_status":"confirmed","payer_id"}

现在,我的一个大问题是,如何将这个(^^^)变成一个关联数组,我可以将这些值存储在记录事务的数据库中?非常感谢你的帮助!我已经尝试过了:

    $pp_array = file_get_contents('php://input');

    $arrayDump = json_encode($pp_array);

    $pp_array = json_decode($pp_array, true);

显然,这不起作用。所以,有点希望有人可以在这里给我一些监护!

2 个答案:

答案 0 :(得分:0)

您正在尝试在错误的数组上使用json_decode,因为payer_id为NULL。考虑填写或删除它。这是一个填充payer_id

的工作示例
$json = '{"mc_gross":"10.00","protection_eligibility":"Eligible", "address_status":"confirmed","payer_id":"2"}';
$json_asoc = (json_decode($json, true));
print $json_asoc['mc_gross']; // 10

有关详细信息,请参阅here

答案 1 :(得分:0)

所以,事实证明我用来使其工作的代码是:

    $array = $_POST;

    $arrayDump = json_encode($array);

    file_put_contents('payment-record.txt', $arrayDump);

    $fileContents = file_get_contents('payment-record.txt');

    $pp_array = json_decode($fileContents, true);

这给了我一个可行的阵列。不知道为什么我必须先写它,但你去了。