Slide 1

Slide 1 text

© GO Inc. タクシーアプリ『GO』での Apple Pay導入 〜金額未確定でも支払える仕組み〜 2024.07.22 開発本部 ソフトウェア開発統括部 ユーザーシステム開発部 / 黒田修平 GO株式会社 1

Slide 2

Slide 2 text

© GO Inc. 2 自己紹介 プロフィール写真 GO株式会社 開発本部 ソフトウェア開発統括部 ユーザーシステム開発部 / 黒田修平 2022年7月入社 タクシーアプリ『GO』のiOSアプリ開発を担当 最近カメラにハマっています @shkrd_

Slide 3

Slide 3 text

Index © GO Inc. 3 1. タクシーアプリ『GO』における決済について 2. Apple Payを『GO』アプリに導入 3. Apple Payを導入した結果 4. 開発中に直面した課題・知見 5. まとめ

Slide 4

Slide 4 text

© GO Inc. タクシーアプリ『GO』 における決済について 01 4

Slide 5

Slide 5 text

© GO Inc. 『GO』アプリでは様々な支払い方法で決済ができる ● 車内決済 ● カード払い    (クレジット/デビット/プリペイド) ● d払い ● PayPay ● GOチケット ● クーポン ● 請求書払い(法人契約のみ) タクシーアプリ『GO』における決済について 5

Slide 6

Slide 6 text

© GO Inc. 『GO』アプリでは様々な支払い方法で決済ができる ● 車内決済 ● カード払い    (クレジット/デビット/プリペイド) ● d払い ● PayPay ● GOチケット ● クーポン ● 請求書払い(法人契約のみ) タクシーアプリ『GO』における決済について 6 GO Pay ● 降車時の支払いが不要になりスムーズに降車できる ● 領収書を降車後にアプリから一括で発行可能

Slide 7

Slide 7 text

© GO Inc. GO Payの利用率がなかなか上がらない 7 ● タクシー車内で決済をしている人が一定数いる ● クレジットカードを持っていてもGO Pay登録していない人がいる ● クレジットカードの登録が面倒 ○ クレジットカード情報を手入力するのは手間 ○ カメラでスキャンする機能もあるが、やはり面倒に感じるユーザーが多い(利用者も少ない) ● タクシーをすぐに呼びたいユーザーにとって、クレジットカード登録は優先度が低い ○ 特に新規ユーザーはアプリインストール後、すぐにタクシーに乗りたい場合が多い

Slide 8

Slide 8 text

© GO Inc. Apple Payの利用 Apple Payを導入することでコンバージョン率や新規ユーザーの登録率の向上が期待できる 選択肢を増やしてGO Payの登録率・利用率を増やすため、 GO PayにApple Payを導入する 8

Slide 9

Slide 9 text

© GO Inc. Apple Payとは ● Appleが提供するモバイル決済サービス ● 主な機能 ○ Face ID, Touch ID, パスコードを使って簡単に支払いができる ● 利用方法 ○ ウォレットアプリにクレジットカードやデビットカードを登録しておく ○ 支払い方法にApple Payを選択し、認証するだけで支払いが完了する ● メリット ○ すでにウォレットアプリに登録されているカードを使える ■ 『GO』アプリ内でクレジットカードを登録する手間が省ける 9

Slide 10

Slide 10 text

© GO Inc. 10 Apple Pay の導入方法を紹介し、ApplePay導入時に数々の困難があったので その事例と知見を紹介します

Slide 11

Slide 11 text

© GO Inc. Apple Payを『GO』アプリに 導入 02 11

Slide 12

Slide 12 text

© GO Inc. 『GO』アプリにおけるApple Payを使用した決済フロー(配車依頼時) 配車依頼時 GOのサーバー ペイメントサービス プロバイダ ① 支払い方法にApple Payを選択 ② Payment Sheetを表示して、認証を行う  ・Apple PayのPaymentSheetを表示して、ユーザーに支払いの確認を求める  ・ユーザーがFace ID、Touch ID、またはパスコードを使って認証し、支払いを承認する 決済基盤 『GO』アプリ APIサーバー ③ ユーザーが支払いを承認すると、Apple Payは支払い情報を暗号化してトークンを生成する  ・このトークンは、支払いの詳細情報を含んでおり、一時的なもので特定の支払いにのみ有効 12

Slide 13

Slide 13 text

© GO Inc. 13 ● Apple Payを利用できるかどうかを確認するには、 PKPaymentAuthorizationControllerのcanMakePayments(usingNetworks:)メソッ ドを使用する ○ usingNetworksには、VisaやMasterCardなどのカードブランドの配列を指定する。 ● 指定したカードブランドのいずれかがウォレットアプリに登録されている場合、このメ ソッドはtrueを返す。 ○ trueであれば、支払い方法にApple Payを表示する ①支払い方法にApple Payを選択できるようにする

Slide 14

Slide 14 text

© GO Inc. PaymentRequestの生成 ● PKPaymentRequestオブジェクトを生成 ● 支払いの詳細やサポートするネットワーク(カードブランド)を設定 ② Payment Sheetを表示して、認証を行う 14

Slide 15

Slide 15 text

© GO Inc. PaymentRequestの生成 ● PKPaymentRequestオブジェクトを生成 ● 支払いの詳細やサポートするネットワーク(カードブランド)を設定 ② Payment Sheetを表示して、認証を行う 15 配車依頼時点では乗車料金が確定していないので決済は行わない。 PKPaymentSummaryItemTypeを.pendingにする。

Slide 16

Slide 16 text

© GO Inc. ② Payment Sheetを表示して、認証を行う 16 PaymentAuthorizationViewControllerの表示 ● PKPaymentRequestを使ってPKPaymentAuthorizationViewControllerを生成 ● ユーザーに支払いの確認を求める PaymentSheetでの表示は未決済金額となる

Slide 17

Slide 17 text

© GO Inc. 『GO』アプリにおけるApple Payを使用した決済フロー(配車依頼時) 配車依頼時 ペイメントサービス プロバイダ ⑤ APIサーバーはアプリから送信されたトークンを決済基盤に送信する トークン ④ アプリは生成したトークンをAPI経由でサーバーサイドに送信する 決済基盤 APIサーバー GOのサーバー 17 『GO』アプリ

Slide 18

Slide 18 text

© GO Inc. 『GO』アプリにおけるApple Payを使用した決済フロー(配車依頼時) 配車依頼時 ⑥ 決済基盤はトークンをペイメントサービスプロバイダに送信し、オーソリ(承認)を取得する ※配車依頼時の時点では乗車料金の金額は確定していないため、決済は行われない ペイメントサービス プロバイダ オーソリ 決済基盤 APIサーバー GOのサーバー オーソリ 情報 18 『GO』アプリ

Slide 19

Slide 19 text

© GO Inc. 『GO』アプリにおけるApple Payを使用した決済フロー(降車時) 降車時 乗務員端末 ① 降車時に乗務員端末からサーバーサイドに決済をリクエストする ※降車時に乗車料金の金額が確定する ペイメントサービス プロバイダ 決済基盤 APIサーバー GOのサーバー オーソリ 情報 乗車料金 乗車料金 乗車料金 19 『GO』アプリ

Slide 20

Slide 20 text

© GO Inc. 『GO』アプリにおけるApple Payを使用した決済フロー(降車時) 降車時 乗務員端末 ② 決済基盤は、保持しているオーソリ情報と乗車料金(確定した金額)を使って、決済をリクエストする ペイメントサービス プロバイダ 決済リクエスト ok ok ok 決済基盤 APIサーバー ③ 決済処理が成功し、乗車完了となる GOのサーバー オーソリ 情報 乗車料金 20 『GO』アプリ

Slide 21

Slide 21 text

© GO Inc. Apple Payを導入した結果 03 21

Slide 22

Slide 22 text

© GO Inc. GO Payの利用率がなかなか上がらない Apple Payを導入した結果 Apple Payをリリースして1ヶ月… 22 ● iOSユーザーのGO Pay登録率が2%上昇した ○ 約30000人のユーザーがApple Payに連携 ■ そのうち3割程度がApple Payで決済 少しずつではあるが、GO Payの利用率アップに効果があった

Slide 23

Slide 23 text

© GO Inc. 開発中に直面した課題・知見 04 23

Slide 24

Slide 24 text

© GO Inc. Appleが用意したSandbox用のカードが登録できないことがよくあり、テストスケジュールに影 響が出た ● 『GO』アプリでApple Payが使えるかを、Sandbox用のカードをウォレットアプリに登録 して確認したかった ● 今回の開発では、1週間登録できない→1週間登録できる→2ヶ月程登録できない、という 状況だった Appleに問い合わせた回答:「世界中の人が使っているので登録できないことがある」 ⇒ タイミングによって登録できたりできなかったり… Sandbox用カードは日々登録できるか確認すべき (対応策) Sandbox用のカードが登録できるかどうか日々確認する Sandbox用のカードが登録できない場合は実際のクレジットカードを代用するしか ない 24

Slide 25

Slide 25 text

© GO Inc. ● Sandbox用カードで生成したトークンでは決済ができない ● 開発環境ではペイメントサービスプロバイダが提供するダミートークンでしかオーソリ取 得や決済が成功しないため、配車依頼時にサーバーサイドにダミートークンを送る必要が ある Sandbox用カードで生成したトークンでは決済できないので注意 (対応策) ● ダミートークンをサーバーサイドに送るためのデバッグ機能を用意した ○ デバッグ機能でダミートークンを選択できるようにし、サーバーサイドにダミートー クンを送ってオーソリ取得・決済成功時の動作確認を行った 25

Slide 26

Slide 26 text

© GO Inc. ● 本番動作確認として、実物のカードを利用してオーソリがとれるか確認をした ○ 実物のカードでApple PayのPayment Sheetでトークンを生成 ○ そのトークンを決済基盤の担当者に譲渡し、動作確認を依頼 ■ オーソリ確認時にエラーが発生 ● トークン取得からオーソリ確認まで時間がかかりすぎてトークンの有効 期限がきれていた(3時間経っていた) Apple Pay の Payment Sheet のトークンの有効期限切れに注意 26 (対応策) トークンの有効期限を考慮して動作確認をすること

Slide 27

Slide 27 text

© GO Inc. まとめ 05 27

Slide 28

Slide 28 text

© GO Inc. ● タクシーアプリ『GO』における決済について ○ 『GO』アプリでは様々な支払い方法で決済ができる ○ 課題: GO Payの利用率が上がらない ■ クレジットカードの登録が面倒 ■ タクシー車内で決済をしている人が一定数いる ● Apple Pay を 『GO』アプリに導入 ○ 『GO』アプリにおけるApple Payを使用した決済フローの紹介 ● Apple Pay を導入した結果 ○ GO Pay利用率の上昇に効果あり ● 開発中に直面した課題・知見 ○ Sandbox用カードは日々登録できるか確認すべき ○ Sandbox用カードで生成したトークンでは決済できないので注意 ○ Apple Pay の Payment Sheet のトークンの有効期限切れに注意 まとめ 28

Slide 29

Slide 29 text

文章・画像等の内容の無断転載及び複製等の行為はご遠慮ください。 © GO Inc. 29