Frage

Wir versuchen, Google Wallet für digitale Waren in eine PHP-App zu integrieren, und vor 2 Tagen, am 15. November, haben wir es geschafft, es zum Laufen zu bringen.Bei der erneuten Überprüfung am nächsten Tag und auch heute noch, obwohl der Code derselbe geblieben ist, haben wir keinen Buchstaben darin geändert, er funktioniert immer noch nicht und gibt uns diesen Fehler:

Oh, oh.Es gab ein Problem.

Wir konnten Ihren Kauf aufgrund eines technischen Problems nicht abschließen.

Details des Problems unten:Leider konnten wir Ihren Kauf nicht mit dem Server des Händlers bestätigen.Ihre Bestellung wurde storniert.Bitte kontaktieren Sie den Händler, wenn dieses Problem weiterhin besteht.

Der Code, den wir verwenden, ist folgender:

    $response = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : file_get_contents("php://input");

    $response = substr_replace($response, "", 0, 4);   //remove "

    $response = JWT::decode($response, $sellerSecretKey);

    header("HTTP/1.1 200 OK");

und wie gesagt, es hat vor zwei Tagen gut funktioniert und ich habe das Gefühl, dass es jetzt auch funktioniert, weil wir in unserer Protokolldatei diese Antwort gedruckt bekommen

stdClass-Objekt ( [iss] => Google Suche [request] => Standardklassenobjekt ( [name] => Produkt 1.[description] => Sie kaufen insgesamt 1 Produkte in unserem Shop.Danke.[preis] => 9,99 [Währung] => USD [sellerData] => Kundenname,E-Mail-Adresse )

[response] => stdClass Object
    (
        [orderId] => GWDG_S.c7a66f5b-4674-43f0-be16-2b72f69a7445
    )

[typ] => google/payments/inapp/item/v1/postback/buy
[aud] => 03083876603093172875
[iat] => 1384689627
[exp] => 1384689647

)

Die Postback-URL ist korrekt angegeben und wir verwenden Sandbox, um die Tests durchzuführen.

Ist das ein Problem von Google?Arbeiten sie an der Software oder so und das ist es, was das Problem verursacht?Oder machen wir hier etwas falsch?.

Jede Hilfe wäre sehr dankbar.Danke.

War es hilfreich?

Lösung

Wollte kommentieren, aber es passt nicht...

Dieser Fehler weist auf etwas in Ihrem hin Postback-Handler.Ich habe gerade Sandbox ausprobiert und die Dinge scheinen in Ordnung zu sein.

Ich bin nicht ein PHP-Entwickler, also ist das vielleicht ungenau - antwortest du auf Postback mit dem orderId?Auch dies basiert nur auf meinem Lesen des obigen Codes (ich denken Ich sehe nur http 200?)

Das einzige andere, woran ich denken kann, ist, dass die Verzögerung für Ihre Antwort mehr als 10 Sekunden beträgt (?) - die könnte erklären warum könnte ein anderer Grund sein sie haben Daten protokolliert, aber Google noch abgesagt.

*Durchschlagen Text:sie würden Daten zum Protokollieren erhalten, da Google Ihnen die Daten sendet. Es kommt darauf an, ob Sie richtig antworten oder nicht

Sobald Sie das JWT mit Ihrem Verkäufergeheimnis entschlüsselt haben, können Sie sicherstellen, dass der Kuchenkauf in Ordnung ist, und es aufzeichnen. Innerhalb von 10 Sekunden um das Postback zu erhalten, muss Ihr Server eine Antwort von 200 OK senden, wobei der einzige Inhalt ist der Wert des Felds "OrderID".Wenn dies nicht der Fall ist, bricht Google die Transaktion ab.

REF: https://developers.google.com/commerce/wallet/digital/docs/postback#responding

Hth.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top