Ich versuche, einen JSON-POST auf einer Zahlungsschnittstellen-Website zu empfangen, aber ich kann ihn nicht decodieren.
Wenn ich drucke :
echo $_POST;
Erhalte ich:
Array
Ich erhalte nichts, wenn ich dies versuche:
if ( $_POST ) {
foreach ( $_POST as $key => $value ) {
echo "Schlüssel: ".$key."- Wert:".$value."";
}
}
Ich erhalte nichts, wenn ich dies versuche:
$string = $_POST['operation'];
$var = json_decode($string);
echo $var;
Ich erhalte NULL, wenn ich dies versuche:
$data = json_decode( file_get_contents('php://input') );
var_dump( $data->operation );
Wenn ich dies mache:
$data = json_decode(file_get_contents('php://input'), true);
var_dump($data);
Erhalte ich:
NULL
Das JSON-Format laut Dokumentation der Zahlungsseite ist:
{
"operacion": {
"tok": "[generiertes Token]",
"shop_id": "12313",
"antwort": "S",
"antwort_details": "Antwort S",
"erweiterte_antwort_beschreibung": "erweiterte Antwort",
"währung": "PYG",
"betrag": "10100.00",
"autorisierungsnummer": "123456",
"ticketnummer": "123456789123456",
"antwortcode": "00",
"antwortbeschreibung": "Transaktion genehmigt.",
"sicherheitsinformation": {
"kunden_ip": "123.123.123.123",
"kartentyp": "I",
"karteland": "Kroatien",
"version": "0.3",
"risikoindex": "0"
}
}
}
Das Zahlungsseitenprotokoll sagt, dass alles in Ordnung ist. Was ist das Problem?