Electrum Regulated Payments Events API (26.1.1)

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
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

InvestigationStatusRejectedModification

Specifies the reason for the rejection of a modification request, in a coded form. Used when responding to a prior request to modify a payment

rejectedModificationStatusobject(ModificationStatusReason)required
rejectedModificationStatus.​schemastring

Identifies the value as being a pre-defined code. Always CODE.

Discriminator
rejectedModificationStatus.​valuestring
  • UM01 UnableToModifyRelatedReference - Related transaction reference cannot be modified.
  • UM02 UnableToModifyPaymentServiceLevel - Service level element of payment type cannot be modified(former UnableToModifyBankOperationCode).
  • UM03 UnableToModifyCategoryPurpose - Category purpose element of payment type cannot be modified (former UnableToModifyInstructionCode).
  • UM04 UnableToModifyRequestedExecutionDate - RequestedExecutionDate cannot be modified.
  • UM05 UnableToModifyInterbankSettlementDate - InterbankSettlementDate cannot be modified (former UnableToModifyValueDate).
  • UM06 UnableToModifyInterbankSettlementAccount - SettlementAccount cannot be modified (former UnableToModifyInterbankSettlementAccount).
  • UM07 UnableToModifyDebtor - Debtor cannot be modified.
  • UM08 UnableToModifyDebtorAccount - DebtorAccount cannot be modified.
  • UM09 UnableToModifyInstructedReimbursementAgent - InstructedReimbursementAgent cannot be modified (former UnableToModifyReceiverCorrespondent).
  • UM10 UnableToModifyThirdReimbursementAgent - ThirdReimbursementAgent cannot be modified (former UnableToModifyThirdReimbursementInstitution).
  • UM11 UnableToModifyPaymentClearingChannel - Clearing Channel element of payment type cannot be modified (former UnableToModifyPaymentScheme)
  • UM12 UnableToModifyCreditorAgentAccount - Creditor agent account cannot be modified (former UnableToModifyAccountOfBeneficiaryInstitution)
  • UM13 UnableToModifyCreditor - Creditor cannot be modified.
  • UM14 UnableToModifyCreditorAccount - Creditor account cannot be modified.
  • UM15 UnableToModifyRemittanceInformation - Remittance information cannot be modified.
  • UM16 UnableToModifyPaymentPurpose - PaymentPurpose cannot be modified.
  • UM17 UnableToModifyChargeBearer - Charge bearer cannot be modified (former UnableToModifyDetailsOfCharges).
  • UM18 UnableToModifyInstructionForNextAgent - Instruction for next agent cannot be modified (former UnableToModifySenderToReceiver).
  • UM19 UnableToModifyInstructionForCreditorAgent - Instruction for creditor agent cannot be modified. (former UnableToModifyInstructionForFinalAgent).
  • UM20 InstructionCancelledSubmitNewInstruction - Used to inform of cancellation and request a new payment instruction. This should only be used if an agent does not want to modify a pending payment.
  • UM21 UnableToModifySubmitCancellation - Modification is not possible and the cancellation is requested.
  • UM22 UnableToModifyDebtorAgentAccount - Debtor agent account cannot be modified (applicable for direct debits).
  • UM23 UnableToModifyInterbankSettlementAmount - Interbank settlement amount cannot be modified.
  • UM24 UnableToModifyInstructionForDebtorAgent - Instruction for debtor agent cannot be modified (applicable for direct debits)
  • UM25 UnableToModifyRequestedCollectionDate - Requested collection date cannot be modified (applicable for direct debits)
  • UM26 UnableToModifyPaymentType - Payment type cannot be modified.
  • UM27 UnableToModifyInstructedAmount - Instructed or equivalent amount cannot be modified.
  • UM28 UnableToModifyPriority - Priority of payment message cannot be modified.
Enum"UM01""UM02""UM03""UM04""UM05""UM06""UM07""UM08""UM09""UM10"
statusTypestringrequired
Value"REJECTED_MODIFICATION"
{ "rejectedModificationStatus": { "schema": "string", "value": "UM01" }, "statusType": "REJECTED_MODIFICATION" }

InvestigationStatus

Indicates the status of an investigation

cancellationConfirmedbooleanrequired
statusTypestringrequired
Value"CANCELLATION_CONFIRMATION"
Discriminator
{ "cancellationConfirmed": true, "statusType": "CANCELLATION_CONFIRMATION" }

ResolutionOfInvestigation

An extension of BaseMessage which includes additional information pertinent to an asynchronous response message. In particular, original message identifiers.

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

originalMessageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

originalMessageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

originalMessageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

assignmentobject(CaseAssignment)required
assignment.​assigneeany(PartyInstitutionChoice)required
assignment.​assignee.​institutionobject(InstitutionIdentification)required
assignment.​assignee.​institution.​additionalIdentificationsArray of objects(AccountIdentification)
assignment.​assignee.​institution.​addressobject(PostalAddress)
assignment.​assignee.​institution.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

assignment.​assignee.​institution.​branchobject(BranchIdentification)
assignment.​assignee.​institution.​clearingSystemMemberIdobject(ClearingSystemMemberIdentification)
assignment.​assignee.​institution.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

assignment.​assignee.​institution.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

assignment.​assignee.​institution.​companyRegistrationstring<= 35 charactersDeprecated

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

assignment.​assignee.​institution.​memberIdstring<= 35 charactersDeprecated

Deprecated. Please use the preferred clearingSystemMemberId.memberId instead. Identification of a member of a clearing system.

assignment.​assignee.​schemastringrequired
Value"INSTITUTION"
Discriminator
assignment.​assignerany(PartyInstitutionChoice)required
assignment.​assigner.​institutionobject(InstitutionIdentification)required
assignment.​assigner.​institution.​additionalIdentificationsArray of objects(AccountIdentification)
assignment.​assigner.​institution.​addressobject(PostalAddress)
assignment.​assigner.​institution.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

assignment.​assigner.​institution.​branchobject(BranchIdentification)
assignment.​assigner.​institution.​clearingSystemMemberIdobject(ClearingSystemMemberIdentification)
assignment.​assigner.​institution.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

assignment.​assigner.​institution.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

assignment.​assigner.​institution.​companyRegistrationstring<= 35 charactersDeprecated

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

assignment.​assigner.​institution.​memberIdstring<= 35 charactersDeprecated

Deprecated. Please use the preferred clearingSystemMemberId.memberId instead. Identification of a member of a clearing system.

assignment.​assigner.​schemastringrequired
Value"INSTITUTION"
Discriminator
assignment.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

assignment.​identificationstring<= 35 charactersrequired

Uniquely identifies a case assignment

cancellationDetailsobject(CancellationDetails)

Specifies the details of the underlying transaction being cancelled

correctionTransactionany(CorrectiveTransactionChoice)
paymentSchemeobject(ResolutionOfInvestigationPaymentScheme)required

Designates which scheme a resolution of investigation is associated with and describes scheme-specific information.

paymentScheme.​schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme.
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
  • ZA_AC : South African Authenticated Collections scheme.
  • ZA_RMS: South African Registered Mandate Service scheme.
  • CBPR_PLUS: Cross-Border Payments and Reporting Plus.
Enum"ZA_RTC""ZA_RPP""ZA_EFT""ZA_AC""ZA_RMS""CBPR_PLUS"
Discriminator
resolvedCaseobject(Case6)
schemastringrequired
Value"ResolutionOfInvestigation"
statusany(InvestigationStatus)required

Indicates the status of an investigation

status.​cancellationConfirmedbooleanrequired
status.​statusTypestringrequired
Value"CANCELLATION_CONFIRMATION"
Discriminator
{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "supplementaryData": { "property1": "string", "property2": "string" }, "originalMessageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "assignment": { "assignee": {}, "assigner": {}, "creationDateTime": "2019-08-24T14:15:22Z", "identification": "string" }, "cancellationDetails": { "cancellationStatusReasonInfo": {}, "originalTransaction": {}, "originalTransactionIdentifiers": {}, "transactionCancellationStatus": "RJCR" }, "correctionTransaction": { "messageIdentifiers": {}, "schema": "CORRECTIVE_INTERBANK_TRANSACTION", "settlementAmount": {}, "settlementDate": "2019-08-24", "transactionIdentification": {} }, "paymentScheme": { "schema": "ZA_RTC" }, "resolvedCase": { "creator": {}, "identification": "string", "reopenCaseIndication": true }, "schema": "ResolutionOfInvestigation", "status": { "confirmationCode": "ACDA", "statusType": "CONFIRMATION" } }