Step 4: Receive Inbound Credit Transfer Completion

Overview

After receiving an Inbound Credit Transfer Response from you, Electrum finalises the transfer on the payment network. Following this, Electrum notifies you that the transaction is complete via an inboundCreditTransferCompletion request. This serves as confirmation of the final state of the payment.
Financial Impact

The completion step has a possible financial impact. Be sure to consider these important factors when handling this step:

  • Electrum treats the inboundCreditTransferCompletion as a must-deliver message and will repeatedly send it until you acknowledge receipt.
  • Once Electrum has received your acknowledgement to the inboundCreditTransferCompletion, then it is assumed that the transaction is final.
  • Refer to the status.outcome field to determine whether or not funds should be credited.
  • In rare circumstances, Electrum may be unable to determine the final state of the transaction from the payment network. In this case you will not receive an inboundCreditTransferCompletion and no action is required from you. Any discrepancy between your view of the transaction and that of the sending participant will need to be resolved during reconciliation.

Implementing the API

Receive Request

Electrum sends an inboundCreditTransferCompletion request to your /transactions/inbound/credit-transfer-completion endpoint. The request will conform to the following schema:
Request Body schema: application/json
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 (MessageIdentifiers)

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

required
object (TransactionIdentifiers)

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

object (InstitutionIdentification)
object (InstitutionIdentification)
object (OriginalTransactionData)

Contains key elements related to the original transaction that is being referred to.

required
object (PaymentStatusReportPaymentScheme)

Designates which scheme a payment status report is associated with and describes scheme-specific information for the payment status report.

schema
required
string
Value: "PaymentStatusReport"
required
object (Status)
application/json
{
  • "schema": "PaymentStatusReport",
  • "messageIdentifiers": {
    },
  • "originalMessageIdentifiers": {
    },
  • "paymentScheme": {
    },
  • "transactionIdentifiers": {
    },
  • "status": {
    },
  • "instructingAgent": {
    },
  • "instructedAgent": {
    },
  • "originalTransactionData": {
    }
}

Respond With Success

If you receive the request successfully and are able to process it, then respond with an HTTP 202 status.

Respond With An Error

If you experience an error while handling the request and are unable to process it, then respond with an appropriate error response.

When to Credit the Beneficiary's Account

The final status of the transaction is communicated in the status.outcome field of the request. The table below indicates what action is required for the respective outcomes.
StatusFinancial ImpactAction
APPROVEDYesCredit the beneficiary's account
CANCELLEDNoNone
PENDINGNoNone
REJECTEDNoNone
Copyright © Electrum Payments (Pty) Ltd. 2019-2023. All right reserved.