Electrum Regulated Payments Events API (17.1.0)

The Electrum Regulated Payments Events API is a synchronous API that describes the events emitted by the Electrum Regulated Payments platform during the course of transaction processing.

This document describes the single endpoint that you will need to implement in order to receive event notifications posted by Electrum.

As transactions are processed by Electrum, events are emitted to provide information about the status of the transactions and the operations preformed on them. These events do not affect processing, but provide information that can be used for operational support and monitoring purposes.

All events are posted to the same single URL. Event are differentiated by a unique descriptor contained in the name field of the message body. This descriptor serves to allow the receiver to determine whether the particular event is of interest.

Download OpenAPI description
Overview
Languages
Servers
Mock server

https://docs.electrumsoftware.com/_mock/openapi/elpapi/elpapi-events/

Payments API sandbox

https://example.com/path/payments/events-api/v1/

state

Transactions transition through different states. As each state is entered, an event is emitted. This event provides information about the state entered by the transaction. Included in this information is the message payload of the operation that triggered the state transition in the Electrum Regulated Payments. Note: The message payload attached to an event might be an internally-triggered message and not the message sent to or received from the Electrum Regulated Payments API.

Operations

Schema

SchemeVerificationData

This object contains fields specific to the scheme being interacted with and determined by the chosen schema. Typically these are fields that are not standard within ISO20022 ACMT.023

schemastringrequired
Discriminator
checkCreditsAllowedboolean

Sets whether or not the response should indicate if credits are allowed on the account.

checkDebitsAllowedboolean

Sets whether or not the response should indicate if debits are allowed on the account.

checkOlderThanThreeMonthsboolean

Sets whether or not the response should indicate whether the account is older than 3 months.

initialsstring<= 70 characters

Initials of the individual account owner that is to be verified.

lastNamestring<= 70 characters

Family name of the individual account owner that is to be verified.

{ "schema": "ZA_AVS", "checkCreditsAllowed": true, "checkDebitsAllowed": true, "checkOlderThanThreeMonths": true, "initials": "string", "lastName": "string" }

ZaAccountVerificationData

Fields specific to account verification services in South Africa. The fields checksDebitsAllowed, checksCreditsAllowed and checksOlderThanThreeMonths indicate to the receiving FI whether or not to return the associated information (i.e. true or false in respect to those items)

schemastringrequired
Discriminator
checkCreditsAllowedboolean

Sets whether or not the response should indicate if credits are allowed on the account.

checkDebitsAllowedboolean

Sets whether or not the response should indicate if debits are allowed on the account.

checkOlderThanThreeMonthsboolean

Sets whether or not the response should indicate whether the account is older than 3 months.

initialsstring<= 70 characters

Initials of the individual account owner that is to be verified.

lastNamestring<= 70 characters

Family name of the individual account owner that is to be verified.

{ "schema": "ZA_AVS", "checkCreditsAllowed": true, "checkDebitsAllowed": true, "checkOlderThanThreeMonths": true, "initials": "string", "lastName": "string" }

Verification

accountobject(PaymentAccount)required

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

account.​currencystring^[A-Z]{3}$

Identification of the currency in which the account is held.

account.​identificationobject(BankingIdentifier)
account.​namestring<= 70 characters

Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.

account.​proxyobject(NonBankingIdentifier)
account.​typeobject(AccountType)
agentobject(InstitutionIdentification)
identificationstring[ 1 .. 35 ] characters

Uniquely identifies this verification. Used in cases where a list of verifications are necessary, in such cases a verification may need to be uniquely identified independently from other verifications.

partyobject(Party)required

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

party.​addressobject(PostalAddress)
party.​contactDetailsobject(ContactDetails)
party.​countryOfResidencestring(CountryCode)[A-Z]{2,2}

A code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).

party.​identificationobject(PartyIdentification)

The identification of a party, either a person or an organisation.

party.​knownAsNamestring[ 1 .. 140 ] characters

The name by which this party is commonly known in day to day use. For example, a shortening of their legal name or a nickname that they commonly use. This is "non-official". However, it is acceptable for this field to be set to the same as legalName.

party.​legalNamestring[ 1 .. 140 ] characters

The legal name by which this party is known (the "FICA" name). This is the full name of the party as found on country-issued documentation (national identity, company registration documentation etc).

schemeVerificationDataobject(SchemeVerificationData)

This object contains fields specific to the scheme being interacted with and determined by the chosen schema. Typically these are fields that are not standard within ISO20022 ACMT.023

{ "account": { "currency": "string", "identification": {}, "name": "string", "proxy": {}, "type": {} }, "agent": { "additionalIdentifications": [], "address": {}, "bicfi": "string", "branch": {}, "clearingSystemMemberId": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "identification": "string", "party": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "schemeVerificationData": { "schema": "string" } }