3.1.1. 概念的概要#
3.1.1.1. このチュートリアルについて#
このチュートリアルでは、GNU Talerマーチャントバックエンドを使用して支払いを処理する方法を説明します。 このチュートリアルの対象者は、GNU Talerを顧客向けFrontendとスタッフ向けBackofficeと統合することに取り組んでいるマーチャント(ウェブショップなど)の*開発者*です。
この章では基本的な概念を説明します。第2章では、基本的な支払いの方法を学ぶ。
このバージョンのチュートリアルには Python3 の例があります。HTTP リクエストには requests ライブラリを使用します。他の言語/環境用のバージョンもあります。
簡単な実行例をご覧になりたい方は、こちらをご覧ください:
エッセイ商<https://git.taler.net/taler-merchant-demos.git/tree/talermerchantdemos/blog>`__は、本の1章を販売する。
ソフトウェアプロジェクトへの寄付を受け付け、寄付の領収書を発行する`寄付のページ<https://git.taler.net/taler-merchant-demos.git/tree/talermerchantdemos/donations>`__。
WooCommerceプラグイン <https://git.taler.net/gnu-taler-payment-for-woocommerce.git/>`__ は、返金業務プロセスを含むウェブショップへの包括的な統合です。
3.1.1.2. 建築概要#
加盟店向けのTalerソフトウェアスタックは、以下の主要コンポーネントで構成されています:
顧客のブラウザと対話するフロントエンド。フロントエンドは、顧客がショッピングカートを構築し、注文することを可能にします。支払い時に、それぞれのビジネスロジックをトリガーして注文を満たします。このコンポーネントはTalerには含まれておらず、加盟店に存在すると仮定されています。このチュートリアルでは、Talerフロントエンドの開発方法について説明します。
フロントエンドがTalerで金融取引を簡単に処理できるようにする、Taler専用の支払いバックエンド。このチュートリアルでは、公開サンドボックスバックエンドを使用します。本番環境で使用する場合、あなた自身のバックエンドをセットアップするか、他の人にセットアップを依頼する必要があります。
次の図は、これらの主要コンポーネントのさまざまな相互作用を表している:
バックエンドは暗号プロトコルのサポートを提供し、Taler固有の財務情報を保存し、インターネット上でGNU Taler取引所と通信します。フロントエンドはRESTful APIを介してバックエンドにアクセスする。その結果、フロントエンドは取引所と直接通信する必要がなく、機密データを扱うこともありません。特に、マーチャントの署名キーと銀行口座情報は、Talerバックエンド内にカプセル化されます。
バックエンドの一部の機能 (「パブリックインターフェース」) は、顧客のブラウザに直接公開されます。HTTP API では、(バックオフィス用の) プライベートエンドポイントの先頭に /private/ をつけます。 このチュートリアルでは /private/ エンドポイントに焦点を当てます。パブリックインターフェイスはウォレットが直接使用するものであり、マーチャントには関係ありません(APIが公開されていなければならないということ以外)。
3.1.1.3. パブリック・サンドボックスのバックエンドと認証#
フロントエンドがTalerバックエンドにどのように認証するかは、設定に依存します。Merchant Backend Operator Manual <https://docs.taler.net/taler-merchant-manual.html>`_を参照してください。
公開サンドボックスバックエンド https://backend.demo.taler.net/instances/sandbox/ は Authorization ヘッダーにAPIキーを使用する。このヘッダの値は、公開サンドボックスバックエンドでは 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ステータスコードが返された場合、何かが間違っています。このチュートリアルを続ける前に、何が問題なのかを突き止めるべきです。
サンドボックスのバックエンド 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プロジェクトは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で準備したクエリからPython(またはサポートされている言語)で作業コードをエクスポートし、実行する方法を紹介しますが、次のチュートリアルで再び実演することはありません。
3.1.1.5.3. デモ・バックエンドのお知らせ#
このチュートリアルでは、オンラインTalerマーチャントデモサービスhttps://backend.demo.taler.net/instances/sandbox/ を使用することを強くお勧めします。
アクセスキーは**sandbox**です。
3.1.1.5.4. シークレットトークンに関する情報#
シークレットトークンはRFC8959に準拠しています。詳しくはhttps://datatracker.ietf.org/doc/html/rfc8959。これはベアラートークンであり、authoirizationヘッダーにそれを指定する必要があることに注意してください。
認証ヘッダーは以下のようになるはずです:認証ベアラ secret-token:<access key>
3.1.1.5.5. その他のチュートリアル#
その他のチュートリアルを見るには、このサイトを閲覧するか、https://docs.taler.net、Talerサービスに関する最新のドキュメントを入手することができます。