Copyright © 2018 W3C® (MIT, ERCIM, Keio, Beihang). W3C liability, trademark and permissive document license rules apply.
This specification is a Payment Method specification for use by Payment Initiation Service Providers (PISPs) with PaymentRequest API [payment-request]. PISPs are defined as part of the European Payment Service Directive 2 (PSD2). With this payment method, merchants can more easily accept credit transfers in conjunction with PISPs.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.
The working group maintains a list of all bug reports that the group has not yet addressed.
This document was published by the Web Payments Working Group as an Editor's Draft.
GitHub Issues are preferred for discussion of this specification. Alternatively, you can send comments to our mailing list. Please send them to public-payments-wg@w3.org (archives).
Publication as an Editor's Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document was produced by a group operating under the W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
This document is governed by the 1 March 2019 W3C Process Document.
This specification is a Payment Method Specification used by the PaymentRequest API [payment-request] to support payment by credit transfer.
Payment Initiation Service Providers (PISPs) are defined as part of the European Payment Service Directive 2 (PSD2). The goal of this payment method is to create a simple but secure exchange of data that leverages the information that is known by banks under the regulation, and the strong authentication required by PSD2.
This payment method flow works as follows:
This payment method offers several benefits:
See also the flow diagram below.
This specification relies on several underlying specifications.
const PISPcreditTransfer = { supportedNetworks: ["SEPA", "BACS"] };
const PISPcreditResponse = { payerAccount: ["FR761751590000"], selectedNetwork: "SEPA" };
The payment method identifier string for the PISP Credit
Transfer payment method is pisp-credit
.
This section describes payment method specific data that is supplied
as part of the data
argument to the PaymentRequest
constructor.
PISPCreditRequest
dictionary
WebIDLdictionaryPISPCreditRequest
{ sequence<DOMString>supportedNetworks
; };
supportedNetworks
member
This member contains a sequence of identifiers for credit transfer networks that the merchant accepts. This field is optional. If a value is not provided then the merchant accepts credit transfers from any credit transfer network or the PISP will manage to find the right network depending on the payer's bank. Note: The Web Payments Working Group is still discussing whether and how to maintain a database of supported network identifiers.
This section describes the response from the PaymentRequest API when a user accepts payment with the PISP Credit Transfer payment method.
The PISPCreditResponse message means that a message has been submitted to the Payee's Bank, not that funds transfer has occurred. The merchant should wait for notification from its Bank that the payment has cleared.
PISPCreditResponse
dictionary
WebIDLdictionaryPISPCreditResponse
{ required DOMStringpayerAccount
; required DomstringpayerName
; DOMStringselectedNetwork
; };
payerAccount
member
This member is an IBAN that enables the PISP to identify the payer's account.
Under PSD2, services may determine the payer's bank via the IBAN. Note that recent requirements around account portability mean that, within a given country, the payer may change banks without changing IBAN.
payerName
member
This member is a string that represent the Name (FisteName & LastName) of the holder of the account. I may not be the name of the buyer.
In some API from banks (ASPSP) he payerName is used for identification of the payer and give a better user experience of the authentication.
selectedNetwork
member
This member identifies the network to be used by the originator for the credit transfer. If not provided, the PISP may use a credit transfer network corresponding to the country of the payer's bank (e.g., SEPA will be used for Euros).
Kris Ketels (SWIFT), Vincent Kuntz (SWIFT), Matt Saxon (Worldpay)