Domanda

Stiamo cercando di integrare Google Wallet per beni digitali con l'app php e 2 giorni fa, il 15 novembre, siamo riusciti a farlo funzionare.Tuttavia, ricontrollando il giorno successivo e anche oggi, sebbene il codice sia rimasto lo stesso, non abbiamo cambiato una lettera, continua a non funzionare, dandoci questo errore:

Uh Oh.C'era un problema.

Non è stato possibile completare l'acquisto a causa di un problema tecnico.

Dettagli del problema di seguito:Purtroppo non siamo riusciti a confermare il tuo acquisto con il server del commerciante.Il tuo ordine è stato annullato.Contatta il commerciante se il problema persiste.

Il codice che stiamo utilizzando è questo:

    $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");

e come ho detto ha funzionato bene due giorni fa e ho la sensazione che funzioni anche adesso, perché nel nostro file di registro viene stampata questa risposta

Oggetto STDClass ([ISS] => Google [Richiedi] => Oggetto STDClass ([nome] => Prodotto 1.[descrizione] => Stai acquistando un totale di 1 prodotti dal nostro Negozio.Grazie.Price] => 9.99 [CurrencyCode] => USD [SellerData] => Nome client, indirizzo e -mail)

[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

)

L'URL del postback è specificato correttamente e stiamo utilizzando sandbox per eseguire i test.

È un problema di Google?Stanno lavorando al software o qualcosa del genere e questo è ciò che causa il problema?Oppure stiamo facendo qualcosa di sbagliato qui?.

Qualsiasi aiuto sarebbe molto apprezzato.Grazie.

È stato utile?

Soluzione

Volevo commentare ma non va bene...

Questo errore indica qualcosa nel tuo Gestore del postback.Ho appena provato sandbox e le cose sembrano a posto.

Io sono non uno sviluppatore php quindi questo potrebbe essere impreciso: stai rispondendo a Postback con il file orderId?Ancora una volta, questo si basa solo sulla mia lettura del codice sopra (I pensare vedo solo http 200?)

L'unica altra cosa che mi viene in mente è che il ritardo nella tua risposta è superiore a 10 secondi (?), il che potrebbe spiegare perché potrebbe essere un altro motivo hai registrato i dati, ma Google Ancora lo ha cancellato.

*Colpire testo:otterresti dati da registrare perché Google ti invierà i dati, ciò che conta è se rispondi correttamente o meno

Una volta decodificato il JWT con il tuo segreto del venditore, puoi assicurarti che l'acquisto della torta sia corretto e registrarlo. Entro 10 secondi di ricevere il postback, il tuo server deve inviare una risposta 200 OK dove l'unico contenuto è il valore del campo "orderId"..In caso contrario, Google annulla la transazione.

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

Hth.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top