Question

Nous essayons d'intégrer Google Wallet pour les biens numériques avec une application php et il y a 2 jours, le 15 novembre, nous avons réussi à le faire fonctionner.Cependant, en vérifiant à nouveau le lendemain et même aujourd'hui, même si le code est resté le même, nous n'y avons modifié aucune lettre, il ne fonctionne toujours pas, nous donnant cette erreur :

Euh oh.Il y avait un problème.

Nous n'avons pas pu finaliser votre achat en raison d'un problème technique.

Détails du problème ci-dessous :Malheureusement, nous n'avons pas pu confirmer votre achat auprès du serveur du commerçant.Votre commande a été annulée.Veuillez contacter le commerçant si ce problème persiste.

Le code que nous utilisons est le suivant :

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

et comme je l'ai dit, cela a bien fonctionné il y a deux jours et j'ai le sentiment que cela fonctionne aussi maintenant, car dans notre fichier journal, nous imprimons cette réponse

objet stdclass ([is] => google [request] => stdclass objet ([name] => Product 1.[description] => Vous achetez un total de 1 produits dans notre boutique.Merci.Price] => 9.99 [CurrencyCode] => USD [SellerData] => Nom du client, adresse 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 de publication est correctement spécifiée et nous utilisons un bac à sable pour effectuer les tests.

Est-ce un problème venant de Google ?Travaillent-ils sur le logiciel ou quelque chose du genre et c'est ce qui cause le problème ?Ou faisons-nous quelque chose de mal ici ?.

Toute aide serait très appréciée.Merci.

Était-ce utile?

La solution

Je voulais commenter mais ça ne rentre pas...

Cette erreur pointe vers quelque chose dans votre Gestionnaire de publication.Je viens d'essayer le bac à sable et tout semble bien.

Je suis pas un développeur php, donc cela peut être inexact - répondez-vous à la publication avec le orderId?Encore une fois, ceci est uniquement basé sur ma lecture du code ci-dessus (je pense Je ne vois que http 200 ?)

La seule autre chose à laquelle je peux penser, c'est que le délai de réponse est supérieur à 10 secondes (?) - ce qui pourrait expliquer pourquoi ça pourrait être une autre raison vous avez enregistré des données, mais Google toujours l'a annulé.

*Traverser texte:vous obtiendrez des données à enregistrer car Google vous enverra les données, c'est que vous répondiez correctement ou non qui compte

Une fois que vous avez décodé le JWT avec votre secret de vendeur, vous pouvez vous assurer que l'achat du gâteau est OK et l'enregistrer. Dans les 10 secondes de la réception de la publication, votre serveur doit envoyer une réponse 200 OK où le seul contenu est la valeur du champ "orderId".Si ce n'est pas le cas, Google annule la transaction.

RÉF : https://developers.google.com/commerce/wallet/digital/docs/postback#responding

Hth.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top