/ / Google-Wallet Post zurück Decoding-Fehler - PHP, Postback, Android-Pay, JWT

Google-Wallet Post zurück Decoding-Fehler - PHP, Postback, Android-Pay, JWT

Meine Post-Back-Datei für googlw-wallet digitale Güterscheitert. Ich weiß, dass ich eine gültige Antwort von Google bekomme, wenn ich eine Testlinie einlege, um zu überprüfen, dass ich eine Antwort bekomme, die die Antwort an mich per E-Mail schickte. Wie getestet, habe ich eine korrekte jwt decodiert (mit googles on line jwt decoder) wie folgt. Wenn ich die Testlinie unter die JWT :: decode-Zeile bewegte, bekomme ich keine Antwort, die auf einen fatalen Fehler in der Dekodierung hinweist, der von der jwt unverändert ist (durch luciferous). Wenn ich das Postback selbst ausführe, erhalte ich die fatalen Fehler (no jwt natürlich gepostet) zeigt an, dass die Includes und Skripte gefunden werden.

Der zurückgegebene Post ist zurück eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJHb29nbGUiLCJyZXF1ZXN0Ijp7Im5hbWUiOiJJbnZvaWNlIE51bWJlcjogMTA2NTk3IiwiZGVzY3JpcHRpb24iOiJTdXBwb3J0ZWQgU2VydmljZSIsInByaWNlIjoiMTAwIiwiY3VycmVuY3lDb2RlIjoiR0JQIiwic2VsbGVyRGF0YSI6IkRBVklEIE1JTExTLGRhdmVAZHdtaWxscy5jb20sSW52b2ljZSBOdW1iZXI6MTA2NTk3In0sInJlc3BvbnNlIjp7Im9yZGVySWQiOiJHV0RHX1MuY2VhYmI1YzQtNTk1Ni00OGIyLWE0MGItN2ZjMmRkMTg0YTlhIn0sInR5cCI6Imdvb2dsZS9wYXltZW50cy9pbmFwcC9pdGVtL3YxL3Bvc3RiYWNrL2J1eSIsImF1ZCI6IjEyMzQ1NjA1ODcxOTI0NjQ0MjcyIiwiaWF0IjoxNDE1MDI0ODM0LCJleHAiOjE0MTUwMjQ4NTR9.PV8c18EGWLL38sUDmjMY1HEV91An6ZVnKkymuW2SQUI.

header
{
"alg": "HS256"
}
claims
{
"aud": "12345605871924644272",
"iss": "Google",
"request": {
"currencyCode": "GBP",
"price": "100",
"sellerData": "ghhk,ghty.com,Invoice Number:106597",
"name": "Invoice Number: 106597",
"description": "Supported Service"
},
"exp": 1415024854,
"iat": 1415024834,
"typ": "google/payments/inapp/item/v1/postback/buy",
"response": {
"orderId": "GWDG_S.ceabb5c4-5956-48b2-a40b-7fc2dd184a9a"
}
}
signature
PV8c18EGWLL38njyujMY1HEV91An6ZVnKkymuW2SQUI

Ich bekomme einen fatalen Fehler, wenn ich versuche, zu dekodieren, da ich danach nicht zu einer Testlinie komme.

mein Postback-Skript ist

<?php

require_once "../../includes/lib/JWT.php";
require_once "../../includes/seller_info_test.php";



$encoded_jwt = $_POST["jwt"];

$decodedJWT  = JWT::decode($encoded_jwt, $sellerSecret);
$orderId     = $decodedJWT->response->orderId;

header("HTTP/1.0 200 OK");
echo $orderId;

$logfile = "purchasing/logfile.txt";
if (!file_exists($logfile)) {
touch($logfile);
chmod($logfile, 0777);
}
$orderIDS   = file($logfile); //reads file into array
$orderIDS[] = $orderId; //append new orderID to array
file_put_contents($logfile, $orderIDS); //save the new array to file
?>

Antworten:

0 für die Antwort № 1

Problem jetzt gelöst. sehr einfach $ sellerSecret wurde nicht von der Include-Datei gelesen, wenn sie durch den tatsächlichen Wert ersetzt wurde. Suche nach dem Offensichtlichen, nehme ich an! Protokolldateizeilen entfernt und eine send-E-Mail-Adresse hinzugefügt. Nächster Schritt zum Schreiben Include-Datei zum Schreiben von Antwortdaten zurück in die Datenbank gegen Verkäufer Datenfeld.