2.3.5. 注文の管理#

もちろん、このモジュールの主な目的の一つは、Dolibarrにおいて実際にTalerを使った支払いを可能にすることです。これを行うには、通常どのERPでも、ERPとその内部ロジックに応じて何らかの請求書/注文を作成する必要がありますが、結局のところすべてはこのロジックに関わるものです。

いつものように留意点として、ここに掲載されているすべてのスクリーンショットは、Talerbarrモジュールで注文/支払いの同期がどのように機能するかを示すためだけに提示されているものです。それでもDolibarrとTalerの画面をいくつか紹介していますが、正確なガイドについては、Dolibarr Sales Orders documentationTaler order tutorial などの元のチュートリアルを参照してください。

2.3.5.1. 注文ライフサイクルの概要#

Taler側の注文ライフサイクル全体については、Taler order tutorial を参照してください。

このモジュールのチュートリアルの目的上、簡略化されたライフサイクルは次のとおりです。

Created (Unpaid) -> Paid -|- Settled -> Done
                          |
                          |- Refunded -> Done

このチュートリアルでは、フローのうち Created -> Paid の部分に焦点を当てます。返金と送金による決済については、返金の管理 および 送金の管理 で扱います。

注文は当然、未払いのままになることもあります。その場合、正確な動作は選択された同期モードによって異なります。

  • 注文がDolibarrから来ている場合、必要であればマーチャントは支払いタイムアウト後にTalerの支払いフローを再作成できます。

  • 注文がTalerから来ており、モードが sync on order created の場合、未払いの注文は作成時点ですでにインポートされているため、Dolibarrに表示されます。

  • 注文がTalerから来ており、モードが sync on order paid の場合、支払いが完了するまでDolibarrには表示されません。

返金については、Dolibarrからの同期で作業しているマーチャントは、Taler側の返金期限がすでに過ぎている場合、別の返金処理方法を使用する必要があるかもしれません。

いずれの場合も、基本的な考え方はシンプルです。マーチャントが選択したシステムで注文を作成し、その支払い情報がDolibarrのERPフローに伝達されます。

2.3.5.2. Taler側で注文を作成する#

Talerが注文の入力元である場合、2つの同期タイミングを利用できます。

  • Sync when order is created 注文はTaler側で作成された直後にDolibarrに表示されます。

  • Sync when order is paid 注文は顧客が支払いを完了した後にのみDolibarrに表示されます。

2つ目のモードは、完了した購入のみがERPレコードを作成すべき場合に便利です。これにより文書フローを最小限に保ち、一時的または放棄された顧客セッション/注文でERPが埋め尽くされることを防ぎます。注文がTalerで正常に支払われた場合、それはDolibarrの財務および注文フローに表示する良い候補となります。

2.3.5.3. Dolibarrからの注文#

Dolibarrが正となるデータソースである場合、ワークフローは標準的なDolibarrの注文プロセスにほぼ準じます。主な違いは、支払い方法を Taler にする必要がある点であり、これによりTalerBarrはTaler側で対応する注文を作成し、その支払いライフサイクルを追跡できます。

標準的なDolibarrの注文作成フローで注文を作成し、選択した支払い方法が Taler になっていることを確認します。

Talerを支払い方法としてDolibarrで注文を作成する

支払い方法として Taler を選択した状態でDolibarrにて注文を作成。#

注文が作成され、商品が入力され、検証されると、TalerBarrはリクエストをTalerバックエンドに送信し、同じ内容で対応するTaler注文をそこに作成します。

作成および検証後のDolibarr注文

作成および検証後のDolibarr注文。#

次の操作手順は、支払いリンクを顧客と共有することです。TalerのステータスURLは注文メモ内にあります。そのURLには、顧客がTalerウォレットで支払いを完了するために使用できるQRコードと支払いページが含まれています。

Talerウォレットの支払い画面

Talerウォレットの支払い画面。#

顧客が支払いを完了したら、Dolibarrの注文に戻り、関連オブジェクトを確認できます。この時点で、請求書はすでに支払い済みとしてマークされています。

関連オブジェクトに支払い済み請求書が表示されたDolibarr注文

関連オブジェクトに支払い済み請求書が表示されたDolibarr注文。#

請求書を開くと、支払いが正しく登録され、期待される口座で決済されたことを確認できます。

Taler注文フローから作成された支払い済みDolibarr請求書

Talerの支払いフローから作成された支払い済みDolibarr請求書。#

実際には、このモードでオペレーターが新たに行う作業は支払いリンクの共有のみであることを意味します。残りの会計処理と文書のリンク付けは、TalerBarrによって自動的に処理されます。

2.3.5.4. 注文作成時のTalerからの注文#

このモードは、Taler発の注文が支払われる前であっても、作成されたらすぐにDolibarrに反映させたい場合に便利です。これは、次のセクションで説明する、より選択的な Sync when order is paid モードとは逆になります。

まず、Taler Merchant側で注文を作成することから始めます。

Taler SPAAでの注文作成

Taler SPAAでの注文作成。#

保存すると、注文の詳細がTaler側で利用可能になります。

Taler SPAAで新規作成された注文

Taler SPAAで新規作成された注文。#

同期モードが when order is created であるため、注文はDolibarrに即座に表示されます。

新しくインポートされたTaler注文を含むDolibarr注文リスト

新しくインポートされたTaler注文を含むDolibarr注文リスト。#

そこからマーチャントはQRコードまたはTaler支払いリンクを顧客と共有し、顧客にTalerウォレットで支払ってもらうことができます。

Talerウォレットアプリで開かれたTaler支払いQRコード。

Talerウォレットアプリで開かれたTaler支払いQRコード。#

Talerウォレットアプリに支払いの確認が表示されます。

Talerウォレットアプリがユーザーに支払いの確認を表示します。#

顧客による支払いが完了したら、Taler経由で支払いステータスを確認するか、Dolibarrに戻って支払い関連オブジェクトが表示されていることを確認できます。

リンクされた支払い関連オブジェクトを示すDolibarr注文

リンクされた支払い関連オブジェクトを示すDolibarr注文。#

リンクされた請求書を開くと、取引が期待される口座フローを使用して完全に登録され、決済されたことを確認できます。

Taler作成の注文の支払い後の請求書詳細

Taler作成の注文の支払い後の請求書詳細。#

したがって、このモードは、顧客が支払いを完了する前であっても、ERPが新しいTaler注文を即座に反映すべき場合に便利です。

2.3.5.5. 注文支払い時のTalerからの注文#

これは、マーチャントが実際に支払いが完了した後にのみ注文をERPに表示させたい場合に、最も興味深いモードです。特に、多くの顧客セッションが開始される一方で、完了した購入のみがERPオブジェクトになるべき自動販売機、キオスク、コーヒーマシンなどの設定に有用です。

新しい注文を作成する前に、DolibarrとTalerBarrの両方の現在の状態を確認しておくと便利です。次の例では、Dolibarr注文リストとTalerBarr注文リストにはすでに以前に同期されたオブジェクトがいくつか含まれています。

新しいTaler注文を作成する前のDolibarr注文リスト

新しいTaler注文が作成される前のDolibarr注文リスト。#

新しいTaler注文の支払い前のTalerBarr注文リスト

新しいTaler注文の支払い前のTalerBarr注文リスト。#

ここでTaler側で注文が作成されます。次の2枚の画像は、Taler SPAAでの作成フローを示しています。

Taler SPAAでの注文作成

Taler SPAAでの注文作成。#

新規作成されたTaler注文の確認

Taler側で新規作成された注文。#

この時点で、注文は作成されていますが、まだ支払われていません。設定が Sync when order is paid であるため、注文はまだDolibarr注文リストには表示されません。

未払いのTaler注文がまだインポートされていないことを示すDolibarr注文リスト

未払いのTaler注文がまだインポートされていないことを示すDolibarr注文リスト。#

しかし、TalerBarrはすでにTaler側に新しい注文が存在することを検知しており、自身のモジュールテーブル内でそれを追跡しています。この段階では、注文、請求書、支払い、返金、送金といったリンクされたDolibarrオブジェクトはまだ存在しません。

検知済みだが未払いの注文を含むTalerBarr注文リスト

検知済みだが未払いの注文を含むTalerBarr注文リスト。#

対応するTalerBarr注文カードを開くと、これまでのところ一般的な注文情報のみが利用可能であることがわかります。

支払い前のTalerBarr注文カード

支払い前のTalerBarr注文カード。一般情報のみが記録されています。#

次のステップは、Talerウォレットで注文の支払いを行うことです。

ウォレットでTaler注文を支払う

Talerウォレットで注文の支払いを行う。#

支払い後、Taler SPAAにも注文が支払い済みであることが表示されます。

注文が支払い済みであることを示すTaler SPAA

注文が支払い済みであることを示すTaler SPAA。#

ここでDolibarrに戻ると、新しい注文がDolibarr注文リストに表示されます。

Taler注文が支払われた後のDolibarr注文リスト

Taler注文が支払われた後のDolibarr注文リスト。#

TalerBarr注文テーブルも更新されます。未払い状態とは対照的に、モジュールはDolibarr側で作成されたリンク済みのビジネスオブジェクトを表示できるようになります。

支払い後、リンクされたオブジェクトを含むTalerBarr注文リスト

支払い後のTalerBarr注文リスト。リンクされたオブジェクトが表示されています。#

TalerBarr注文カードを再度開くと、オブジェクトの更新された状態とリンクされた要素を確認できます。

支払い後のTalerBarr注文カード

リンクされたDolibarrオブジェクトを含む、支払い後のTalerBarr注文カード。#

この段階で、モジュールはTaler側の注文を、受注、請求書、支払いといった対応するDolibarrのビジネスオブジェクトとリンクさせます。これが Sync when order is paid モードの主な利点であり、完了した購入のみがERPの注文フローの一部となります。

2.3.5.6. 次のステップ#

支払い済み注文がエンドツーエンドで機能することを確認したら、返金の管理 に進んで取消処理をテストし、送金の管理 で決済フローを確認してください。