EPC API for receiving Electrum calls (26.1.1)

The Electrum EPC API for receiving Electrum calls is an asynchronous API that allows Corporate Clients to participate in various nationally regulated payment schemes. This document describes the operations a Corporate Client must implement for Electrum to consume in order to complete the integration with the Electrum Enterprise Payments Channel API.

Languages
Servers
Partner API sandbox

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

credit-transfer

Operations related to credit transfer transactions.

Operations

identifier-determination

Operations used to retrieve additional information related to an identifier

Operations

Schema

MandateInformation

Provides a reference to the direct debit mandate signed between the creditor and the debtor.

Note: This model is not relevant to the ZA_EFT scheme. Electrum will not process these fields for EFT payments (e.g. tracking days are not honoured for EFT).

mandateIdentificationstring<= 35 characters

Unique identification to unambiguously identify the mandate. This links the direct debit collection to the original mandate.

For DebiCheck, this field contains the scheme-assigned Mandate Reference Number which is the authoritative identifier for linking collections to mandates.

trackingDaysinteger[ 0 .. 99 ]

Specifies the number of days the direct debit instruction must be tracked. The debtor has this period to dispute the collection.

{ "mandateIdentification": "string", "trackingDays": 99 }

TransactionAmounts

bankSettlementAmountobject(Amount)required
bankSettlementAmount.​currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

bankSettlementAmount.​valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0✓Represents 10 USD and no cents.
USD10.00✓
USD10.001✗US dollar does not support three decimal places.
JPY10.0✓Represents 10 Japanese Yen.
JPY10.1✗Japanese Yen does not support decimal places.
instructedAmountobject(Amount)
{ "bankSettlementAmount": { "currency": "string", "value": 0.1 }, "instructedAmount": { "currency": "string", "value": 0.1 } }

PaymentAccount

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

currencystring^[A-Z]{3}$

Identification of the currency in which the account is held.

identificationobject(BankingIdentifier)
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.

proxyobject(NonBankingIdentifier)
typeobject(AccountType)
{ "currency": "string", "identification": { "schema": "string", "value": "string" }, "name": "string", "proxy": { "namespace": "string", "schema": "string" }, "type": { "schema": "string", "value": "CACC" } }

transactional

Operations

request-to-pay

Operations

financial

Operations

bulk

Operations

refund

Operations