経済産業省の発表によると、2024年におけるキャッシュレス決済の比率は42.8%となっており、政府目標の4割を超えています。
この数字は年々増加しており、今後はさらに増加する見込みです。
キャッシュレス決済の仕組みは幾つかあり、その一つがデジタルウォレットです。
デジタルウォレットは、スマートフォンやPCなどのデバイス上で、クレジットカードや電子マネー、ポイントなどを管理し、決済を行うためのアプリケーションです。
単純に決済を行うだけでなく、ポイントの管理や送金、QRコード決済など多機能なサービスが提供されています。
これにより、ユーザーは店舗での支払いやサービス利用、送金など、さまざまなシーンでデジタルウォレットを利用しています。
本記事では、デジタルウォレットの仕組みやシステム構成、その普及の中で求められる品質や信頼性について解説します。
デジタルウォレットの仕組みとシステム構成
日本のデジタルウォレットアプリの多くは、QRコード決済を提供しています。
この章ではデジタルウォレットの仕組みとシステム構成についてご紹介します。
1-1 デジタルウォレットの仕組み
QRコード決済は2つの仕組みがあります。
1つ目は店舗側で固定のQRコードを提示し、それをユーザーが読み取る仕組み、
2つ目は、ユーザー側でQRコードを生成し、それを店舗側が読み取る仕組みです。
どちらも、QRコードを利用して決済を行います。
デジタルウォレットアプリは、送金時の資金として、クレジットカードや銀行口座、各企業が提供するサービスのポイントなどを利用します。
たとえばメルペイでは、メルカリの売上金をメルペイの資金として利用できます。これにより、ユーザーは手持ちの資金をデジタルウォレットにチャージすることなく、決済を行えます。この時、メルペイではクレジットカードの手数料が発生せず、メルカリのシステム上で資金を移動するだけで済みます。
また、多くのデジタルウォレットアプリでは都度クレジットカード決済を行うのではなく、事前にチャージを行います。チャージは、クレジットカードや銀行口座からデジタルウォレットに資金を移動することを指します。チャージ後、ユーザーはデジタルウォレットを利用して決済を行います。これにより、クレジットカードのオーソリ回数を押さえ、スムーズな決済が可能になります。
1-2 デジタルウォレットのシステム構成
デジタルウォレットで重要なのは、冪等(べきとう)性の確保です。
冪等性とは、同じ操作を何度行っても結果が変わらないことを指します。たとえば、送金時に同じ金額を2回送信してしまった場合、1回目の送金が成功した後に2回目の送信を行うと、2回目の送金が失敗することがあります。
このような場合、ユーザーは送金が完了したかどうか不安になります。デジタルウォレットでは、冪等性を確保するために、トランザクションIDやオーダーIDなどを利用します。
特にサービスのポイントシステムと連携している場合など、一度の決済に関する処理が数多く実行されます。
そのため、デジタルウォレットのシステムはバックエンド、フロントエンド、連携APIなど数多くのコンポーネントから構成されます。複雑なシステム構成でありつつも、ユーザーにはシンプルな操作で完了できるUXが求められます。
|
★セキュリティやUXが求められる理由 個人の資金という大事な情報を扱うため、処理の安定性や安全性が重要です。 セキュリティ上の問題があると、ユーザーの資金が盗まれたり、個人情報が漏洩したりする可能性があります。 また、デジタルウォレットは多くのユーザーに利用されるため、システムの安定性やパフォーマンスも求められます。 特に、決済時には瞬時に処理を行う必要があり、遅延やエラーが発生するとユーザーの信頼を失い、利用率の低下につながるでしょう。 同様に操作については、シンプルさが求められます。 QRコードの表示や読み取り、決済金額の入力などがスムーズに行えることが重要です。 ネットワークが不安定な状態でも、ユーザーがストレスなく操作できるようなUXが求められます。 特に、QRコード決済は店舗での利用が多いため、ユーザーと店舗の双方がストレスを感じないような設計が必要です。 |
【障害事例から学ぶ】デジタルウォレット開発における品質の重要性
デジタルウォレットは金融に関わるサービスであり、そのサービスに対して高い品質が求められます。
アプリ内自体で資金を貯めるのはもちろん、クレジットカードや銀行口座など、他の金融機関と連携することが多いため、企業間連携という意味においてもセキュリティやパフォーマンスに対する要求は高くなっています。
サービスのインタフェースとして、アプリの品質も重要です。
決済途中で止まってしまったり、落ちたりするようなことは避けなければなりません。
また、表示がおかしくなる、間違った金額が表示されるのも禁物です。誰でも使いこなせる分かりやすいUI/UX、そして、安定したパフォーマンスが求められます。
PayPayでは、アプリに障害があった場合でも決済を可能にする、独自のオフライン決済技術を導入しています。決済システムでは障害発生時の社会的影響が大きいため、障害発生時を想定した設計も必要になります。
以下、これまでに発生した幾つかのトラブル事例を紹介します。
事例① 7pay(セブンペイ)
2019年7月にサービスを開始した「7pay」は、セブン-イレブンでの決済を目的としたデジタルウォレットです。
サービス開始直後から、不正アクセスと不正利用が発覚し、3ヶ月後にサービス終了しました。
>「7pay(セブンペイ)」 サービス廃止のお知らせとこれまでの経緯、今後の対応に関する説明について \| 企業 \| セブン&アイ・ホールディングス
事例② PayPay“100億円祭”
2018年12月に実施された「PayPay100億円祭」は、PayPayのQRコード決済を利用したキャンペーンです。
キャンペーン開始直後から、システム障害が発生し、決済ができない状態が続きました。
PayPayの開発期間が短かったこと、ユーザー数の予想よりも急増したこと、システムのアクセスが予想以上に発生したことが原因とされています。
>PayPay“100億円祭”の裏側で何があったのか システム障害と苦闘したエンジニア(1/2 ページ) \- ITmedia NEWS
事例③ au PAYの障害
au PAYでは、2020年3月にシステムの不安定な状態が発生し、約10時間後に復旧しています。
この障害により、コード決済・チャージが利用できない状態になっていました。
>au PAY、障害によりコード支払い機能停止。18日23時57分復旧 \- Impress Watch
デジタルウォレット開発におけるテスト工程の課題
デジタルウォレットに限りませんが、システム開発においては、テスト工程が重要な役割を果たします。しかし、デジタルウォレットでは、以下のような課題があります。
- テスト環境の構築が難しい
- 多機能・多環境ゆえのテスト項目の複雑さ
- リグレッションテストやE2Eテストの負荷
- セキュリティ・パフォーマンステストの必要性
3-1 テスト環境の構築が難しい
デジタルウォレットは、決済のみならず多機能なサービスを提供しています。
そのため、テスト環境の構築が難しいです。デジタルデータのやり取りだけでなく、QRコードの生成や読み取りなど、人が操作する要素もあります。
また、多くの企業やサービスと連携しているため、各システムとの連携テストも必要になります。これにより、テスト環境の構築が複雑化し、時間とコストがかかるでしょう。
3-2 多機能・多環境ゆえのテスト項目の複雑さ
デジタルウォレットは、QRコード決済や送金、ポイント管理など多機能なサービスを提供しています。
そのため、テスト項目が多岐にわたり、複雑化しています。
特に、QRコード決済では、店舗側とユーザー側の両方でテストが必要です。
また、デジタルウォレットはスマートフォンやPCなど、さまざまなデバイスで利用されるため、各デバイスに対するテストも必要です。
3-3 リグレッションテストやE2Eテストの負荷
デジタルウォレットはスマートフォンで利用されるケースが多いです。
そのため、各デバイスに常に最新版がインストールされているとは限りません。OSのバージョンやアプリのバージョンによって、動作が異なる場合があります。
特に、OSのアップデートやアプリのアップデート後には、リグレッションテストやE2Eテストが必要です。これらのテストは手間がかかり、負荷が大きくなります。
また、各店舗に配置されているQRコードや、レジ端末との連携など、既存システムとの結合テストも重要です。これらのテストは、システム全体の品質を確保するために必要ですが、テスト工数は膨大になります。
3-4 セキュリティ・パフォーマンステストの実施
デジタルウォレットは金融に関わるサービスであり、常に高いセキュリティやパフォーマンスが求められます。
特に、QRコード決済では、瞬時に決済が行われるからこそ、ユーザーに選ばれています。遅延やエラーが発生すると、ユーザーの信頼を損ない、利用率の低下につながります。
また、セキュリティ上の問題があると、ユーザーの資金が盗まれたり、個人情報が漏洩したりする可能性があります。
セキュリティにおいては、常に進化が求められ、攻撃手段も多様化しています。
また、パフォーマンスにおいては、ユーザー数の増加やトランザクション数の増加に伴い、システムの負荷が増大します。そうしたサービスの伸びに合わせたテストが必要です。
デジタルウォレット開発の品質を上げるためのポイント
デジタルウォレット開発において品質を上げるために、テストの観点において大事なポイントを解説します。
- リリース前に迅速にテストを実施する
- 専門知識を持つ外部パートナーを利用する
- 自動化ツールを活用する
- テストをアウトソーシングする
4-1 リリース前に迅速にテストを実施する
デジタルウォレットは、リリース前に迅速、かつ十分なテストが求められます。
特に、QRコード決済や送金などの機能は、ユーザーにとって重要な要素です。リリース前に十分なテストを行い、品質を確保しなければなりません。
デジタルウォレットは多くのコンポーネントが組み合わさっていますが、各コンポーネントの独立性を保つことが重要です。
システム全体が複雑にならないよう注意して設計し、各コンポーネントのテストを行うことが求められます。
4-2 専門知識を持つ外部パートナーを利用する
デジタルウォレットでは、さまざまな知識が求められます。決済に伴う金融系の知識、スマートフォンアプリの知識、サーバーサイドの知識などが必要でしょう。
こうした知識をすべて社内リソースで賄うのは難しいため、専門知識を持つ外部パートナーを利用するのも大事です。専門パートナーを利用してテスト設計を行い、網羅的で十分なテストを実施しましょう。
4-3 自動化ツールを活用する
デジタルウォレットのテストは、手動で行うと工数がかかります。
特に、リグレッションテストやE2Eテストは手間がかかるため、自動化ツールを活用しましょう。テスト自動化ツールを利用することで、テストの効率化や精度向上が期待できます。
テスト自動化ツールはCI/CDパイプラインと統合し、テストの自動実行と関係者への配布などを自動化できます。これにより、リリース前のテストを迅速に行えるようになります。
4-4 テストをアウトソーシングする
デジタルウォレットのテストは、専門知識や経験が必要です。
社内リソースだけでは十分なテストが難しい場合、テストのアウトソーシングを検討しましょう。
アウトソーシング先には、専門知識を持つ企業を選定し、テスト設計や実施を依頼します。アウトソーシングを利用することで、社内リソースの負担を軽減し、機能開発に集中できます。
まとめ
今回はデジタルウォレットの仕組みやシステム構成、その普及の中で求められる品質や信頼性について解説しました。
デジタルウォレットは、ユーザーの資金を扱うため、高いセキュリティとパフォーマンスが求められます。その品質を左右するテスト工程においては、さまざまな課題があります。
バルテスはテスト専門企業として、高いセキュリティが求められるアプリやサービスのテストにも関わっています。
複雑なシステム、多機能なサービスにおいても、テストの観点から品質を確保するための支援を行っています。テストに課題を感じている企業様は、ぜひバルテスにご相談ください。
バルテスが支援した決済サービスの事例はこちらをご覧ください。