我正在设置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);
显然,这不起作用。所以,有点希望有人可以在这里给我一些监护!
答案 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);
这给了我一个可行的阵列。不知道为什么我必须先写它,但你去了。