Outbound AVS-R
The diagram below shows the message flow between you and Electrum when you initiate an AVS-R transaction to verify account details at a different bank. Note that the steps below describe a synchronous message exchange between your system and Electrum. However, these exchanges are also possible through asynchronous API calls that are available in the API.
- You send Electrum an
outboundSynchronousAccountVerification
message (AccountVerificationRequest
schema) to verify a customer account held at a different bank.
AccountVerificationRequest Schema
required | object (MessageIdentifiers) Holds a point-to-point unique message identification string as well as a message's creation date time. |
object (SupplementaryData) A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message. | |
required | object (TransactionIdentifiers) Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction. |
required | object (Party) This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation. |
required | object (Party) This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation. |
object (Party) This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation. | |
object (InstitutionIdentification) | |
schema required | string Value: "AccountVerificationRequest" |
required | object (Verification) |
- Electrum passes the message to BankservAfrica and receives a response.
- Electrum sends you an
outboundSynchronousAccountVerification
response message (AccountVerificationResponse
schema) containing the results of the account verification.
AccountVerificationResponse Schema
required | object (MessageIdentifiers) Holds a point-to-point unique message identification string as well as a message's creation date time. |
object (SupplementaryData) A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message. | |
required | object (TransactionIdentifiers) Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction. |
required | object (Party) This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation. |
required | object (Party) This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation. |
object (Party) This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation. | |
object (InstitutionIdentification) | |
object (Assignment) | |
object (MessageIdentifiers) Holds a point-to-point unique message identification string as well as a message's creation date time. | |
object (Verification) | |
object (VerificationReport) | |
schema required | string Value: "AccountVerificationResponse" |
object (Status) |
Error Handling
The sections below describe what you can expect to see in cases of errors or timeouts at the various entities.
Since AVS-R transactions are non-financial in nature, there is no additional message processing required to undo any potential impact of the original AVS-R transaction.
Error at BankservAfrica
If a functional error is encountered at BankservAfrica (for example, if the destination bank’s system is unavailable and BankservAfrica is unable to deliver the message to them) then Electrum will send a negativeAccountVerificationResponse
message to you, detailing the reason for the failure.Timeout at Electrum
If Electrum times out while waiting for a response from BankservAfrica, then Electrum will return a negativeAccountVerificationResponse
message to you, detailing the timeout error. No Response from Electrum
If you do not receive anAccountVerificationResponse
from Electrum or an error occurs at your system, then the transaction should be considered failed. You may re-attempt the transaction in this case.