The Electrum Regulated Payments API is an asynchronous API that allows partners to participate in various nationally regulated payment schemes.
This document describes the operations exposed by Electrum for partners to consume in order to initiate outbound or respond to inbound payments.
As the Regulated Payments API is asynchronous, partners have a choice of how to integrate with Electrum:
Receiving transactional events via webhooks or API are equivalent, except that it may be more familiar or convenient to implement one style or the other. Partners may request the method of communication Electrum should use when selecting which payment schemes to participate in.
https://example.com/path/payments/api/v1/
This synchronous operation is designed for identifier validation.
The Check Digit Verification (CDV) operation facilitates identifier validation through specific check digit algorithms. Notably, these algorithms may vary across Payment Systems. To distinguish between them, a verification scheme is employed. Presently, the supported scheme is 'ZA_CDV.'
This operation allows verification of the provided account number, bank identifier, and account type identifier against the provided verification scheme's check digit algorithm. It assesses the plausibility of these identifiers within the context of the chosen verification scheme.
| Validation Scheme | Applicable | Function Enabled |
|---|---|---|
| ZA_CDV | ✓ | South African Check Digit Verification - Check digit verification within the context of the South African National Payments System. |
A value used to trace an HTTP message within an Electrum Regulated Payments implementation. This field must be set as per the traceparent element defined in the W3C Trace Context Level 2 specification.
A value used to provide context to an HTTP message as it is traced within an Electrum Regulated Payments implementation. This field must be set as per the traceparent element defined in the W3C Trace Context Level 2 specification.
Identifies the scheme that defines the identification of a generic account.
https://example.com/path/payments/api/v1/identifiers/check-digit-verification
curl -i -X POST \
'https://example.com/path/payments/api/v1/identifiers/check-digit-verification?verbose=true' \
-H 'Content-Type: application/json' \
-H 'traceparent: string' \
-H 'tracestate: string' \
-d '{
"verificationScheme": "ZA_CDV",
"identifier": {
"schema": "GENERIC",
"scheme": {
"schema": "CODE",
"value": "BBAN"
},
"issuer": "Capitec Bank",
"value": 1608249008
},
"branch": {
"identification": 470010
},
"accountType": {
"schema": "CODE",
"value": "CACC"
}
}'OK. RFC9110 - 200
Indicates whether the check digit verification was successful or not.
PASSED: The provided data passed verification.
FAILED: The provided data failed verification.
SKIPPED: No verification was performed.
{ "outcome": "PASSED" }