EPC API for calling Electrum (19.1.0)

The Electrum EPC API for calling Electrum is an asynchronous API that allows Corporate Clients 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.

Download OpenAPI description
Overview
Languages
Servers
Payments API sandbox

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

credit-transfer

Operations related to credit transfer transactions.

Operations

scheme-inquiry

Operations that are related to retrieving information from industry for a particular scheme.

Operations

request-to-pay

Operations which pertain to a request for payment from a creditor to a debtor

Operations

Schema

MandateInformation

Provides details of the direct debit mandate signed between the creditor and the debtor.

NOTE: This model is a work in progress and may change. In particular, it lacks properties relating to mandate amendments which we may need in the future. Note also that this model is not relevant to the ZA_EFT scheme, and therefore Electrum will not do any special processing for these fields for EFT (e.g. Electrum cannot honour tracking days for EFT payments).

dateOfSignaturestring(date)

Date on which the direct debit mandate has been signed by the debtor.

electronicSignaturestring<= 1025 characters

A digital signature provided by the debtor.

finalCollectionDatestring(date)

Date of the final collection of a direct debit as per the mandate.

firstCollectionDatestring(date)

Date of the first collection of a direct debit as per the mandate.

frequencyobject(Frequency)

Specifies the frequency of the payment transaction.

mandateIdentificationstring<= 35 characters

Unique identification, as assigned by the creditor, to unambiguously identify the mandate.

reasonobject(MandateSetupReason)
trackingDaysinteger[ 1 .. 99 ]

Specifies the number of days the direct debit instruction must be tracked.

{ "dateOfSignature": "2019-08-24", "electronicSignature": "string", "finalCollectionDate": "2019-08-24", "firstCollectionDate": "2019-08-24", "frequency": { "dayOfMonth": 1, "schema": "MonthlyFrequency" }, "mandateIdentification": "string", "reason": { "schema": "string", "value": "stri" }, "trackingDays": 1 }

Amount

currencystring^[A-Z]{3}$required

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

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.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
{ "currency": "string", "value": 0.1 }

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.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
instructedAmountobject(Amount)
{ "bankSettlementAmount": { "currency": "string", "value": 0.1 }, "instructedAmount": { "currency": "string", "value": 0.1 } }

transactional

Operations

financial

Operations

identifier-determination

Operations

bulk

Operations

refund

Operations