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.
The working group maintains a list of all bug reports that the group has not yet addressed.
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.
dictionary PISPCreditRequest { sequence<DOMString> supportedNetworks; };
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.
dictionary PISPCreditResponse { required DOMString payerAccount; required Domstring payerName; DOMString selectedNetwork; };
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.
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.
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)