This operation is identical to the 'createTokenPurchaseRequest' operation except that no tokens are returned and this operation carries no financial impact. This operation allows the customer to make an informed choice about the transaction outcome before committing to purchase electricity. This operation serves to inform a customer exactly what the outcome of their purchase is: the service charges which will be levied, the debt recovery charges, the number of units which will be provided etc. If a customer is dissatisfied with the details in the response, the customer may abort the transaction without any consequences.
A token purchase request.
Array of objects (TransactionLabel) A list containing labels that can be used to discover this transaction or group it with other transactions sharing labels with the same label name and value. Transaction labels should never be used to make transaction processing decisions. | |
required | object (Meter) Data associated with a prepaid utility meter |
required | object (LedgerAmount) An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT |
utilityType | string Type of utility purchase being requested (e.g. electricity, water, gas). |
msisdn | string(^\+?[1-9]\d{1,14})|(^[0][0-9]{9}) Mobile phone number of the customer to which the outcome of a transaction can be communicated. This should conform to the ITU E.164 numbering plan (https://www.itu.int/rec/T-REC-E.164/en), but a 10-digit number beginning with zero is also acceptable. |
Array of objects (Tender) An array of tenders used to pay for the transaction. This is used if payment is tendered at the point of sale. A Tender differs from a PaymentMethod in that the former represents a payment that has already been collected at the point of sale, whereas the latter represents a payment that still needs to be collected from a third party. | |
id required | string The randomly generated UUID identifying this transaction, as defined for a variant 4 UUID in RFC 4122 |
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 | object (Originator) The Originator object encapsulates data relating to the originator of the transaction |
required | object (Institution) Originating, acquiring, processing, or receiving institution details |
object (Institution) Originating, acquiring, processing, or receiving institution details | |
object (Institution) Originating, acquiring, processing, or receiving institution details | |
required | Array of objects (ThirdPartyIdentifier) An array of identifiers which each identify the transaction within each entity's system. |
object (SlipData) Data that may be printed on the customer slip for information purposes | |
basketRef | string Used to group multiple transactions which would otherwise be considered independent. |
tranType | string Data relating to the type of transaction taking place (i.e. cash withdrawal, goods and services etc.). |
srcAccType | string This specifies the type of source account being used in the transaction (i.e. cheque, savings). |
destAccType | string This specifies the type of destination account being used in the transaction (i.e. cheque, savings). |
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. |
Array of objects (PaymentMethod) An array of payment methods to be used as payment for the transaction. This is used if payment is not tendered at the point of sale, but is effected through one or more calls to third party payment providers as part of the request. A PaymentMethod differs from a Tender in that the former represents payment that still needs to be collected from a third party, whereas the latter represents payment that has already been collected at the point of sale. |
OK
Bad request
Internal server error
Not implemented
Service unavailable
Gateway timeout
{- "transactionLabels": [
- {
- "name": "string",
- "value": "string"
}
], - "meter": {
- "meterId": "string",
- "track2Data": "string",
- "serviceType": "string",
- "supplyGroupCode": "string",
- "keyRevisionNum": "string",
- "tariffIndex": "string",
- "tokenTechCode": "string",
- "algorithmCode": "string",
- "keyChangeData": {
- "newSupplyGroupCode": "string",
- "newKeyRevisionNumber": "string",
- "newTariffIndex": "string"
}
}, - "purchaseAmount": {
- "amount": 0,
- "currency": "string",
- "ledgerIndicator": "DEBIT"
}, - "utilityType": "string",
- "msisdn": "string",
- "tenders": [
- {
- "accountType": "DEFAULT",
- "amount": {
- "amount": 0,
- "currency": "string",
- "ledgerIndicator": "DEBIT"
}, - "cardNumber": "string",
- "reference": "string",
- "tenderType": "CASH"
}
], - "id": "string",
- "time": "2019-08-24T14:15:22Z",
- "originator": {
- "institution": {
- "id": "string",
- "name": "string"
}, - "terminalId": "stringst",
- "merchant": {
- "merchantType": "string",
- "merchantId": "stringstringstr",
- "merchantName": {
- "name": "string",
- "city": "string",
- "region": "st",
- "country": "st"
}
}, - "operatorId": "string",
- "channelId": "string"
}, - "client": {
- "id": "string",
- "name": "string"
}, - "settlementEntity": {
- "id": "string",
- "name": "string"
}, - "receiver": {
- "id": "string",
- "name": "string"
}, - "thirdPartyIdentifiers": [
- {
- "institutionId": "string",
- "transactionIdentifier": "string"
}
], - "slipData": {
- "messageLines": [
- {
- "barcode": {
- "data": "string",
- "encoding": "string"
}, - "text": "string",
- "fontWidthScaleFactor": 0,
- "fontHeightScaleFactor": 0,
- "line": false,
- "cut": false
}
], - "slipWidth": 0,
- "issuerReference": "string"
}, - "basketRef": "string",
- "tranType": "GOODS_AND_SERVICES",
- "srcAccType": "DEFAULT",
- "destAccType": "DEFAULT",
- "stan": "string",
- "rrn": "string",
- "paymentMethods": [
- {
- "type": "AN_32_TOKEN",
- "name": "string",
- "amount": {
- "amount": 0,
- "currency": "string",
- "ledgerIndicator": "DEBIT"
}, - "issuer": {
- "id": "string",
- "name": "string"
}, - "pin": {
- "type": "CLEAR_PIN"
}, - "proxy": "string",
- "proxyType": "MSISDN"
}
]
}
{- "transactionLabels": [
- {
- "name": "string",
- "value": "string"
}
], - "purchaseTotal": {
- "amount": 0,
- "currency": "string",
- "ledgerIndicator": "DEBIT"
}, - "taxTotal": {
- "amount": 0,
- "currency": "string",
- "ledgerIndicator": "DEBIT"
}, - "amounts": {
- "requestAmount": {
- "amount": 0,
- "currency": "string",
- "ledgerIndicator": "DEBIT"
}, - "approvedAmount": {
- "amount": 0,
- "currency": "string",
- "ledgerIndicator": "DEBIT"
}, - "feeAmount": {
- "amount": 0,
- "currency": "string",
- "ledgerIndicator": "DEBIT"
}, - "balanceAmount": {
- "amount": 0,
- "currency": "string",
- "ledgerIndicator": "DEBIT"
}, - "additionalAmounts": {
- "property1": {
- "amount": 0,
- "currency": "string",
- "ledgerIndicator": "DEBIT"
}, - "property2": {
- "amount": 0,
- "currency": "string",
- "ledgerIndicator": "DEBIT"
}
}
}, - "meter": {
- "meterId": "string",
- "track2Data": "string",
- "serviceType": "string",
- "supplyGroupCode": "string",
- "keyRevisionNum": "string",
- "tariffIndex": "string",
- "tokenTechCode": "string",
- "algorithmCode": "string",
- "keyChangeData": {
- "newSupplyGroupCode": "string",
- "newKeyRevisionNumber": "string",
- "newTariffIndex": "string"
}
}, - "customer": {
- "firstName": "string",
- "lastName": "string",
- "address": "string",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "status": "string",
- "msisdn": "string",
- "emailAddress": "user@example.com",
- "addressDetails": {
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "region": "string",
- "country": "string",
- "postalCode": "string"
}, - "profileId": "string"
}, - "utility": {
- "name": "string",
- "address": "string",
- "vatRegNum": "string",
- "clientId": "string",
- "message": "string"
}, - "utilityType": "string",
- "tokens": [
- {
- "tokenType": "STD",
- "units": 0,
- "amount": {
- "tax": 0,
- "taxType": "string",
- "taxRate": 0,
- "amount": 0,
- "currency": "string",
- "ledgerIndicator": "DEBIT"
}, - "receiptNum": "string",
- "token": "string",
- "tariffCalc": [
- {
- "units": 0,
- "rate": 0
}
]
}
], - "debtRecoveryCharges": [
- {
- "amount": {
- "tax": 0,
- "taxType": "string",
- "taxRate": 0,
- "amount": 0,
- "currency": "string",
- "ledgerIndicator": "DEBIT"
}, - "description": "string",
- "balance": {
- "amount": 0,
- "currency": "string",
- "ledgerIndicator": "DEBIT"
}, - "receiptNum": "string"
}
], - "serviceCharges": [
- {
- "amount": {
- "tax": 0,
- "taxType": "string",
- "taxRate": 0,
- "amount": 0,
- "currency": "string",
- "ledgerIndicator": "DEBIT"
}, - "description": "string"
}
], - "vatInvoiceNumber": "string",
- "id": "string",
- "time": "2019-08-24T14:15:22Z",
- "originator": {
- "institution": {
- "id": "string",
- "name": "string"
}, - "terminalId": "stringst",
- "merchant": {
- "merchantType": "string",
- "merchantId": "stringstringstr",
- "merchantName": {
- "name": "string",
- "city": "string",
- "region": "st",
- "country": "st"
}
}, - "operatorId": "string",
- "channelId": "string"
}, - "client": {
- "id": "string",
- "name": "string"
}, - "settlementEntity": {
- "id": "string",
- "name": "string"
}, - "receiver": {
- "id": "string",
- "name": "string"
}, - "thirdPartyIdentifiers": [
- {
- "institutionId": "string",
- "transactionIdentifier": "string"
}
], - "slipData": {
- "messageLines": [
- {
- "barcode": {
- "data": "string",
- "encoding": "string"
}, - "text": "string",
- "fontWidthScaleFactor": 0,
- "fontHeightScaleFactor": 0,
- "line": false,
- "cut": false
}
], - "slipWidth": 0,
- "issuerReference": "string"
}, - "basketRef": "string",
- "tranType": "GOODS_AND_SERVICES",
- "srcAccType": "DEFAULT",
- "destAccType": "DEFAULT",
- "stan": "string",
- "rrn": "string"
}