Transaction Settlement
Transaction Settlement can only be performed when a transaction has been completed as an authorisation only and is in a AUTH
state. In this state the funds have been reserved but not yet sent for settlement. Any attempts to perform settlement on a transaction not in this state will be rejected.
Transaction Settlement is usually used when you want to authorise when the consumer is present on your website but only charge when the goods are shipped. This allows for the final amount charged to the consumer to accurately reflect the value of goods that have been sent to them. This is seen as a preferential process than charging the customer the full amount up front and then having to perform a refund using the token Id as a separate transaction.
Transactions can only be charged/sent for settlement successfully once.
Transaction Settlement Request
Method | POST |
Transaction Settlement | |||
---|---|---|---|
Field Name | State | Data Type | Description |
id | Mandatory | String | Id of the transaction that needs to be charged/sent for settlement. |
amount | Optional | Decimal | Value of transaction to charge. This value cannot be higher than the original authorisation amount. If not supplied the full amount will be charged. |
Transaction Settlement Response
Transaction Settlement | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Field Name | Data Type | Description | ||||||||
accountId | String | Unique reference for the store processing the transaction. | ||||||||
amount | Decimal | Total amount of the original order/authorisation including decimal places where applicable. | ||||||||
currency | String | Currency of the transaction.
| ||||||||
id | String | Unique transaction ID. | ||||||||
invoiceId | String | Order/invoice/transaction/basket number generated by the host website, as passed in the request. | ||||||||
message | String | Message confirming the processing result of the transaction request. | ||||||||
payoutAmount | Decimal | Confirmation of the charge/settlement amount. | ||||||||
success | Boolean | Confirmation of the charge/settlement result.
| ||||||||
transactionState | String | The current state of the transaction.
|
Authorisation codes issued during the authorisation process have a limited lifespan. Unfortunately, there are no clear rules as to the validity period, but this is typically anything between three and ten days depending on the card issuer. There is also no way for the validity to be checked.
It is recommended that if there is expected to be a significant delay in the charge process a Transaction Reversal is performed against the original authorisation and the transaction processed when the goods are available using the token Id gained in the initial transaction.
To discuss this further please Contact Us.
Example Requests and Responses
- Request
- Successful Response
- Unsuccessful Response
Accept: application/json
Content-Type: application/json
Authorization: Bearer 7KlGv*jFigCc3eReLY1h0yI8O31ZgqITFqyUH6om5w=Vjan=SYnUgeiLQp*_b-c3
{
"id": "6fce7714-6109-40d8-b408-0c6700509b6a",
"amount": 10.00
}
{
"accountId": "uuid000001",
"amount": 10.00,
"currency": "GBP",
"id": "6fce7714-6109-40d8-b408-0c6700509b6a",
"invoiceId": "1589804887471",
"message": "Successfully Charged",
"payoutAmount": 10.00,
"success": true,
"state": "CHARGE"
}
{
"code": 2038,
"message": “Incorrect Transaction state to perform operation. Please check input”,
"success": false
}