3

ばかげた質問かもしれませんが、私は上級プログラマーではありません。アプリのアプリ内支払いを正常にセットアップしましたが、ポストバック URL を使用しないと機能しません。

私はこれに自分で取り組むために何時間もグーグルで検索しましたが、成功しませんでした。うまくいけば、誰かが私を助けてくれます。投稿データを処理するスクリプトを含めましたが、これは明らかに何か間違っています..これはGoogleが言っていることです:

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

POST メッセージの jwt パラメーターで指定された JWT をデコードします。注文に問題がないか確認してください。JWT の「orderId」フィールドの値を取得します。本文に 1 つだけを含む 200 OK 応答を送信します。ステップ 3 で取得した「orderId」値です。

これは私が書いたものですが、私が見る限り、それをテストする方法はありません (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; 

どんな助けでも大歓迎です。ありがとうティム

4

2 に答える 2

5

1年後に同じ問題が発生し、次のコードで解決しました。

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 ウォレットの In App Purchase ドキュメントは比較的新しく、コールバック側が欠けています。このコードは、サンドボックス側と本番側の両方で機能します。独自のセラー シークレットを使用していることを確認してください。

于 2013-05-30T20:29:18.983 に答える
-2

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

于 2012-11-28T15:10:09.957 に答える