Googleウォレットのアプリ内決済、https://developers.google.com/in-app-payments/、デベロッパーのドキュメントとツールは、現時点では壊れているか、不完全であるか、関連情報が不足しています。彼らが注意を払い、おそらく私たちの懸念を聞いてこれを改善することを期待して、私はこれを書かなければならないと感じています。また、この新しい決済システムに関する開発者情報は今のところあまりないので、これが前向きな活動を生み出すことを願っています。
サポートドキュメントは、 https://groups.google.com/group/in-app-payments/topicsにある非常に静かなフォーラムを示しています。理想的には、ここで物事が生きている場所を指すことができます!;)
サーバー側の例は部分的にしか文書化されていません。指示では、約5つまたは6つの異なるライブラリの1つを使用することを提案していますが、指示は完全にそこで終わります。
1つのライブラリリンクは、Pythonで記述されたGitHubに保存されたライブラリにつながります。明らかに、使用するには、メインファイルの1つを何らかの方法で書き直す必要があります。繰り返しになりますが、これはGoogleウォレットチームによってドキュメントのどこにも文書化されていません。また、PHPチュートリアルをほんの少しだけ書くことを選択するのも非常に奇妙です。ちなみに、これは非常に人気があり、親しみやすく、非常にレバレッジの高い言語です。代わりに、ページの最初の例https://developers.google.com/in-app-payments/docs/tutorialがRubyで書かれているときに、Pythonでメインの例を書きました...
ドキュメントに関する他の驚くべき品質の欠如は、デバッグ中に発生する可能性のあるさまざまなエラーコードを一覧表示するページです。それが欠けていることは本当に驚くべきことです。
エラーは次のようになります。問題がありました。技術的な問題により、購入を完了できませんでした。以下の問題の詳細:残念ながら、販売者のサーバーで購入を確認できませんでした。ご注文はキャンセルされました。この問題が続く場合は、販売者に連絡してください。
さらに、これらのエラーについては何も書かれていません。
Uh oh. There was a problem.
We couldn't start your purchase because of a technical issue.
Details of the problem below:
Looks like there is an error in the setup for your purchase. Please
contact the merchant with this error message: Expected 3 components in
jwt: W29iamVjdCBPYmplY3Rd
それらのいずれも、誰かを支援するための専門的な期待および/または決定的な情報を示していません。
さらに一歩進んで、JWTを生成するためのツールが壊れています。
http://developers.google.com/in-app-payments/docs/jwtdecoder
The decoder decodes the JWT header as this:
{"alg":"HS256","typ":"JWT"}
https://checkout.google.com/customer/gadget/inapp/demo.html
The encoder only encodes the JWT header as this:
{"alg":"HS256"}
少なくともドキュメントでは、「アプリ内決済APIはJSON Webトークン(英語の単語jotのように発音されるJWT)を使用する」という非常に便利なことを教えてくれました。「ジョット?」あなたがパブにいるとき、これらのことを発音する方法を知っていることは常に良いことです。そのような間違った発音の女の子とおしゃべりするのを馬鹿にしたくありません!