3.1.6. タラー・オーダー・フォーマット#
Taler注文フォーマットは、注文を作成するためにマーチャントバックエンドにPOSTされなければならないJSONを記述します。これは、マーチャントバックエンドが実際の`契約条項<https://docs.taler.net/core/api-merchant.html#the-contract-terms>`__を作成するプロトタイプです。
リファレンスマニュアル<https://docs.taler.net/core/api-merchant.html#tsref-type-Order>`__に詳しく書かれています。
注釈
金額は常に "CURRENCY:DECIMAL_VALUE" という形式の文字列で指定されます。
このセクションでは、最も一般的なフィールドの概要を説明します:
- 量
顧客がマーチャントに支払う合計金額を指定します。
- 最大料金
これは、マーチャントが支払うことをいとわないデポジット手数料の最大合計額です。もしコインのデポジット手数料がこの金額を超える場合、顧客はその金額を支払総額に含めなければなりません。手数料は
amountと同じ書式で指定します。
- 最大電線使用料
加盟店が受け付ける電信送金手数料の上限(
wire_fee_amortization``係数で除算される顧客負担分。入金手数料が ``max_feeを下回る場合はさらに減額される)。省略時のデフォルトは 0。
- ワイヤーフィー償却
加盟店は電信送金手数料を平均して何回の顧客トランザクションで償却すると予想しますか?取引所の電信送金手数料が
max_wire_feeを上回っている場合、その差額をこの数字で割って、電信送金手数料に対する予想される顧客の負担額を計算します。顧客の負担額は、さらにmax_feeと実際の入金手数料の合計との差によって減少する可能性がある。オプションで、デフォルト値は1です。ゼロや負の値は無効で、1として解釈されます。
- 有料URL
どの URL が支払いを受け入れるか。これはウォレットがコインをPOSTするURLです。
- フルフィルメント_url
例えば、購入された記事のHTMLやPDF、出荷のための注文追跡システム、契約のステータスを示す単純な人間が読めるウェブページなどである。
- オーダーID
加盟店が自由に定義できる英数字の識別子。マーチャントがトランザクションを一意に識別するために使用する。
- 概要
短い、人間が読める契約の要約。顧客の取引履歴などで、契約を1行で表示する場合に使用します。
- タイムスタンプ
オファーが発生した時刻。
- 支払期限
マーチャントが取引所に対して、このコントラクトから支払われる金銭を確定的に電信送金することを望む時間のタイムスタンプ。この期限が切れると、取引所は契約が
refund_deadlineを過ぎているすべての預金を集計し、それらに対して1つの大きな電信送金を実行します。金額は電信送金単位まで切り捨てられます。合計金額が電信送金単位を下回る場合は、払い出されません。
- 返金期限
マーチャントがTalerを使用して契約の払い戻しを行う意思がある(可能である)タイムスタンプ。Taler取引所は、少なくともこの期限まで支払いをエスクローで保持することに注意してください。この時間まで、マーチャントは顧客への返金をトリガーするメッセージに署名することができます。この期限を過ぎると、顧客に返金することはできなくなります。pay_deadline``より小さくなければならない。
- 製品
顧客に販売されている商品の配列。各エントリには、以下の値を持つタプルが含まれます:
- 記述
製品の説明
- 数量
出荷する商品の数量。単位を指定することもできます。
- 価格
指定された
delivery_locationに出荷されるこの商品のquantity単位の価格。通常、すべての価格の合計が契約の総額になるはずですが、割引や個々の価格が利用できないために異なる場合があることに注意してください。- 製品ID
マーチャントのカタログにおける商品のユニークID。マーチャントにとってのみ意味を持つので、一般的には自由に選ぶことができるが、
の範囲の数値でなければならない。- 税金
マーチャントが支払うべき適用税額のマップ。ラベルは税金の名前(VAT、売上税、所得税など)で、値は適用される税額です。適用される税制を識別するために使用される限り、任意のラベルが許容されることに注意すること。詳細は、規制当局が指定することができる。これは、加盟店がどの税金を支払う予定であるかを顧客に宣言するために使用され、顧客は領収書として使用することができる。この情報は、加盟店に対する税務調査でも使用される可能性がある。
- 配達日
商品が
delivery_locationに配達される時間。- 配送先
これは
locationsマップにラベルをつけ、アイテムがどこに配送されるかを指定します。
適用できない場合は値を省略することができる。例えば、個々の価格や商品IDを持たない商品をまとめて購入する場合、
product_idやpriceは契約で指定することはできません。同様に、フルフィルメント URI 経由で直接配送されるバーチャル商品にはdelivery_locationはありません。- マーチャント
- 場所
契約で使用される場所の連想マップ。このマップの場所のラベルは自由に選択することができ、契約の他の部分で場所が必要なときはいつでも使用することができます。こうすることで、同じ場所が何度も必要な場合(顧客や商人の住所など)、一度だけ記載(送信)すればよく、それ以外はラベルを介して参照することができる。ロケーション属性の非網羅的なリストは以下の通りである:
- 名称
配達の受取人名(企業名または個人名)。
- カントリー
郵便小包に記載されている配達先の国名(例:「フランス」)。
- 状態
郵便小包に記載されている配達先の州名(例:「NY」)。
- 地域
郵便小包に記載されている配達地域名。
- 地方
郵便小包に記載されている配達先の都道府県名。
- 都市
郵便小包に記載されている配達先の都市名。
- 郵便番号
郵便小包に記載されている配達先の郵便番号。
- ストリート
郵便小包に記載されている、配達先の通り名。
- ストリートナンバー
郵便小包に記載されている、配達のためのストリートナンバー(家の番号)。
注釈
ロケ ーションは、これらのフィールドをすべて指定する必要はない。コントラクトレンダラは、少なくとも上記のフィールドをレンダリングしなければならず、理解できないフィールドはキーバリューリストとしてレンダリングしなければならない。