The Electrum Airtime Service describes an interface for airtime transactions.
The Electrum Airtime Service describes an interface for airtime transactions.
https://[placeholder].dev/airtime/v5/
Data used to facilitate and communicate the result of 3-D Secure cardholder authentication.
A 20-byte value that has been Base64 encoded. This value is provided by the Access Control Server as a proof of authentication.
Authentication outcome set by the Access Control Server or Issuer.
The version of the 3-D Secure protocol that was used for cardholder authentication. Note that the version determines the format of the transaction identifier
Electronic Commerce Indicator. This is Payment System-specific value provided by the Access Control Server to indicate the results of the attempt to authenticate the Cardholder.
Indicates whether a transaction qualifies as an authenticated transaction or account verification. The values and their meanings are as follows: Y = Authentication Verification Successful. N = Not Authenticated /Account Not Verified; Transaction denied. U = Authentication/ Account Verification Could Not Be Performed; Technical or other problem. A = Attempts Processing Performed; Not Authenticated/ Verified, but a proof of attempted authentication/verification is provided. C = Challenge Required; Additional authentication is required using the CReq/CRes D = Challenge Required; Decoupled Authentication confirmed. R = Authentication/ Account Verification Rejected; Issuer is rejecting authentication/verification and request that authorisation not be attempted. I = Informational Only; 3DS Requestor challenge preference acknowledged. S = Challenge using SPC
{ "authenticationValue": "string", "cardHolderAuthVerificationResult": "CAVV_VALIDATION_PASSED", "version": "ThreeDSecureDataV1", "eci": "AUTHENTICATION_NOT_ATTEMPTED_OR_UNSUCCESSFUL_00", "transactionStatus": "Y", "transactionId": "string" }
A label assigned to a transaction by the entity processing the transaction. Labels are used for grouping or discovering transactions after transaction processing. Note that no transaction processing decision is made based on transaction labels.
Label name that indicates the type and intended use of the transaction label. The meaning of label names must be agreed upon by the parties involved in transaction processing.
{ "name": "string", "value": "string" }
Specifically describes the length of time for which a product is valid. Any unused portion of a product (e.g. unused data) will be forfeit at the end of the validity period.
A long value describing the number of durationUnits for the validity period.
{ "duration": 0, "durationUnit": "NANOS" }
The Msisdn. This must conform to the ITU E.164 numbering plan (https://www.itu.int/rec/T-REC-E.164/en).
The sender Msisdn. The MSISDN from which the request originated. This must conform to the ITU E.164 numbering plan (https://www.itu.int/rec/T-REC-E.164/en).
Used to filter the products to lookup for a given msisdn. This should be a value appropriate for the Product.type field.
https://[placeholder].dev/airtime/v5/msisdn
Failed to generate code sample.{ "msisdn": { "msisdn": "string", "country": "st", "operator": { … } }, "senderMsisdn": { "msisdn": "string", "country": "st", "operator": { … } }, "amounts": { "requestAmount": { … }, "approvedAmount": { … }, "feeAmount": { … }, "balanceAmount": { … }, "additionalAmounts": { … } }, "promotion": { "promotion": "string", "startDate": "2019-08-24T14:15:22Z", "endDate": "2019-08-24T14:15:22Z" }, "availableProducts": [ { … } ] }
https://[placeholder].dev/airtime/v5/products
Failed to generate code sample.OK
Describes whether or not the product directly recharges the recipients account (true), or a voucher number is required (false) to redeem the product.
A vendor determined code identifying the product the voucher should pertain to.
A barcode code identifying the product. This is an alternative identifier for the product but does not supersede the productId.
A description for a product which contains relevant different types of descriptions.
An indication of the type of the product.
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
The value of the product. Multiple values may be returned in varying currencies in the case of products available internationally.
Specifically describes the length of time for which a product is valid. Any unused portion of a product (e.g. unused data) will be forfeit at the end of the validity period.
[ { "isDirectTopup": false, "productId": "string", "barcode": "string", "name": "string", "description": { … }, "type": "AIRTIME_FIXED", "wholesalePrice": { … }, "recipientAmount": { … }, "productValues": [ … ], "validityPeriod": { … }, "productContents": [ … ], "operator": { … }, "channels": [ … ] } ]
An airtime request.
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.
The randomly generated UUID identifying this transaction, as defined for a variant 4 UUID in RFC 4122
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
The Originator object encapsulates data relating to the originator of the transaction
Originating, acquiring, processing, or receiving institution details
The ID that uniquely identifies each device or system in an originator's institution capable of sending requests. Required for transactions initiated from physical card entry or point-of-sale devices
Merchant related data. Must be included if available
The assigned four digit merchant category code
The assigned merchant identifier. Also known as card acceptor id
A container object representing the Merchant Name and Location
The merchant or trading as name associated with the merchant
The city where the merchant is located
The state or region where the merchant is located
The ID that uniquely identifies the person operating the terminal specified by the terminalId field.
Originating, acquiring, processing, or receiving institution details
Originating, acquiring, processing, or receiving institution details
An array of identifiers which each identify the transaction within each entity's system.
Data relating to the type of transaction taking place (i.e. cash withdrawal, goods and services etc.).
This specifies the type of source account being used in the transaction (i.e. cheque, savings).
This specifies the type of destination account being used in the transaction (i.e. cheque, savings).
The System Trace Audit Number can be used to locate transactions across different systems.
Product related data.
Describes whether or not the product directly recharges the recipients account (true), or a voucher number is required (false) to redeem the product.
A vendor determined code identifying the product the voucher should pertain to.
A barcode code identifying the product. This is an alternative identifier for the product but does not supersede the productId.
A description for a product which contains relevant different types of descriptions.
An indication of the type of the product.
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
The value of the product. Multiple values may be returned in varying currencies in the case of products available internationally.
Specifically describes the length of time for which a product is valid. Any unused portion of a product (e.g. unused data) will be forfeit at the end of the validity period.
A list defining the contents of the airtime product.
Originating, acquiring, processing, or receiving institution details
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.
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.
https://[placeholder].dev/airtime/v5/purchases
Failed to generate code sample.Created
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.
The randomly generated UUID identifying this transaction, as defined for a variant 4 UUID in RFC 4122
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
The Originator object encapsulates data relating to the originator of the transaction
Originating, acquiring, processing, or receiving institution details
The ID that uniquely identifies each device or system in an originator's institution capable of sending requests. Required for transactions initiated from physical card entry or point-of-sale devices
Merchant related data. Must be included if available
The assigned four digit merchant category code
The assigned merchant identifier. Also known as card acceptor id
A container object representing the Merchant Name and Location
The merchant or trading as name associated with the merchant
The city where the merchant is located
The state or region where the merchant is located
The ID that uniquely identifies the person operating the terminal specified by the terminalId field.
Originating, acquiring, processing, or receiving institution details
Originating, acquiring, processing, or receiving institution details
An array of identifiers which each identify the transaction within each entity's system.
Data relating to the type of transaction taking place (i.e. cash withdrawal, goods and services etc.).
This specifies the type of source account being used in the transaction (i.e. cheque, savings).
This specifies the type of destination account being used in the transaction (i.e. cheque, savings).
The System Trace Audit Number can be used to locate transactions across different systems.
Product related data.
Describes whether or not the product directly recharges the recipients account (true), or a voucher number is required (false) to redeem the product.
A vendor determined code identifying the product the voucher should pertain to.
A barcode code identifying the product. This is an alternative identifier for the product but does not supersede the productId.
A description for a product which contains relevant different types of descriptions.
An indication of the type of the product.
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
The value of the product. Multiple values may be returned in varying currencies in the case of products available internationally.
Specifically describes the length of time for which a product is valid. Any unused portion of a product (e.g. unused data) will be forfeit at the end of the validity period.
A list defining the contents of the airtime product.
Originating, acquiring, processing, or receiving institution details
{ "transactionLabels": [ { … } ], "id": "string", "time": "2019-08-24T14:15:22Z", "originator": { "institution": { … }, "terminalId": "stringst", "merchant": { … }, "operatorId": "string", "channelId": "string" }, "client": { "id": "string", "name": "string" }, "settlementEntity": { "id": "string", "name": "string" }, "receiver": { "id": "string", "name": "string" }, "thirdPartyIdentifiers": [ { … } ], "slipData": { "messageLines": [ … ], "slipWidth": 0, "issuerReference": "string" }, "basketRef": "string", "tranType": "GOODS_AND_SERVICES", "srcAccType": "DEFAULT", "destAccType": "DEFAULT", "stan": "string", "rrn": "string", "amounts": { "requestAmount": { … }, "approvedAmount": { … }, "feeAmount": { … }, "balanceAmount": { … }, "additionalAmounts": { … } }, "product": { "isDirectTopup": false, "productId": "string", "barcode": "string", "name": "string", "description": { … }, "type": "AIRTIME_FIXED", "wholesalePrice": { … }, "recipientAmount": { … }, "productValues": [ … ], "validityPeriod": { … }, "productContents": [ … ], "operator": { … }, "channels": [ … ] }, "msisdn": { "msisdn": "string", "country": "st", "operator": { … } }, "voucher": { "pin": "string", "expiryDate": "2019-08-24T14:15:22Z", "serialNumber": "string", "batchNumber": "string", "redeemInstructions": [ … ] } }
Once a consumer has paid for an airtime product the merchant must notify the vendor that the transactioncompleted successfully at the POS. This operation must be repeated until a final HTTP status code isreceived (i.e. not 500 or 504). The operation is idempotent and so may be called repeatedly without negative effect.
A purchase confirmation.
The randomly generated UUID identifying this advice, as defined for a variant 4 UUID in RFC 4122
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
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.
The System Trace Audit Number can be used to locate transactions across different systems.
An array of tenders used to pay for the transaction
The type of account
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
Amount in minor denomination, e.g. R799.95 is encoded as 79995
Three digit currency number from ISO 4217, e.g. South African Rand is encoded as 710
A PCI compliant masked card number, with at least the first 6 digits in the clear. Only applicable to card based transactions
https://[placeholder].dev/airtime/v5/purchases/confirmations
Failed to generate code sample.Accepted
The randomly generated UUID identifying this advice, as defined for a variant 4 UUID in RFC 4122
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
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.
The System Trace Audit Number can be used to locate transactions across different systems.
An array of tenders used to pay for the transaction
The type of account
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
Amount in minor denomination, e.g. R799.95 is encoded as 79995
Three digit currency number from ISO 4217, e.g. South African Rand is encoded as 710
A PCI compliant masked card number, with at least the first 6 digits in the clear. Only applicable to card based transactions
{ "id": "string", "requestId": "string", "time": "2019-08-24T14:15:22Z", "thirdPartyIdentifiers": [ { … } ], "stan": "string", "rrn": "string", "amounts": { "requestAmount": { … }, "approvedAmount": { … }, "feeAmount": { … }, "balanceAmount": { … }, "additionalAmounts": { … } }, "tenders": [ { … } ] }
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.
An airtime purchase reversal.
The randomly generated UUID identifying this advice, as defined for a variant 4 UUID in RFC 4122
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
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.
The System Trace Audit Number can be used to locate transactions across different systems.
https://[placeholder].dev/airtime/v5/purchases/reversals
Failed to generate code sample.Accepted
The randomly generated UUID identifying this advice, as defined for a variant 4 UUID in RFC 4122
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
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.
The System Trace Audit Number can be used to locate transactions across different systems.
{ "id": "string", "requestId": "string", "time": "2019-08-24T14:15:22Z", "thirdPartyIdentifiers": [ { … } ], "stan": "string", "rrn": "string", "amounts": { "requestAmount": { … }, "approvedAmount": { … }, "feeAmount": { … }, "balanceAmount": { … }, "additionalAmounts": { … } }, "reversalReason": "TIMEOUT" }
If the airtime provider does not support the reversal operation then the purchaseStatus operation should be used to determine the outcome of a prior purchase. This operation will, as far as possbile, return the same PurchaseResponse or ErrorDetail as would have been returned had the original purchase completed normally.
https://[placeholder].dev/airtime/v5/purchases/status
Failed to generate code sample.OK
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.
The randomly generated UUID identifying this transaction, as defined for a variant 4 UUID in RFC 4122
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
The Originator object encapsulates data relating to the originator of the transaction
Originating, acquiring, processing, or receiving institution details
The ID that uniquely identifies each device or system in an originator's institution capable of sending requests. Required for transactions initiated from physical card entry or point-of-sale devices
Merchant related data. Must be included if available
The assigned four digit merchant category code
The assigned merchant identifier. Also known as card acceptor id
A container object representing the Merchant Name and Location
The merchant or trading as name associated with the merchant
The city where the merchant is located
The state or region where the merchant is located
The ID that uniquely identifies the person operating the terminal specified by the terminalId field.
Originating, acquiring, processing, or receiving institution details
Originating, acquiring, processing, or receiving institution details
An array of identifiers which each identify the transaction within each entity's system.
Data relating to the type of transaction taking place (i.e. cash withdrawal, goods and services etc.).
This specifies the type of source account being used in the transaction (i.e. cheque, savings).
This specifies the type of destination account being used in the transaction (i.e. cheque, savings).
The System Trace Audit Number can be used to locate transactions across different systems.
Product related data.
Describes whether or not the product directly recharges the recipients account (true), or a voucher number is required (false) to redeem the product.
A vendor determined code identifying the product the voucher should pertain to.
A barcode code identifying the product. This is an alternative identifier for the product but does not supersede the productId.
A description for a product which contains relevant different types of descriptions.
An indication of the type of the product.
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
The value of the product. Multiple values may be returned in varying currencies in the case of products available internationally.
Specifically describes the length of time for which a product is valid. Any unused portion of a product (e.g. unused data) will be forfeit at the end of the validity period.
A list defining the contents of the airtime product.
Originating, acquiring, processing, or receiving institution details
{ "transactionLabels": [ { … } ], "id": "string", "time": "2019-08-24T14:15:22Z", "originator": { "institution": { … }, "terminalId": "stringst", "merchant": { … }, "operatorId": "string", "channelId": "string" }, "client": { "id": "string", "name": "string" }, "settlementEntity": { "id": "string", "name": "string" }, "receiver": { "id": "string", "name": "string" }, "thirdPartyIdentifiers": [ { … } ], "slipData": { "messageLines": [ … ], "slipWidth": 0, "issuerReference": "string" }, "basketRef": "string", "tranType": "GOODS_AND_SERVICES", "srcAccType": "DEFAULT", "destAccType": "DEFAULT", "stan": "string", "rrn": "string", "amounts": { "requestAmount": { … }, "approvedAmount": { … }, "feeAmount": { … }, "balanceAmount": { … }, "additionalAmounts": { … } }, "product": { "isDirectTopup": false, "productId": "string", "barcode": "string", "name": "string", "description": { … }, "type": "AIRTIME_FIXED", "wholesalePrice": { … }, "recipientAmount": { … }, "productValues": [ … ], "validityPeriod": { … }, "productContents": [ … ], "operator": { … }, "channels": [ … ] }, "msisdn": { "msisdn": "string", "country": "st", "operator": { … } }, "voucher": { "pin": "string", "expiryDate": "2019-08-24T14:15:22Z", "serialNumber": "string", "batchNumber": "string", "redeemInstructions": [ … ] } }
This operation is identical to the purchase operation except that no voucher is returned (for voucher based products) or no product will be applied to the MSISDN (for direct top-ups). This operation carries no financial impact. The purpose of the operation is to determine whether it is worth proceeding to a tender step, i.e. is a subsequent purchase likely to to be successful (in which case the downstream should move to the tender step) or fail (in which case the downstream should not take tender).
An airtime request.
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.
The randomly generated UUID identifying this transaction, as defined for a variant 4 UUID in RFC 4122
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
The Originator object encapsulates data relating to the originator of the transaction
Originating, acquiring, processing, or receiving institution details
The ID that uniquely identifies each device or system in an originator's institution capable of sending requests. Required for transactions initiated from physical card entry or point-of-sale devices
Merchant related data. Must be included if available
The assigned four digit merchant category code
The assigned merchant identifier. Also known as card acceptor id
A container object representing the Merchant Name and Location
The merchant or trading as name associated with the merchant
The city where the merchant is located
The state or region where the merchant is located
The ID that uniquely identifies the person operating the terminal specified by the terminalId field.
Originating, acquiring, processing, or receiving institution details
Originating, acquiring, processing, or receiving institution details
An array of identifiers which each identify the transaction within each entity's system.
Data relating to the type of transaction taking place (i.e. cash withdrawal, goods and services etc.).
This specifies the type of source account being used in the transaction (i.e. cheque, savings).
This specifies the type of destination account being used in the transaction (i.e. cheque, savings).
The System Trace Audit Number can be used to locate transactions across different systems.
Product related data.
Describes whether or not the product directly recharges the recipients account (true), or a voucher number is required (false) to redeem the product.
A vendor determined code identifying the product the voucher should pertain to.
A barcode code identifying the product. This is an alternative identifier for the product but does not supersede the productId.
A description for a product which contains relevant different types of descriptions.
An indication of the type of the product.
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
The value of the product. Multiple values may be returned in varying currencies in the case of products available internationally.
Specifically describes the length of time for which a product is valid. Any unused portion of a product (e.g. unused data) will be forfeit at the end of the validity period.
A list defining the contents of the airtime product.
Originating, acquiring, processing, or receiving institution details
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.
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.
https://[placeholder].dev/airtime/v5/purchases/trials
Failed to generate code sample.OK
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.
The randomly generated UUID identifying this transaction, as defined for a variant 4 UUID in RFC 4122
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
The Originator object encapsulates data relating to the originator of the transaction
Originating, acquiring, processing, or receiving institution details
The ID that uniquely identifies each device or system in an originator's institution capable of sending requests. Required for transactions initiated from physical card entry or point-of-sale devices
Merchant related data. Must be included if available
The assigned four digit merchant category code
The assigned merchant identifier. Also known as card acceptor id
A container object representing the Merchant Name and Location
The merchant or trading as name associated with the merchant
The city where the merchant is located
The state or region where the merchant is located
The ID that uniquely identifies the person operating the terminal specified by the terminalId field.
Originating, acquiring, processing, or receiving institution details
Originating, acquiring, processing, or receiving institution details
An array of identifiers which each identify the transaction within each entity's system.
Data relating to the type of transaction taking place (i.e. cash withdrawal, goods and services etc.).
This specifies the type of source account being used in the transaction (i.e. cheque, savings).
This specifies the type of destination account being used in the transaction (i.e. cheque, savings).
The System Trace Audit Number can be used to locate transactions across different systems.
Product related data.
Describes whether or not the product directly recharges the recipients account (true), or a voucher number is required (false) to redeem the product.
A vendor determined code identifying the product the voucher should pertain to.
A barcode code identifying the product. This is an alternative identifier for the product but does not supersede the productId.
A description for a product which contains relevant different types of descriptions.
An indication of the type of the product.
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
The value of the product. Multiple values may be returned in varying currencies in the case of products available internationally.
Specifically describes the length of time for which a product is valid. Any unused portion of a product (e.g. unused data) will be forfeit at the end of the validity period.
A list defining the contents of the airtime product.
Originating, acquiring, processing, or receiving institution details
{ "transactionLabels": [ { … } ], "id": "string", "time": "2019-08-24T14:15:22Z", "originator": { "institution": { … }, "terminalId": "stringst", "merchant": { … }, "operatorId": "string", "channelId": "string" }, "client": { "id": "string", "name": "string" }, "settlementEntity": { "id": "string", "name": "string" }, "receiver": { "id": "string", "name": "string" }, "thirdPartyIdentifiers": [ { … } ], "slipData": { "messageLines": [ … ], "slipWidth": 0, "issuerReference": "string" }, "basketRef": "string", "tranType": "GOODS_AND_SERVICES", "srcAccType": "DEFAULT", "destAccType": "DEFAULT", "stan": "string", "rrn": "string", "amounts": { "requestAmount": { … }, "approvedAmount": { … }, "feeAmount": { … }, "balanceAmount": { … }, "additionalAmounts": { … } }, "product": { "isDirectTopup": false, "productId": "string", "barcode": "string", "name": "string", "description": { … }, "type": "AIRTIME_FIXED", "wholesalePrice": { … }, "recipientAmount": { … }, "productValues": [ … ], "validityPeriod": { … }, "productContents": [ … ], "operator": { … }, "channels": [ … ] }, "msisdn": { "msisdn": "string", "country": "st", "operator": { … } }, "voucher": { "pin": "string", "expiryDate": "2019-08-24T14:15:22Z", "serialNumber": "string", "batchNumber": "string", "redeemInstructions": [ … ] } }
A voucher request.
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.
The randomly generated UUID identifying this transaction, as defined for a variant 4 UUID in RFC 4122
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
The Originator object encapsulates data relating to the originator of the transaction
Originating, acquiring, processing, or receiving institution details
The ID that uniquely identifies each device or system in an originator's institution capable of sending requests. Required for transactions initiated from physical card entry or point-of-sale devices
Merchant related data. Must be included if available
The assigned four digit merchant category code
The assigned merchant identifier. Also known as card acceptor id
A container object representing the Merchant Name and Location
The merchant or trading as name associated with the merchant
The city where the merchant is located
The state or region where the merchant is located
The ID that uniquely identifies the person operating the terminal specified by the terminalId field.
Originating, acquiring, processing, or receiving institution details
Originating, acquiring, processing, or receiving institution details
An array of identifiers which each identify the transaction within each entity's system.
Data relating to the type of transaction taking place (i.e. cash withdrawal, goods and services etc.).
This specifies the type of source account being used in the transaction (i.e. cheque, savings).
This specifies the type of destination account being used in the transaction (i.e. cheque, savings).
The System Trace Audit Number can be used to locate transactions across different systems.
Product related data.
Describes whether or not the product directly recharges the recipients account (true), or a voucher number is required (false) to redeem the product.
A vendor determined code identifying the product the voucher should pertain to.
A barcode code identifying the product. This is an alternative identifier for the product but does not supersede the productId.
A description for a product which contains relevant different types of descriptions.
An indication of the type of the product.
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
The value of the product. Multiple values may be returned in varying currencies in the case of products available internationally.
Specifically describes the length of time for which a product is valid. Any unused portion of a product (e.g. unused data) will be forfeit at the end of the validity period.
A list defining the contents of the airtime product.
Originating, acquiring, processing, or receiving institution details
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.
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.
https://[placeholder].dev/airtime/v5/vouchers/{requestId}
Failed to generate code sample.Created
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.
The randomly generated UUID identifying this transaction, as defined for a variant 4 UUID in RFC 4122
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
The Originator object encapsulates data relating to the originator of the transaction
Originating, acquiring, processing, or receiving institution details
The ID that uniquely identifies each device or system in an originator's institution capable of sending requests. Required for transactions initiated from physical card entry or point-of-sale devices
Merchant related data. Must be included if available
The assigned four digit merchant category code
The assigned merchant identifier. Also known as card acceptor id
A container object representing the Merchant Name and Location
The merchant or trading as name associated with the merchant
The city where the merchant is located
The state or region where the merchant is located
The ID that uniquely identifies the person operating the terminal specified by the terminalId field.
Originating, acquiring, processing, or receiving institution details
Originating, acquiring, processing, or receiving institution details
An array of identifiers which each identify the transaction within each entity's system.
Data relating to the type of transaction taking place (i.e. cash withdrawal, goods and services etc.).
This specifies the type of source account being used in the transaction (i.e. cheque, savings).
This specifies the type of destination account being used in the transaction (i.e. cheque, savings).
The System Trace Audit Number can be used to locate transactions across different systems.
Specifically describes the voucher provisioned by the vendor.
The voucher's PIN used by the customer to redeem the voucher. This must be present in VoucherResponse messages. It is recommended this field not be populated in other instances as it may be considered sensitive data.
The date and time at which the voucher expires in UTC. The format shall be as defined for date-time in RFC 3339 section 5.6.
The voucher's serial number. This can be used to identify the voucher in the vendor's system but cannot be used to redeem the voucher.
The voucher's batch number. This can be used to help identify the voucher in the vendor's system but cannot be used to redeem the voucher.
{ "transactionLabels": [ { … } ], "id": "string", "time": "2019-08-24T14:15:22Z", "originator": { "institution": { … }, "terminalId": "stringst", "merchant": { … }, "operatorId": "string", "channelId": "string" }, "client": { "id": "string", "name": "string" }, "settlementEntity": { "id": "string", "name": "string" }, "receiver": { "id": "string", "name": "string" }, "thirdPartyIdentifiers": [ { … } ], "slipData": { "messageLines": [ … ], "slipWidth": 0, "issuerReference": "string" }, "basketRef": "string", "tranType": "GOODS_AND_SERVICES", "srcAccType": "DEFAULT", "destAccType": "DEFAULT", "stan": "string", "rrn": "string", "amounts": { "requestAmount": { … }, "approvedAmount": { … }, "feeAmount": { … }, "balanceAmount": { … }, "additionalAmounts": { … } }, "responseProduct": { "isDirectTopup": false, "productId": "string", "barcode": "string", "name": "string", "description": { … }, "type": "AIRTIME_FIXED", "wholesalePrice": { … }, "recipientAmount": { … }, "productValues": [ … ], "validityPeriod": { … }, "productContents": [ … ], "operator": { … }, "channels": [ … ] }, "voucher": { "pin": "string", "expiryDate": "2019-08-24T14:15:22Z", "serialNumber": "string", "batchNumber": "string", "redeemInstructions": [ … ] } }
Once a consumer has paid for a voucher and received the voucher from the merchant the merchant must notify the vendor that the voucher may be redeemed at some point in the future as per the voucher vendor's instructions. This operation must be repeated until a final HTTP status code is received (i.e. not 500 or 504). The operation is idempotent, so may be called repeatedly on the same voucher resource without negative effect.
A voucher provision confirmation.
The randomly generated UUID identifying this advice, as defined for a variant 4 UUID in RFC 4122
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
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.
The System Trace Audit Number can be used to locate transactions across different systems.
An array of tenders used to pay for the transaction
The type of account
An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT
Amount in minor denomination, e.g. R799.95 is encoded as 79995
Three digit currency number from ISO 4217, e.g. South African Rand is encoded as 710
A PCI compliant masked card number, with at least the first 6 digits in the clear. Only applicable to card based transactions
https://[placeholder].dev/airtime/v5/vouchers/{requestId}/confirmations/{confirmationId}
Failed to generate code sample.Accepted
The randomly generated UUID identifying this advice, as defined for a variant 4 UUID in RFC 4122
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
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.
The System Trace Audit Number can be used to locate transactions across different systems.
{ "id": "string", "requestId": "string", "time": "2019-08-24T14:15:22Z", "thirdPartyIdentifiers": [ { … } ], "stan": "string", "rrn": "string", "amounts": { "requestAmount": { … }, "approvedAmount": { … }, "feeAmount": { … }, "balanceAmount": { … }, "additionalAmounts": { … } } }
If a voucherProvision request fails with a 500 or 504 HTTP status code, or no response was received within the timeout period, it must be reversed to ensure the vendor knows to never expect further messages pertaining to the voucher. This operation must be repeated until a final HTTP status code is received (i.e. not 500 or 504). The operation is idempotent, so may be called repeatedly on the same voucher resource without negative effect.
A voucher provision reversal.
The randomly generated UUID identifying this advice, as defined for a variant 4 UUID in RFC 4122
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
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.
The System Trace Audit Number can be used to locate transactions across different systems.
https://[placeholder].dev/airtime/v5/vouchers/{requestId}/reversals/{reversalId}
Failed to generate code sample.Accepted
The randomly generated UUID identifying this advice, as defined for a variant 4 UUID in RFC 4122
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
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.
The System Trace Audit Number can be used to locate transactions across different systems.
{ "id": "string", "requestId": "string", "time": "2019-08-24T14:15:22Z", "thirdPartyIdentifiers": [ { … } ], "stan": "string", "rrn": "string", "amounts": { "requestAmount": { … }, "approvedAmount": { … }, "feeAmount": { … }, "balanceAmount": { … }, "additionalAmounts": { … } } }