The Basic SEPAmail Payment specification describes the data formats used by the PaymentRequest API [[!PAYMENTREQUESTAPI]] to support payment by SEPAmail Applications such as RUBIS, GEMME or JADE.

This document is not a formal work item of the Web Payments Working Group. It is for discussion.

The Web Payments Working Group maintains a list of all bug reports that the group has not yet addressed.


This specification is a Payment Method specification for use with the PaymentRequest API [[!PAYMENTREQUESTAPI]]. It can be used by merchants and payment apps to exchange data related to mobile money financial transactions.


This specification relies on several other underlying specifications.

GSMA's Mobile Money Transactions APIs
The [[!MOBILEMONEY]] Transactions APi is used for all operations involving mobile money financial transactions.
Payment Request API
The term PaymentRequest constructor is defined by the PaymentRequest API specification [[!PAYMENTREQUESTAPI]].
Payment Method Identifiers
The term Payment Method Identifier is defined by the Payment Method Identifiers specification [[!METHODIDENTIFIERS]].
The IDL in this specification is defined by Web IDL [[!WEBIDL]].

Payment Method Identifier

The payment method identifier string for the Mobile Money Payment method is mobilemoney.

Payment Method Specific Data for the PaymentRequest constructor

This section describes payment method specific data that is supplied as part of the data argument to the PaymentRequest constructor.


	  enum Type {

	  dictionary BasicSepamailRequest {
  	    required sequence supportedNetworks;
 	    required Type type;
	    required DOMString accountCategory;
	    required DOMString accountRank;
	    required DOMString iban;
	    required DOMString accountID;
	    required DOMString msisdn;
	    required DOMString swiftBIC;
	    required DOMString sortCode;
	    required DOMString organisationID;
	    required DOMString userName;
	    required DOMString walletID;
	    required DOMString linkref;

The MobileMoneyRequest dictionary contains the following fields:

The supportedNetworks field contains a sequence of identifiers for mobile money networks that the merchant accepts. These identifiers would refer, for example, to branded mobile money services that implement the Mobile Money API.
The harmonised Transaction Type
Can be used to identify the sources of funds category where there are multiple accounts (wallets) held against an account holder.

Payment Method Response

The MobileMoneyResponse dictionary contains the response from the PaymentRequest API when a user accepts payment with this payment method.


	  dictionary BasicSepamailResponse {
  	     required DOMString transactionReceipt;

The MobileMoneyResponse dictionary contains the following fields:

Transaction receipt number as notified to the parties.

Data Provided by Payment Apps

In addition to the data from the merchant provided in the MobileMoneyRequest, payment apps will need to compute or gather the following data for use with the [[!MOBILEMONEY]] API:

The creation date and time of the transaction as supplied by the client.