2012-02-22 6 views
3

多分それは愚かな質問ですが、私は高度なプログラマーではありません。私は アプリのアプリ内支払いを正常にセットアップしましたが、ポストバックURLを使用せずに しか動作しません。Googleのアプリ内支払い:Googleのポストバックを処理するhowto JWT

Googleはこれまでに の成功なしにこれに取り組もうとしています。誰もが私を助けてくれることを願っています。私は明らかに間違って何かをするポストデータを扱うスクリプト を含めました。これは、Googleがこう言われる、

Googleがあなたのポストバックに送信する各HTTP POSTメッセージ のための200 OK応答を送信する必要がありますあなたのサーバーURL。この応答を送信するには、 サーバは、

のメッセージに記載されているJWTをデコードする必要があります。POST メッセージのjwtパラメータで指定されているJWTをデコードします。注文がOKであることを確認してください。 JWTの「orderId」フィールドの値を取得します。体に一つだけ を持っている200 OK応答を送信する:あなたはこれは私が書いたものですが、私の知る限り見ることができるようにテストする方法はありません手順3

になった「注文ID」の値それは(どのように私はGoogleから投稿をシミュレートできますか?)

require_once 'include/jwt.php'; // including luciferous jwt library 

$encoded_jwt = $_POST['jwt']; 
$decoded_jwt = JWT::decode($encoded_jwt, "fdNAbAdfkCDakJQBdViErg"); 
$decoded_jwt_array = (array) $decoded_jwt; 
$orderId = $decoded_jwt_array['response']['orderId']; 

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

ご協力いただければ幸いです。ありがとうTim

答えて

-2

Googleウォレット設定のサンドボックスポストバックURLをテストページに設定し、そのページにリクエストを記録します。 JWTが表示されます。テストのために使用してください。

5

私は一年後に、この同じ問題を抱えていたし、次のコードでそれを解決:

require_once 'include/jwt.php'; // including luciferous jwt library 

$encoded_jwt = $_POST['jwt']; 
$decodedJWT = JWT::decode($jwt, $sellerSecret); 

// get orderId 
$orderId = $decodedJWT->response->orderId; 

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

Googleウォレットのでアプリの購入ドキュメントは比較的新しく、そしてコールバック側に欠けています。このコードはサンドボックスとプロダクションの両方で動作します。あなた自身の売り手の秘密を使用するようにしてください。

+0

上記のコードは私にとって役に立ちました。ここでGoogleが提供するエラーチェック(Pythonで)に関するより完全な例があります:https://developers.google.com/commerce/wallet/digital/training/getting-started/handle-notif – humbads