4
I have never used JSON before and am trying to retrieve the values POSTed to my site from coinbase. But I have no idea how to.
Information about the IPN and callback can be found here: https://coinbase.com/docs/merchant_tools/callbacks
To be more specific, what I understand so far is that I can use json_decode($jsonData); to turn the JSON data into PHP data. But how do I set the variable $jsonData?
This is the response that is supposed to be sent:
{"order":{"id":null,"created_at":null,"status":"new","total_btc":
{"cents":100000000,"currency_iso":"BTC"},"total_native":
{"cents":2263,"currency_iso":"USD"},"custom":"123456789","button":
{"type":"buy_now","name":"Test Item","description":null,"id":null},"transaction":
{"hash":"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b","confirmations":0}}}
Could you put
var_dump($_POST);in your callback and post the output? – Nick ODell – 2013-02-08T02:22:32.193I just tried $data = var_dump($_POST); file_put_contents('coinbase.txt', $data); with no luck. – fwho – 2013-02-08T02:32:33.393
Ah, of course. It's been a while since I've done any php. Try
$data = print_r($_POST, TRUE); file_put_contents('coinbase.txt', $data);– Nick ODell – 2013-02-08T02:34:35.123I got Array ( ) It is a step forward though! – fwho – 2013-02-08T02:40:28.993
Do you have a shell on this computer? If so, you could do
nc -l 8080, then set the callback url tohttp://yoursite.com:8080/to see exactly what it's sending. – Nick ODell – 2013-02-08T04:36:53.903I have no idea how to do that to be honest. – fwho – 2013-02-08T17:09:03.393
If print_r is displaying "Array ()" then the array returned is is empty. – Highly Irregular – 2013-02-08T18:24:12.903
I added the data that I am told is being sent. I believe the data is an array nested within an array in JSON format. – fwho – 2013-02-08T20:48:56.907