3.1.1. 概念的概要#
3.1.1.1. このチュートリアルについて#
このチュートリアルでは、GNU Talerマーチャントバックエンドを使用して支払いを処理する方法を説明します。 このチュートリアルの対象者は、GNU Talerを顧客向けFrontendとスタッフ向けBackofficeと統合することに取り組んでいるマーチャント(ウェブショップなど)の*開発者*です。
この章では基本的な概念を説明します。第2章では、基本的な支払いの方法を学ぶ。
このバージョンのチュートリアルには Python3 の例があります。HTTP リクエストには requests ライブラリを使用します。他の言語/環境用のバージョンもあります。
簡単な実行例をご覧になりたい方は、こちらをご覧ください:
本の各章を個別に販売する essay merchant。
ソフトウェアプロジェクトへの寄付を受け付け、寄付の領収書を発行する`寄付のページ<https://git.taler.net/taler-merchant-demos.git/tree/talermerchantdemos/donations>`__。
返金業務プロセスを含むウェブショップへの包括的な統合である WooCommerce plugin。
3.1.1.2. アーキテクチャ概要#
加盟店向けのTalerソフトウェアスタックは、以下の主要コンポーネントで構成されています:
顧客のブラウザと対話するフロントエンド。フロントエンドは、顧客がショッピングカートを構築し、注文することを可能にします。支払い時に、それぞれのビジネスロジックをトリガーして注文を満たします。このコンポーネントはTalerには含まれておらず、加盟店に存在すると仮定されています。このチュートリアルでは、Talerフロントエンドの開発方法について説明します。
フロントエンドがTalerで金融取引を簡単に処理できるようにする、Taler専用の支払いバックエンド。このチュートリアルでは、公開sandboxバックエンドを使用します。本番環境で使用する場合、あなた自身のバックエンドをセットアップするか、他の人にセットアップを依頼する必要があります。
次の図は、これらの主要コンポーネントのさまざまな相互作用を表している:
バックエンドは暗号プロトコルのサポートを提供し、Taler固有の財務情報を保存し、インターネット上でGNU Taler取引所と通信します。フロントエンドはRESTful APIを介してバックエンドにアクセスする。その結果、フロントエンドは取引所と直接通信する必要がなく、機密データを扱うこともありません。特に、マーチャントの署名キーと銀行口座情報は、Talerバックエンド内にカプセル化されます。
バックエンドの一部の機能 (「パブリックインターフェース」) は、顧客のブラウザに直接公開されます。HTTP API では、(バックオフィス用の) プライベートエンドポイントの先頭に /private/ をつけます。 このチュートリアルでは /private/ エンドポイントに焦点を当てます。パブリックインターフェイスはウォレットが直接使用するものであり、マーチャントには関係ありません(APIが公開されていなければならないということ以外)。
3.1.1.3. パブリックsandboxバックエンドと認証#
フロントエンドがTalerバックエンドにどのように認証するかは、設定に依存します。Merchant Backend Operator Manual <https://docs.taler.net/taler-merchant-manual.html>`_を参照してください。
公開sandboxバックエンド https://backend.demo.taler.net/instances/sandbox/ は Authorization ヘッダーにAPIキーを使用します。このヘッダーの値は、公開sandboxバックエンドでは Bearer secret-token:sandbox でなければなりません。
>>> import requests
>>> requests.get("https://backend.demo.taler.net/instances/sandbox/private/orders",
... headers={"Authorization": "Bearer secret-token:sandbox"})
<Response [200]>
200以外のHTTPステータスコードが返された場合、何かが間違っています。このチュートリアルを続ける前に、何が問題なのかを突き止めるべきです。
sandboxバックエンド https://backend.demo.taler.net/instances/sandbox/ は KUDOS を架空の通貨として使用しています。KUDOS で建てられたコインは https://bank.demo.taler.net/ から引き出すことができます。
3.1.1.4. マーチャント・インスタンス#
単一のTalerマーチャントバックエンドサーバーは、別々のビジネスエンティティである複数のマーチャントによって使用することができます。これらの個別のビジネスエンティティのそれぞれには、英数字の*インスタンスID*で識別される*マーチャントインスタンス*が割り当てられます。インスタンスが省略された場合は、インスタンスID admin が割り当てられます。
https://backend.demo.taler.net/、以下のマーチャント・インスタンスが設定されている:
``GNUnet``(GNUnetプロジェクト)、https://backend.demo.taler.net/instances/gnunet/ で利用可能です。
``FSF``(フリーソフトウェアファウンデーション)、https://backend.demo.taler.net/instances/fsf/ で利用可能です。
``Tor``(The Torプロジェクト)、https://backend.demo.taler.net/instances/tor/ で利用可能です。
``admin``(Kudos Inc.)、https://backend.demo.taler.net/ で利用可能です。
``sandbox``(テスト用)、https://backend.demo.taler.net/instances/sandbox/ で利用可能です。
注釈
これらは、私たちのデモンストレーターのために使用される架空のマーチャントであり、それぞれのプロジェクトと提携しているわけでも、公式に承認されているわけでもありません。
インスタンスのエンドポイントはすべて同じAPIを提供します。したがって、どのインスタンスを使用するかは、マーチャントのバックエンドのベースURLに含まれるだけです。
3.1.1.5. ビデオ・チュートリアル#
このページには、TalerマーチャントAPIを紹介するビデオチュートリアルのすべてのドキュメントが含まれています。
3.1.1.5.1. ビデオ#
3.1.1.5.2. 必要条件#
このチュートリアルシリーズに必要:
- Talerマーチャントバックエンド
- Talerウォレットのインスタンスセットアップ手順はhttps://wallet.taler.netにありますが、このチュートリアルでは必須ではありません。
- REST API管理ソフトウェアまたは関連プログラミングスキルこのビデオシリーズでは、https://insomnia.rest からダウンロードできるフリーソフトウェア「Insomnia」を使用します。このビデオでは入門編として、Insomniaで準備したクエリからPython(またはサポートされている言語)で作業コードをエクスポートし、実行する方法を紹介しますが、次のチュートリアルで再び実演することはありません。
3.1.1.5.3. デモ・バックエンドのお知らせ#
このチュートリアルでは、オンラインTalerマーチャントデモサービスhttps://backend.demo.taler.net/instances/sandbox/ を使用することを強くお勧めします。
アクセスキーは**sandbox**です。
3.1.1.5.4. シークレットトークンに関する情報#
シークレットトークンはRFC 8959に準拠しています。詳しくはhttps://datatracker.ietf.org/doc/html/rfc8959をご覧ください。これはベアラートークンであり、Authorizationヘッダーにそれを指定する必要があることに注意してください。
認証ヘッダーは以下のようになるはずです:Authorization: Bearer secret-token:<access key>
3.1.1.5.5. その他のチュートリアル#
その他のチュートリアルを見るには、このサイトを閲覧するか、https://docs.taler.net にアクセスして、Talerサービスに関する最新のドキュメントを入手してください。