marketing

Marketing materials (presentations, posters, flyers)
Log | Files | Refs

uri-request-payto.txt (5460B)


      1 Scheme name: payto
      2 
      3 Status: permanent
      4 
      5 Applications/protocols that use this scheme name:
      6   Online banking and payment applications.
      7 
      8 Scheme syntax:
      9   payto://<method>/<account>[?<params>]
     10 
     11   where the tokens have the following meanings:
     12   
     13   payto:  The literal "payto".
     14   method:  A string identifying the payment method.
     15   account: A string identifiying the account.
     16   params: A list of "key=value" pairs separated by "&". 
     17     The keys "amount", "recipient-name", "sender-name", "message"
     18     and "instruction" SHOULD be supported by all payment methods.
     19     Additional keys may be allowed or required by the payment method.
     20 
     21 ABNF
     22   Formal syntax is defined using ABNF [RFC5234].  Certain values
     23   are included by reference from [RFC3986]: 
     24 
     25   payto-URI = "payto" "://" method account [ "?" params ]
     26   params = param *( "&amp;" param )
     27   param = (generic-param / method-specific-param) "=" *pchar
     28   generic-param = "amount" / "recipient-name" / "sender-name" /
     29                "message" / "instruction"
     30   method-specific-param = *pchar
     31   method = <authority, see [RFC3986], Section 3.2>
     32   account = <path-abempty, see [RFC3986], Section 3.3>
     33   pchar = <pchar, see [RFC3986], Appendix A.>
     34   amount = [ currency ":" ] unit [ "." fraction ]
     35   currency = 1*ALPHA
     36   unit = 1*(DIGIT / ",")
     37   fraction = 1*(DIGIT / ",")
     38 
     39 Scheme semantics:
     40   The authority component of a payment URI identifies the payment
     41   method. The path component of the URI identifies the target
     42   account for a payment as interpreted by the respective payment
     43   method.  The query component of the URI can provide additional
     44   parameters for a payment.
     45 
     46   The following methods MUST have the following semantics:
     47 
     48     sepa: Single European Payment Area.  The path is an IBAN, as defined
     49     by [ISO20022].
     50 
     51     upi: Unified Payment Interface.  The path is an account alias, as
     52     defined by [UPILinking].
     53 
     54     bitcoin: Bitcoin protocol.  The path is a bitcoin address, as defined
     55     by [BIP0021].
     56 
     57     ach: Automated Clearing House.  The path is a bank account number, as
     58     defined by [NACHA].
     59 
     60   The following parameters SHOULD be recognized by every method:
     61 
     62     amount: The amount to transfer as decimal fraction, including currency
     63     information if applicable.  The fraction MUST be smaller than 10^8.
     64     The unit value MUST be smaller than 2^53.  The use of commas is optional
     65     for readability and they MUST be ignored.
     66 
     67     recepient-name: Name of the recipient of the payment.
     68 
     69     sender-name: Name of the sender of the payment.
     70 
     71     message: A short message to identify the purpose of the payment,
     72     which MAY be subject to lossy conversions (for example, due to
     73     character set encoding limitations).
     74 
     75     instruction: A short message giving instructions to the recipient,
     76     which MUST NOT be subject to lossy conversions.  Character set
     77     limitations allowed for instructions depend on the payment method.
     78 
     79   The set of valid method-specific-param depends on the payment method.
     80 
     81 Encoding considerations:
     82   The payto URI scheme encoding conforms to the encoding rules established
     83   for URIs in [RFC3986].
     84 
     85   Various payment systems use restricted character sets.  An
     86   application that processes 'payto' URIs MUST convert characters that
     87   are not allowed by the respective payment systems into allowable
     88   character using either an encoding or a replacement table.  This
     89   conversion process is typically not lossless.
     90 
     91 Interoperability considerations:
     92   This URI scheme subsumes other URI schemes for payments, such as
     93   "bitcoin" (provisionally registered) and "upi" (unregistered but in use,
     94   see [UPILinking]), providing one unified scheme for payment information.
     95 
     96 Security considerations:
     97   The payto URL contains instructions on how to send money.  Applications
     98   that support the payto URI scheme MUST ask for confirmation from the
     99   user in order to confirm a payment.  Applications MUST handle payto
    100   URLs in conformance with the principle of safe interaction
    101   (http://www.w3.org/TR/webarch/#safe-interaction).
    102 
    103 Examples:
    104   payto://sepa/CH9300762011623852957?amount=EUR:200.0&message=hello
    105 
    106 Contact:
    107   Florian Dold <dold@taler.net>
    108   Christian Grothoff <christian@grothoff.org>
    109 
    110 Author/Change controller:
    111   See previous answer.
    112 
    113 References:
    114    [ISO20022]
    115               International Organization for Standardization, "ISO 20022
    116               Financial Services - Universal financial industry message
    117               scheme", May 2013,
    118               <http://iso.ch>
    119 
    120    [NACHA]    NACHA, "NACHA Operating Rules & Guidelines", January 2017,
    121               <https://www.nacha.org>
    122 
    123    [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
    124               Resource Identifier (URI): Generic Syntax", STD 66,
    125               RFC 3986, DOI 10.17487/RFC3986, January 2005,
    126               <http://www.rfc-editor.org/info/rfc3986>.
    127 
    128    [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
    129               Specifications: ABNF", STD 68, RFC 5234, January 2008.
    130 
    131    [BIP0021]  Schneider, N. and M. Corallo, "Bitcoin Improvement
    132               Proposal 21", January 2012, <https://en.bitcoin.it/wiki/
    133               BIP_0021>.
    134 
    135    [UPILinking]
    136               National Payment Corporation of India, "Unified Payment
    137               Interface - Common URL Specifications For Deep Linking And
    138               Proximity Integration", May 2016,
    139               <http://www.npci.org.in/documents/
    140               UPILinkingSpecificationsVersion10draft.pdf>.