アイリッジ開発者ブログ

アイリッジに所属するエンジニアが技術情報を発信していきます。

アプリからバーチャルプリペイドカードをGooglePayへ登録できるようにした話 -準備編-

開発部第1グループの中島です。

今回、アプリからGoogle Payへバーチャルプリペイドカードを登録する開発を行なったのですが、開発をするにあたり、ちょっとした作業が発生したので、共有させてもらおうと思います。

※この記事の情報は2023年02月時点のものであり、今後のアップデートで変更になる可能性があります。

アプリからバーチャルプリペイドカードをGoogle Pay登録する?


通常、Google Payにクレジットカードやプリペイドカードを登録するには、Google Payを起動し、カードの番号を手入力するか、カメラで撮影し登録すると思います。

ただ、今回の場合はバーチャルカードになるので、カメラで撮影し登録ということができません。

そこで、アプリからバーチャルカードをGoogle Payに登録させるために、

Google Pay Push Provisioning API

というGoogleが用意してくれているAPIを使用します。

Google Pay Push Provisioning APIとは

アプリから、Google Payにカード登録・削除などを行うことができるAPIです。

この、API、使用するためにはちょっとした対応が必要になります。(今回、準備編とした理由はここにあります)

Google Pay Push Provisioning APIを使用するためにすること

このAPIを使うには下記の3つの手順を行う必要があります。

  1. ドキュメントを閲覧できるように、閲覧できるようにしたいGoogleアカウントをGoogleに申請
  2. GoogleにAPIの使用許可申請を行う。
  3. SDKをダウンロード・設定

1. ドキュメントを閲覧できるように、閲覧できるようにしたいGoogleアカウントをGoogleに申請

はじめ、このAPIはドキュメントが閲覧できない状態になっています。

そのため、まず、ドキュメントを閲覧できるようにGoogleに申請をしないといけません。

※権限がないアカウントで下記のページにアクセスすると、注意文が記載されているかと思います。

https://developers.google.com/pay/issuers/apis/push-provisioning/android?hl=ja

2. GoogleにAPIの使用許可申請を行う

APIを使用するにも、Googleに許可を申請しないといけません。

申請する際には、下記の情報が必要になります。

  • アプリのパッケージ名
  • SHA-256 証明書チェックサム
    • SHA-256取得方法

      $ keytool -printcert -jarfile ***.apk | grep SHA256

申請はこちらのフォームから行えます(https://support.google.com/faqs/contact/pp_api_allowlist?hl=en)

※ 提出するパッケージ名&SHA256のアプリはGoogle Play Consoleに登録してある状態でないといけません! (公開にする必要はない)

申請後、実際に使えるようになるまで、最長1週間かかるので注意!

3. SDKをダウンロード・設定

ドキュメントを閲覧できるようになると、SDKがダウンロードできるようになるので、

ダウンロードを行い、ドキュメントの設定項目を参考に初期設定を行います。

  • プロジェクトのGradle編集
allprojects {
    // ...
    repositories {
        // ...
        google() // Google's public Maven repository
        maven { url "file:/path/to/your/repo/m2repository/" }  // Local path to the folder into which you unzipped the SDK
    }
}
  • モジュールのGradle編集
apply plugin: 'com.android.application'

android {
  // ...
}

dependencies {
  // ...
  implementation 'com.google.android.gms:play-services-tapandpay:18.2.0'
  // Getting a "Could not find" error? Make sure you have added the unzipped SDK
  // location to your root build.gradle file as a local maven dependency
}

※Gradle が参照する他のディレクトリに、古いバージョンの SDK(バージョン 15 未満)が含まれないように注意。

準備完了!

これで一通り準備は完了です!

ドキュメントに沿って、機能をゴリゴリ実装していきましょう!

まとめ

他のAPIと違い、許可制ということもあり準備にやることがあるので、注意が必要です。

特に、Googleの許可申請などは、エンジニアが直接、対応するというよりは、非エンジニアの方が対応する可能性がある(最悪、クライアントさんに対応してもらうことになるかも?)ので、

コミュニケーションをとって、漏れがないように対応しましょう。