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.
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:
Holds a point-to-point unique message identification string as well as a message's creation date time.
The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time
in RFC3339
A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.
A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.
Holds a point-to-point unique message identification string as well as a message's creation date time.
The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time
in RFC3339
A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.
Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.
Unique identification, as assigned by the initiating party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Note: this is distinct from the UETR.
Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction. The instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.
Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre-agreed period.
Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.
APPROVED
: The instruction has been approved.CANCELLED
: The instruction has been cancelled.PENDING
: The instruction is pending.REJECTED
: The instruction has been rejected.
A list of StatusReasonInfo
values providing detailed reason information for the outcome.
Contains key elements related to the original transaction that is being referred to.
Designates which scheme a payment status report is associated with and describes scheme-specific information for the payment status report.
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.
Status | Financial Impact | Action |
---|---|---|
APPROVED | Yes | Credit the beneficiary's account |
CANCELLED | No | None |
PENDING | No | None |
REJECTED | No | None |
Refunding Inbound Payments Related To A Prior PayShap Request To Pay
In the case that the inbound payment is related to an outbound Request-To-Pay, an outboundRefundInitiation operation may be performed. See here for implementation details.