Open8

GoogleWalletAPI触ってみる

みやジックみやジック

ダッシュボードの初期状態。
デモモードだと管理したテスターでのみAPIを叩けるらしい。

まずはクラス作成。一旦雑に項目を埋めていく。

次にBuisinessProfileが埋まってないとのことなので、Business identityとBusiness informationを埋めていく。 Merchant Category Codeは一旦Others(0000)とした。
審査中みたいな表示が一旦出た気がしたけど、1分くらいで承認に変わった。自動でチェックしてる感じかな?

クラスとビジネスプロフィールが作成できたので、公開アクセスのリクエストをする。
が、クリックしても反応しない、、?

みやジックみやジック

検証タブを開き、画面最下部の「検証」「API呼び出しを行う」ボタンを押すも、どちらも「確認できませんでした:Service account email address did not have edit access on the issuer.」というエラーを返してくるので、調べてみると、そもそもGCPプロジェクトを作成しService accountにGoogle wallet apiの利用を許可する必要がある模様。
https://developers.google.com/wallet/generic/web/prerequisites?hl=ja#1.-sign-up-for-a-google-wallet-api-issuer-account

みやジックみやジック

GCPプロジェクトを作成し、APIとサービス→APIとサービスの有効化でGoogle wallet apiを検索する。

有効にする。

みやジックみやジック

Google wallet apiが有効化された。
認証情報を作成した方が良いみたい。

みやジックみやジック

認証情報を作成を進めていくとサービスアカウントが作成されたので、Google wallet のコンソールから登録していく。
サイドバーのユーザーからInvite a user

アクセスレベルは開発元で良いとのこと。(アカウント隠した方がいいのかわからなかったけど一旦黒塗り)

みやジックみやジック

FlutterのPluginを入れてもうまくできなかったので、一旦AndroidのCodeLabから始めることにしたところ、Androidのネイティブアプリからであれば汎用パスを追加できた。

https://codelabs.developers.google.com/add-to-wallet-android#9

そこで、使ったJwtをFlutterのアプリで使ったところ上手く行った。

わかったこと

  • パスクラス、パスオブジェクトという概念がある。これらはオブジェクト指向と同じようにパスクラスが設計図でパスオブジェクトがその実体のようなものである。
  • パスクラスはコンソールからも作成できるし、Google wallet APIで作成することもできる。
  • パスオブジェクトはクライアントから生成する。今回はGoogle Service AccountのPrivate keyを埋め込んだJwtをアプリに埋め込むことでクライアントから生成した。