PayPay for DevelopersでAPIを開発して動かしてみた
はじめに
こんにちは。ネクストビートのエンジニアの川井です。
KIDSNAシッターのアプリケーション開発全般を担当しています。
みなさま、日頃キャッシュレス決済サービスはご利用されておりますでしょうか。昨今、様々なサービスが発表されており、個人的には財布を持ち歩かない外出が増えてきました。
エンジニアとしては、各種サービスとのAPI連携が気になるところですが、今回は、数あるサービスの中から、今話題のPayPay for Developersについてまとめたいと思います。
PayPay for Developersとは
2020年7月29日、PayPay for Developersが正式に発表されました。
このツールを使うと、独自のサービスに、オンライン決算の手段として、PayPayを簡単に導入することができます。
発表から1ヶ月が経ち、待望のテストユーザー機能もリリースされたため、実際にAPIを作って動かしてみました。
APIのドキュメントが豊富で、専用のダッシュボードが提供されるため、かなり簡単に導入できるようになっています。
では、実際に開発の手順を紹介していきたいと思います。
アカウントの作成
まずはPayPay for Developersのアカウントを作成します。
流れのままに登録していきます。
各種ツール
PayPay for Developersでは、以下の4つのツールが提供されています。
- ウェブ ペイメント
- ネイティブ ペイメント
- 動的ユーザースキャン
- アプリ コール
各種、上記の画像のような用途で使い分けると良さそうです。
今回は、ウェブペイメントを動かしていきたいと思います。
SDKのインストール
PayPay for Developersでは4つの言語用のSDKが提供されています。
- Python
- Java
- PHP
- Node
今回は、Scala + Play Framework でAPIを開発していくので、JavaのSDKを使います。また、SDKのビルドツールには、sbtと相性の良いMavenを利用します。
公式のドキュメントだけだと導入部分が少しわかりにくいので、一連の流れを簡単に補足します。
Mavenのインストール
まずはローカル環境にMavenをインストールします。
Mavenのプロジェクト作成
Mavenのプロジェクトを作成します。
任意のパスで以下のコマンドを実行し、情報を入力していきます。
ここまでできれば、以下のようにpaypayopaプロジェクトと、pom.xmlが生成されているはずです。
./paypayopa/pom.xmlを以下のように編集します。
編集後、プロジェクトのルートで以下のコマンドを実行します。
$mvn install
これで、MavenのローカルリポジトリにPayPayのSDKがインストールされました。
API開発
SDKを使う準備が完了したので、APIの開発に移ります。
まずは、SDKを使うためにbuild.sbtを以下のように変更します。
これで、Scalaのプロジェクトから、MavenのローカルリポジトリにあるPayPayのSDKが利用できるようになりました。
サンプルコードを参考に、QRコードを表示するコントローラを書いてみます。(動作させるための必要最低限のコードしか記述していません)
APIサーバを起動します。
$sbt run
localhost:9000/testにアクセスすると、以下のように、QRコードが表示されました。
この画面上から、テストユーザのアカウントでログインして料金を支払うことができます。また、モバイルアプリを開発者モードに設定して、アプリから支払うこともできます。
PayPayアプリのロゴ画像を7回タップすると開発者用のログイン画面が表示されます。(昔のゲームの隠しコマンドみたいで面白いですね!)
アプリからQRコードを読み込むとちゃんと決済することができました!
まとめ
今回はSDKを導入して、ウェブペイメントを動かすところまでしか試していませんが、今後他のツールについても試してみたいと思います。
弊社も、決済を扱うサービスを運営しているので、将来的に様々な決済方法を導入できれば、ユーザにとってより便利なサービスとなるのではないかと考えています。
ちなみに、このPayPay for DevelopersのAPIは、エンジニアの業務時間内学習制度の夕学講座の時間を使って開発しました!
アプリ開発入門やTerraform入門、Scalaの学習会、IoT開発など、各エンジニアが様々なテーマで自己学習を行っています。
夕学で貯めた知見を将来的にプロダクトに導入して実用化し、より価値ある時間に変えていきたいですね。
以上、簡単ですが、PayPay for Developersの導入紹介でした!