Reverse a failed purchase

If a purchase operation fails with a 500 or 504 HTTP status code, or no response was received within the timeout period, and the provider supports the reversal operation, it must be reversed to ensure the provider knows the airtime purchase did not complete successfully. This operation must be repeated until a final HTTP status code is received (i.e. not 500 or 504). The operation is idempotent and so may be called repeatedly on the same airtime purchase resource without negative effect. If the airtime provider does not support the reversal operation, refer to the purchaseStatus operation.

Request
Security:
Request Body schema: application/json

An airtime purchase reversal.

id
required
string

The randomly generated UUID identifying this advice, as defined for a variant 4 UUID in RFC 4122

requestId
required
string

The UUID identifying the request that this advice relates to

time
required
string <date-time>

The date and time of the message as recorded by the sender. The format shall be as defined for date-time in RFC 3339 section 5.6. It is recommended that the optional time-secfrac be included up to millisecond precision

required
Array of objects (ThirdPartyIdentifier)

The unaltered thirdPartyIdentifiers array as supplied in the related BasicResponse message. Required if thirdPartyIdentifiers field was present in the BasicResponse. If no thirdPartyIdentifiers was received in the BasicResponse or no BasicResponse was received then this should be set to the thirdPartyIdentifiers sent in the original request.

stan
string

The System Trace Audit Number can be used to locate transactions across different systems.

rrn
string

This is a reference set by the original source of the transaction.

object (Amounts)

Amounts which make up the transaction. Absent amounts have zero value.

reversalReason
required
string

The reason for the reversal

Enum: "TIMEOUT" "CANCELLED" "RESPONSE_NOT_FINAL"
Responses
202

Accepted

400

Bad Request

404

Not Found

500

Internal Server Error

503

Service Unavailable

504

Gateway Timeout

post/purchases/reversals
Request samples
application/json
{
  • "id": "string",
  • "requestId": "string",
  • "time": "2019-08-24T14:15:22Z",
  • "thirdPartyIdentifiers": [
    ],
  • "stan": "string",
  • "rrn": "string",
  • "amounts": {
    },
  • "reversalReason": "TIMEOUT"
}
Response samples
application/json
{
  • "id": "string",
  • "requestId": "string",
  • "time": "2019-08-24T14:15:22Z",
  • "thirdPartyIdentifiers": [
    ],
  • "stan": "string",
  • "rrn": "string",
  • "amounts": {
    },
  • "reversalReason": "TIMEOUT"
}
Copyright © Electrum Payments (Pty) Ltd. 2019-2022. All right reserved.