PayPay for DevelopersでAPIを開発して動かしてみた

Junya Kawai
nextbeat-engineering
7 min readSep 16, 2020

はじめに

こんにちは。ネクストビートのエンジニアの川井です。
KIDSNAシッターのアプリケーション開発全般を担当しています。

みなさま、日頃キャッシュレス決済サービスはご利用されておりますでしょうか。昨今、様々なサービスが発表されており、個人的には財布を持ち歩かない外出が増えてきました。

エンジニアとしては、各種サービスとのAPI連携が気になるところですが、今回は、数あるサービスの中から、今話題のPayPay for Developersについてまとめたいと思います。

PayPay for Developersとは

2020年7月29日、PayPay for Developersが正式に発表されました。

PayPay プレスリリース

このツールを使うと、独自のサービスに、オンライン決算の手段として、PayPayを簡単に導入することができます。

発表から1ヶ月が経ち、待望のテストユーザー機能もリリースされたため、実際にAPIを作って動かしてみました。

PayPay for Developers テストユーザ

APIのドキュメントが豊富で、専用のダッシュボードが提供されるため、かなり簡単に導入できるようになっています。

では、実際に開発の手順を紹介していきたいと思います。

アカウントの作成

まずはPayPay for Developersのアカウントを作成します。
流れのままに登録していきます。

PayPay for Developers 新規登録

各種ツール

PayPay for Developersでは、以下の4つのツールが提供されています。

  1. ウェブ ペイメント
  2. ネイティブ ペイメント
  3. 動的ユーザースキャン
  4. アプリ コール
PayPay for Developers インテグレーション

各種、上記の画像のような用途で使い分けると良さそうです。

今回は、ウェブペイメントを動かしていきたいと思います。

SDKのインストール

PayPay for Developersでは4つの言語用のSDKが提供されています。

  1. Python
  2. Java
  3. PHP
  4. Node

今回は、Scala + Play Framework でAPIを開発していくので、JavaのSDKを使います。また、SDKのビルドツールには、sbtと相性の良いMavenを利用します。

公式のドキュメントだけだと導入部分が少しわかりにくいので、一連の流れを簡単に補足します。

PayPay for Developers インストール

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の導入紹介でした!

--

--

nextbeat-engineering
nextbeat-engineering

Published in nextbeat-engineering

「人口減少社会への価値貢献」をミッションとするネクストビートのエンジニアによるエンジニアブログです。Scala,Angular,Kotlin,Svelte,TypeScriptなど社内で使用されている技術の情報だけでなく、社員のインタビュー記事や自社イベント、社内勉強会の様子も配信します。※本ブログ掲載記事は、一部に当社従業員が個人で作成し、当社ブログでの利用を許諾した記事が存在し、個人のブログ等で公開された内容が含まれます。