gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-docs] branch master updated: Add proposal for wallet transactions


From: gnunet
Subject: [taler-docs] branch master updated: Add proposal for wallet transactions API
Date: Mon, 27 Apr 2020 16:00:10 +0200

This is an automated email from the git hooks/post-receive script.

torsten-grote pushed a commit to branch master
in repository docs.

The following commit(s) were added to refs/heads/master by this push:
     new 0b3dbb1  Add proposal for wallet transactions API
0b3dbb1 is described below

commit 0b3dbb1972bc9ef0f202467aa0aebd9a98cb7f0b
Author: Torsten Grote <address@hidden>
AuthorDate: Mon Apr 27 10:59:53 2020 -0300

    Add proposal for wallet transactions API
---
 taler-wallet.rst | 154 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 154 insertions(+)

diff --git a/taler-wallet.rst b/taler-wallet.rst
index c619d43..6223512 100644
--- a/taler-wallet.rst
+++ b/taler-wallet.rst
@@ -77,6 +77,160 @@ Android Wallet
 APIs and Data Formats
 =====================
 
+.. warning::
+
+  These APIs are still a work in progress and *not* final.
+
+Transactions
+------------
+
+Transactions are all operations or events that are affecting the balance.
+
+:name: ``"transactions"``
+:description: Get a list of past and pending transactions.
+:request:
+  .. ts:def:: TransactionsRequest
+
+    interface TransactionsRequest {
+      // return only transactions in the given currency
+      currency: string;
+
+      // if present, results will be limited to transactions related to the 
given search string
+      search?: string;
+    }
+:response:
+  .. ts:def:: TransactionsResponse
+
+    interface TransactionsResponse {
+      // a list of past and pending transactions
+      transactions: Transaction[];
+    }
+
+  .. ts:def:: Transaction
+
+    interface Transaction {
+      // opaque unique ID for the transaction, used as a starting point for 
paginating queries
+      // and for invoking actions on the transaction (e.g. deleting/hiding it 
from the history)
+      transactionId: string;
+
+      // the type of the transaction; different types might provide additional 
information
+      type: TransactionType;
+
+      // main timestamp of the transaction
+      timestamp: Timestamp;
+
+      // true if the transaction is still pending, false otherwise
+      pending: boolean;
+    }
+
+  .. ts:def:: TransactionType
+
+    type TransactionType = (
+      TransactionWithdrawal |
+      TransactionPayment |
+      TransactionRefund |
+      TransactionTip
+    )
+
+  .. ts:def:: TransactionWithdrawal
+
+    // This should only be used for actual withdrawals
+    // and not for tips that have their own transactions type.
+    interface TransactionWithdrawal extends Transaction {
+      type: string = "withdrawal",
+
+      // Exchange that was withdrawn from.
+      exchangeBaseUrl: string;
+
+      // If the withdrawal is pending, this can include a Url for extra user 
confirmation.
+      bankWithdrawConfirmUrl?: string;
+
+      // Amount that has been subtracted from the reserve's balance for this 
withdrawal.
+      amountRaw: Amount;
+
+      // Amount that actually was (or will be) added to the wallet's balance.
+      amountEffective: Amount;
+    }
+
+  .. ts:def:: TransactionPayment
+
+    interface TransactionPayment extends Transaction {
+      type: string = "payment",
+
+      // Additional information about the payment.
+      info: TransactionInfo;
+
+      // Amount that was paid, including deposit, wire and refresh fees.
+      amountEffective: Amount;
+    }
+
+  .. ts:def:: TransactionInfo
+
+    interface TransactionInfo {
+      // Order ID, uniquely identifies the order within a merchant instance
+      orderId: string;
+
+      // More information about the merchant
+      merchant: Merchant;
+
+      // Amount that must be paid for the contract
+      amount: Amount;
+
+      // Summary of the order, given by the merchant
+      summary: string;
+
+      // Map from IETF BCP 47 language tags to localized summaries
+      summary_i18n?: { [lang_tag: string]: string };
+
+      // List of products that are part of the order
+      products: Product[];
+
+      // URL of the fulfillment, given by the merchant
+      fulfillmentUrl: string;
+    }
+
+  .. ts:def:: TransactionRefund
+
+    interface TransactionRefund extends Transaction {
+      type: string = "refund",
+
+      // Additional information about the refunded payment
+      info: TransactionInfo;
+
+      // Part of the refund that couldn't be applied because the refund 
permissions were expired
+      amountInvalid: Amount;
+
+      // Amount that has been refunded by the merchant
+      amountRaw: Amount;
+
+      // Amount will be added to the wallet's balance after fees and refreshing
+      amountEffective: Amount;
+    }
+
+  .. ts:def:: TransactionTip
+
+    interface TransactionTip extends Transaction {
+      type: string = "tip",
+
+      // true if the user still needs to accept/decline this tip
+      waiting: boolean;
+
+      // true if the user has accepted this top, false otherwise
+      accepted: boolean;
+
+      // Exchange that the tip will be (or was) withdrawn from
+      exchangeBaseUrl: string;
+
+      // More information about the merchant that sent the tip
+      merchant: Merchant;
+
+      // Raw amount of the tip, without extra fees that apply
+      amountRaw: Amount;
+
+      // Amount will be (or was) added to the wallet's balance after fees and 
refreshing
+      amountEffective: Amount;
+    }
+
 Refunds
 -------
 

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]