🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

518閲覧

LINE PayのAPI連動について

aweshin

総合スコア20

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

1クリップ

投稿2021/03/03 08:32

イベント会場での、出店店舗に向けたテイクアウト事前決済サービスを考えています。
LINEのミニアプリで構築し、LINE Pay決済に対応させます。
0.
LINE PayのAPIを利用した決済を、弊社の作成する管理画面で一括管理し、履歴を弊社のクライアント先に提出し、POSシステムと連携する流れを構築しようと考えています。そのようなシステムは構築可能か。

  1. POSシステムと連携させるためのAPIを作成しようとしています。自前で、APIサーバを実現する際の構成案を知りたい。

以上、お知恵を借りたく思います。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Automatic9045

2021/04/02 11:13 編集

もう1か月経っていますが、気になったので質問させて下さい。 もう解決済であれば無視して頂いて構いません。 > 履歴を弊社のクライアント先に提出し、POSシステムと連携する ここがよく分からないのですが、もう少し詳しい説明を頂けませんでしょうか。 既存のPOSシステムが存在し、貴社の方ではそのPOSシステムから呼び出すAPIのみを開発、クライアント先がPOSシステムからAPIをコールする部分を開発する…ということですか?
aweshin

2021/04/03 02:05

曖昧な表現ですみません。 API云々の話ではありません。 1.テイクアウト事前決済サービスのシステム運用を弊社、POSシステムの運用をクライアント先が行う。 2.各出店店舗に支払う売り上げの管理をクライアント先が行う。 3.出店店舗ごとの売り上げを、弊社からクライアント先へ報告。 という想定になります。
Automatic9045

2021/04/03 02:22

自分の回答を見直してみたのですが、はじめに自分自身で仮定した要件と少しずれていますね^^; ただ、結果的には要望通りの回答になっているのではないでしょうか。 もしまだ要望とずれていた場合は教えて下さい。
guest

回答1

0

ベストアンサー

よく分からない部分があったのでコメントしましたが、一先ず私の予想の通りだったとして回答します。
結論から言うと、可能です

まず、LINE PayではOffline・Online 2種類のAPIを公開していますが、この場合はOnline APIを選択することになります。

Offline API

Offline APIはPOSシステム向けのAPIです。決済フローを簡略化すると、

  1. POS端末からPOSサーバーに決済要求を発信

--- ↓ここからLINE Pay APIを介した処理↓ ---
2. POSサーバーがLINE Payサーバーに決済要求を発信(要求にはLINE Payアカウント情報を含む)
3. LINE Payサーバーから決済要求に対する回答を受信
--- ↑ここまでLINE Pay APIを介した処理↑ ---
4. LINE Payサーバーからの回答を適宜加工して、POS端末に回答を返却

このようになります(参考)。
サーバー側でユーザーのLINE Payアカウント情報を取得することになり、現実的ではありません。

Online API

Online APIはECサイト向けのAPIです。決済フローを簡略化すると、

  1. 加盟店サーバーからユーザーにLINE Payでの決済をリクエスト(リクエストには加盟店が独自に指定した決済確認用URLを含む)
  2. ユーザーがLINE Payアプリ内で情報を入力、決済可能な状態に
  3. ユーザーが手順1で受け取った決済用URLにアクセス
  4. 加盟店サーバーが、決済確認用URLの指す画面 or APIを通じて決済の完了をLINE Payサーバーに送信

このようになります(参考)。

実装例

上のフローにおける「ECサイト」を「LINEミニアプリ」に読み替えた上で必要な手順を追加すると、例えば以下のように実装できると思います。

  1. ユーザーがLINEミニアプリにLINE Pay決済をリクエスト

--- ↓ここから「LINEミニアプリ→自社サーバー」のHTTPリクエスト↓ ---
2. LINEミニアプリが自社サーバーにLINE Pay決済要求を発信
3. 自社サーバーがLINE Payサーバーに決済要求を発信(リクエストには自社サーバー内の決済確認用URLを含む。URLのクエリ文字列には、各ユーザーの決済を識別する為のユニークなキー文字列を入れると良いでしょう)
4. ユーザーがLINE Payアプリ内で情報を入力、決済可能な状態に
5. ユーザーが手順1で受け取った決済用URLにアクセス
6. 自社サーバーが、決済確認用URLの指すAPIを通じて決済の完了をLINE Payサーバーに送信
7. 【自社サーバー内の処理】手順6のプロセスから手順2で発信したプロセスに、決済が完了したことを通知
8. 自社サーバーからPOSシステムに売上が発生したことをHTTP POSTリクエストなどで通知
9. LINEミニアプリに決済が完了したことを回答
--- ↑ここまで「LINEミニアプリ→自社サーバー」のHTTPリクエスト↑ ---
10. 【LINEミニアプリ内の処理】決済完了を案内する画面に遷移

投稿2021/04/02 12:32

編集2021/04/02 12:34
Automatic9045

総合スコア313

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aweshin

2021/04/03 02:06

今後の参考にさせていただきます。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問