diff options
author | Marcello Stanisci <marcello.stanisci@inria.fr> | 2017-05-31 16:25:32 +0200 |
---|---|---|
committer | Marcello Stanisci <marcello.stanisci@inria.fr> | 2017-05-31 16:25:32 +0200 |
commit | ee1bff39423ca0679fd15906056372751e1b03e2 (patch) | |
tree | 7441f237577c21508b77ca1b8c3c121b401e610d /wireformats.rst | |
parent | 6edadef7840f2104ad40dfa086641bccee8b2c57 (diff) | |
download | docs-ee1bff39423ca0679fd15906056372751e1b03e2.tar.gz docs-ee1bff39423ca0679fd15906056372751e1b03e2.tar.bz2 docs-ee1bff39423ca0679fd15906056372751e1b03e2.zip |
move content away to proper repos, plus killing obsolete stuff
Diffstat (limited to 'wireformats.rst')
-rw-r--r-- | wireformats.rst | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/wireformats.rst b/wireformats.rst new file mode 100644 index 00000000..4e154930 --- /dev/null +++ b/wireformats.rst @@ -0,0 +1,69 @@ +.. _wireformats: + +Wire Transfer Formats +===================== + +A wire transfer is essential for the exchange to transfer funds into a merchant's +account upon a successful deposit (see :ref:`deposit request <deposit>`). The +merchant has to include the necessary information for the exchange to initiate the +wire transfer. + +The information required for wire transfer depends on the type of wire transfer +used. Since the wire transfers differ for each region, we document here the +ones currently supported by the exchange. + +TEST +---- + +The TEST wire format is used for testing and for integration with Taler's +simple "bank" system which in the future might be useful to setup a bank +for a local / regional currency or accounting system. Using the TEST +wire format in combination with the Taler's bank, it is thus possible to +fully test the Taler system without using "real" currencies. The wire +format for "TEST" is very simple, in that it only specifies an account +number in a field "account_number" and the URI of the bank: + + * `type`: the string constant `"test"` + * `bank_uri`: the URI of the bank (starting with `http://` or `https://`) + * `account_number`: the number of the account at the bank + +The account number given must be a positive 53-bit integer. +Additional fields may be present, but are not required. + +Note that a particular exchange is usually only supporting one +particular bank with the "TEST" wire format, so it is not possible for +a merchant with an account at a different bank to use "TEST" to +transfer funds across banks. After all, this is for testing and not +for real banking. + +SEPA +---- + +The Single Euro Payments Area (SEPA) [#sepa]_ is a regulation for electronic +payments. Since its adoption in 2012, all of the banks in the Eurozone and some +banks in other countries adhere to this standard for sending and receiving +payments. Note that the currency of the transfer will (currently) always be *EURO*. In +case the receiving account is in a currency other than EURO, the receiving bank +may covert the amount into that currency; currency exchange charges may be +levied by the receiving bank. + +For the merchant to receive deposits through SEPA, the deposit request must +contain a JSON object with the following fields: + + .. The following are taken from Page 33, SEPA_SCT.pdf . + + * `type`: the string constant `"sepa"` + * `iban`: the International Bank Account Number (IBAN) of the account of the beneficiary + * `name`: the name of the beneficiary + * `bic`: the Bank Identification Code (BIC) code of the beneficiary's bank + * `salt`: random salt (used to make brute-forcing the hash harder) + +The JSON object may optionally contain: + * `address`: the address of the Beneficiary + +The implementation of the SEPA plugin is currently incomplete. Specifically, we need a working implementation of `libebics` which is a sub-project trying to implement the EBICS [#ebics]_ standard. + +.. [#sepa] SEPA - Single Euro Payments Area: + http://www.ecb.europa.eu/paym/sepa/html/index.en.html +.. [#ebics] EBCIS - European Banking Computer Interface Standard + http://www.ebics.org/ |