Swagger
The swagger (Open API) definition of the interface specification can be found here, as well as below.
Many tools are available for processing swagger files, and using a code generation tool to create a boilerplate client or server can be an excellent starting point for development. We highly recommend looking at swagger-codegen for a generator in your preferred language when starting out.
Swagger definition
---
swagger: "2.0"
info:
description: "The Electrum Giftcard Service Interface describes an interface for\
\ giftcard
transactions."
version: "3.15.0"
title: "Giftcard Service Interface"
contact:
name: "Electrum Support"
url: "http://io.electrum"
email: "support@electrum.co.za"
license:
name: "Apache 2.0"
url: "http://www.apache.org/licenses/LICENSE-2.0.html"
host: "sandbox.electrum.io"
basePath: "/giftcard/v3"
tags:
- name: "Activations"
- name: "Confirmations"
- name: "Giftcard Information"
- name: "Loads"
- name: "Redemptions"
- name: "Replaces"
- name: "Reversals"
- name: "Transfers"
- name: "Voids"
schemes:
- "https"
paths:
/activations/{activationId}:
post:
tags:
- "Activations"
summary: "Request a gift card activation."
description: "The Activations endpoint allows a gift card to be activated. Optionally,\
\ an amount can be included to indicate initial funds which should be credited\
\ to the card. An activation is not considered complete until an activation\
\ confirmation or activation reversal has been sent and acknowledged. An activation\
\ request should only be sent once."
operationId: "activate"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "activationId"
in: "path"
description: "The randomly generated UUID identifying this activation, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The activation information."
required: true
schema:
$ref: "#/definitions/ActivationRequest"
responses:
201:
description: "Created"
schema:
$ref: "#/definitions/ActivationResponse"
headers:
Location:
type: "string"
description: "The location of the created activation resource"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/activations/{activationId}/confirmations/{confirmationId}:
post:
tags:
- "Activations"
- "Confirmations"
summary: "Confirm a gift card activation."
description: "The Activation Confirmations endpoint registers the confirmation\
\ of a prior activation of a giftcard. Activation confirmations are advice\
\ type messages and should continue to be sent at suitable intervals until\
\ a response has been received. Multiple confirmation advices may be sent\
\ which refer to the same activation. The net result is that the activation\
\ is confirmed once."
operationId: "confirmActivation"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "activationId"
in: "path"
description: "The randomly generated activationId UUID as sent in the original\
\ activation."
required: true
type: "string"
- name: "confirmationId"
in: "path"
description: "The randomly generated UUID identifying this confirmation, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The activation confirmation information."
required: true
schema:
$ref: "#/definitions/ActivationConfirmation"
responses:
202:
description: "Accepted"
schema:
$ref: "#/definitions/BasicAdvice"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
404:
description: "Not Found"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/activations/{activationId}/reversals/{reversalId}:
post:
tags:
- "Activations"
- "Reversals"
summary: "Simplistically, an activation reversal undoes an activation if the\
\ activation was successfully processed."
description: "The Activation Reversals endpoint allows an activation of a giftcard\
\ to be reversed. If the sender of an activation request is uncertain of the\
\ state of an activation request then the sender must send an activation reversal.\
\ Activation reversals are advice type messages and should continue to be\
\ sent at suitable intervals until a response has been received. Multiple\
\ reversals advices may be sent which refer to the same activation. The net\
\ result is that the activation is reversed once."
operationId: "reverseActivation"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "activationId"
in: "path"
description: "The randomly generated activationId UUID as sent in the original\
\ activation."
required: true
type: "string"
- name: "reversalId"
in: "path"
description: "The randomly generated UUID identifying this reversal, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The activation reversal information."
required: true
schema:
$ref: "#/definitions/ActivationReversal"
responses:
202:
description: "Accepted"
schema:
$ref: "#/definitions/BasicAdvice"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
404:
description: "Not Found"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/loads/{loadId}:
post:
tags:
- "Loads"
summary: "Request funds to be loaded on a gift card."
description: "The Loads endpoint allows loading of funds on a gift card to be\
\ authorized. A load is not considered complete until a load confirmation\
\ or load reversal has been sent and acknowledged. A load request should only\
\ be sent once otherwise multiple loads may occur erroneously."
operationId: "load"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "loadId"
in: "path"
description: "The randomly generated UUID identifying this load, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The load information."
required: true
schema:
$ref: "#/definitions/LoadRequest"
responses:
201:
description: "Created"
schema:
$ref: "#/definitions/LoadResponse"
headers:
Location:
type: "string"
description: "The location of the created load resource"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/loads/{loadId}/confirmations/{confirmationId}:
post:
tags:
- "Confirmations"
- "Loads"
summary: "Confirm a load of funds on a gift card."
description: "The Load Confirmations endpoint registers the confirmation of\
\ a prior load on a gift card. Load confirmations are advice type messages\
\ and should continue to be sent at suitable intervals until a response has\
\ been received. Multiple confirmation advices may be sent which refer to\
\ the same load. The net result is that the load is confirmed once."
operationId: "confirmLoad"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "loadId"
in: "path"
description: "The randomly generated loadId UUID as sent in the original load."
required: true
type: "string"
- name: "confirmationId"
in: "path"
description: "The randomly generated UUID identifying this confirmation, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The load confirmation information."
required: true
schema:
$ref: "#/definitions/LoadConfirmation"
responses:
202:
description: "Accepted"
schema:
$ref: "#/definitions/BasicAdvice"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
404:
description: "Not Found"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/loads/{loadId}/reversals/{reversalId}:
post:
tags:
- "Loads"
- "Reversals"
summary: "Simplistically, a load reversal undoes a load if the load was successfully\
\ processed."
description: "The Load Reversals endpoint allows loads on a gift card to be\
\ reversed. If the sender of a load request is uncertain of the state of a\
\ load request then the sender must send a load reversal. Reversals should\
\ continue to be sent at suitable intervals until a response has been received.\
\ Multiple reversals may be sent which refer to the same load. The net result\
\ is that the load is reversed once. Note that a load reversal does not equate\
\ to a redemption."
operationId: "reverseLoad"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "loadId"
in: "path"
description: "The randomly generated loadId UUID as sent in the original load."
required: true
type: "string"
- name: "reversalId"
in: "path"
description: "The randomly generated UUID identifying this reversal, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The redemption reversal information."
required: true
schema:
$ref: "#/definitions/LoadReversal"
responses:
202:
description: "Accepted"
schema:
$ref: "#/definitions/BasicAdvice"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
404:
description: "Not Found"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/lookupGiftcard/{lookupId}:
post:
tags:
- "Giftcard Information"
summary: "Request gift card information."
description: "The Lookup Gift Cards endpoint allows information about a gift\
\ card to be retrieved. This operation has no financial impact and may be\
\ submitted repeatedly without financial consequece. Thus there is no confirmation\
\ or reversal process for gift card lookup requests."
operationId: "lookupGiftcard"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "lookupId"
in: "path"
description: "The randomly generated UUID identifying this lookup request,\
\ as defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "Information describing the gift card lookup to be performed."
required: true
schema:
$ref: "#/definitions/LookupRequest"
responses:
201:
description: "Created"
schema:
$ref: "#/definitions/LookupResponse"
headers:
Location:
type: "string"
description: "The location of the gift card lookup resource"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
404:
description: "Not Found"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/redemptions/{redemptionId}:
post:
tags:
- "Redemptions"
summary: "Request a redemption of a gift card."
description: "The Redemptions endpoint allows gift cards to be redeemed as a\
\ form of tender. A redemption is not considered complete until a redemption\
\ confirmation or redemption reversal has been sent and acknowledged. A redemption\
\ request should only be sent once otherwise multiple redemptions may occur\
\ erroneously."
operationId: "redemption"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "redemptionId"
in: "path"
description: "The randomly generated UUID identifying this redemption, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The redemption information."
required: true
schema:
$ref: "#/definitions/RedemptionRequest"
responses:
201:
description: "Created"
schema:
$ref: "#/definitions/RedemptionResponse"
headers:
Location:
type: "string"
description: "The location of the created load resource"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/redemptions/{redemptionId}/confirmations/{confirmationId}:
post:
tags:
- "Confirmations"
- "Redemptions"
summary: "Confirm a redemption against a gift card."
description: "The Redemption Confirmations endpoint registers the confirmation\
\ of a prior redemption of a gift card. Redemption confirmations are advice\
\ type messages and should continue to be sent at suitable intervals until\
\ a response has been received. Multiple confirmation advices may be sent\
\ which refer to the same redemption. The net result is that the redemption\
\ is confirmed once."
operationId: "confirmRedemption"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "redemptionId"
in: "path"
description: "The randomly generated redemptionId UUID as sent in the original\
\ redemption."
required: true
type: "string"
- name: "confirmationId"
in: "path"
description: "The randomly generated UUID identifying this confirmation, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The redemption confirmation information."
required: true
schema:
$ref: "#/definitions/RedemptionConfirmation"
responses:
202:
description: "Accepted"
schema:
$ref: "#/definitions/BasicAdvice"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
404:
description: "Not Found"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/redemptions/{redemptionId}/reversals/{reversalId}:
post:
tags:
- "Redemptions"
- "Reversals"
summary: "Simplistically, a redemption reversal undoes a redemption if the redemption\
\ was successfully processed."
description: "The Redemption Reversals endpoint allows redemptions on a gift\
\ card to be reversed. If the sender of a redemption request is uncertain\
\ of the state of a redemption request then the sender must send a redemption\
\ reversal. Reversals should continue to be sent at suitable intervals until\
\ a response has been received. Multiple reversals may be sent which refer\
\ to the same redemption. The net result is that the redemption is reversed\
\ once. Note that a reversal does not equate to a load."
operationId: "reverseRedemption"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "redemptionId"
in: "path"
description: "The randomly generated redemptionId UUID as sent in the original\
\ redemption."
required: true
type: "string"
- name: "reversalId"
in: "path"
description: "The randomly generated UUID identifying this reversal, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The redemption reversal information."
required: true
schema:
$ref: "#/definitions/RedemptionReversal"
responses:
202:
description: "Accepted"
schema:
$ref: "#/definitions/BasicAdvice"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
404:
description: "Not Found"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/replaces/{replaceId}:
post:
tags:
- "Replaces"
summary: "Request a replace of an old gift card with a new gift card."
description: "The Replace endpoint allows old gift cards to be replaced with\
\ new gift cards (transfers all funds and voids old card). A replace is not\
\ considered complete until a replace confirmation or replace reversal has\
\ been sent and acknowledged. A replace request should only be sent once otherwise\
\ multiple replace requests may occur erroneously."
operationId: "replace"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "replaceId"
in: "path"
description: "The randomly generated UUID identifying this replace, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The replace information."
required: true
schema:
$ref: "#/definitions/ReplaceRequest"
responses:
201:
description: "Created"
schema:
$ref: "#/definitions/ReplaceResponse"
headers:
Location:
type: "string"
description: "The location of the created load resource"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/replaces/{replaceId}/confirmations/{confirmationId}:
post:
tags:
- "Confirmations"
- "Replaces"
summary: "Confirm a replace request of an old card with a new card."
description: "The Replace Confirmations endpoint registers the confirmation\
\ of a prior replace request for an old gift card to be replaced by a new\
\ gift card. Replace confirmations are advice type messages and should continue\
\ to be sent at suitable intervals until a response has been received. Multiple\
\ confirmation advices may be sent which refer to the same replace request.\
\ The net result is that the replace request is confirmed once."
operationId: "confirmReplace"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "replaceId"
in: "path"
description: "The randomly generated replaceId UUID as sent in the original\
\ replace request."
required: true
type: "string"
- name: "confirmationId"
in: "path"
description: "The randomly generated UUID identifying this confirmation, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The replace confirmation information."
required: true
schema:
$ref: "#/definitions/ReplaceConfirmation"
responses:
202:
description: "Accepted"
schema:
$ref: "#/definitions/BasicAdvice"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
404:
description: "Not Found"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/replaces/{replaceId}/reversals/{reversalId}:
post:
tags:
- "Replaces"
- "Reversals"
summary: "Simplistically, a replace reversal undoes a replace request if the\
\ replace was successfully processed."
description: "The Replace Reversals endpoint allows replace requests of old\
\ gift cards with a new gift cards to be reversed. If the sender of a replace\
\ request is uncertain of the state of a replace request then the sender must\
\ send a replace reversal. Reversals should continue to be sent at suitable\
\ intervals until a response has been received. Multiple reversals may be\
\ sent which refer to the same replace request. The net result is that the\
\ replace request is reversed once."
operationId: "reverseReplace"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "replaceId"
in: "path"
description: "The randomly generated replaceId UUID as sent in the original\
\ replace."
required: true
type: "string"
- name: "reversalId"
in: "path"
description: "The randomly generated UUID identifying this reversal, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The replace reversal information."
required: true
schema:
$ref: "#/definitions/ReplaceReversal"
responses:
202:
description: "Accepted"
schema:
$ref: "#/definitions/BasicAdvice"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
404:
description: "Not Found"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/transfers/{transferId}:
post:
tags:
- "Transfers"
summary: "Request a transfer from a source gift card to a target gift card."
description: "The Transfers endpoint allows funds to be transferred from one\
\ gift card to another. A transfer is not considered complete until a transfer\
\ confirmation or transfer reversal has been sent and acknowledged. A transfer\
\ request should only be sent once otherwise multiple transfers may occur\
\ erroneously."
operationId: "transfer"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "transferId"
in: "path"
description: "The randomly generated UUID identifying this transfer, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The transfer information."
required: true
schema:
$ref: "#/definitions/TransferRequest"
responses:
201:
description: "Created"
schema:
$ref: "#/definitions/TransferResponse"
headers:
Location:
type: "string"
description: "The location of the created load resource"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/transfers/{transferId}/confirmations/{confirmationId}:
post:
tags:
- "Confirmations"
- "Transfers"
summary: "Confirm a transfer from a source gift card to a target gift card."
description: "The Transfer Confirmations endpoint registers the confirmation\
\ of a prior transfer of a source gift card to a target gift card. Transfer\
\ confirmations are advice type messages and should continue to be sent at\
\ suitable intervals until a response has been received. Multiple confirmation\
\ advices may be sent which refer to the same transfer. The net result is\
\ that the transfer is confirmed once."
operationId: "confirmTransfer"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "transferId"
in: "path"
description: "The randomly generated transferId UUID as sent in the original\
\ transfer request."
required: true
type: "string"
- name: "confirmationId"
in: "path"
description: "The randomly generated UUID identifying this confirmation, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The transfer confirmation information."
required: true
schema:
$ref: "#/definitions/TransferConfirmation"
responses:
202:
description: "Accepted"
schema:
$ref: "#/definitions/BasicAdvice"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
404:
description: "Not Found"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/transfers/{transferId}/reversals/{reversalId}:
post:
tags:
- "Transfers"
- "Reversals"
summary: "Simplistically, a transfer reversal undoes a transfer if the transfer\
\ was successfully processed."
description: "The Transfer Reversals endpoint allows a transfer between gift\
\ cards to be reversed. If the sender of a transfer request is uncertain of\
\ the state of a transfer request then the sender must send a transfer reversal.\
\ Reversals should continue to be sent at suitable intervals until a response\
\ has been received. Multiple reversals may be sent which refer to the same\
\ transfer. The net result is that the transfer is reversed once."
operationId: "reverseTransfer"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "transferId"
in: "path"
description: "The randomly generated transferId UUID as sent in the original\
\ transfer."
required: true
type: "string"
- name: "reversalId"
in: "path"
description: "The randomly generated UUID identifying this reversal, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The transfer reversal information."
required: true
schema:
$ref: "#/definitions/TransferReversal"
responses:
202:
description: "Accepted"
schema:
$ref: "#/definitions/BasicAdvice"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
404:
description: "Not Found"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Not Found"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/voids/{voidId}:
post:
tags:
- "Voids"
summary: "Request a gift card be voided."
description: "The Voids endpoint allows an activated giftcard to be voided.\
\ A void is not considered complete until a void confirmation or void reversal\
\ has been sent and acknowledged. While a gift card can only be voided once,\
\ a void request should only be sent once and then either confirmed or reversed."
operationId: "void"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "voidId"
in: "path"
description: "The randomly generated UUID identifying this void, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The void information."
required: true
schema:
$ref: "#/definitions/VoidRequest"
responses:
200:
description: "successful operation"
schema:
$ref: "#/definitions/VoidResponse"
201:
description: "Created"
schema:
$ref: "#/definitions/VoidResponse"
headers:
Location:
type: "string"
description: "The location of the created load resource"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/voids/{voidId}/confirmations/{confirmationId}:
post:
tags:
- "Confirmations"
- "Voids"
summary: "Confirm a void of a gift card."
description: "The Void Confirmations endpoint registers the confirmation of\
\ a prior void on a gift card. Void confirmations are advice type messages\
\ and should continue to be sent at suitable intervals until a response has\
\ been received. Multiple confirmation advices may be sent which refer to\
\ the same void. The net result is that the void is confirmed once."
operationId: "confirmVoid"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "voidId"
in: "path"
description: "The randomly generated voidId UUID as sent in the original void."
required: true
type: "string"
- name: "confirmationId"
in: "path"
description: "The randomly generated UUID identifying this confirmation, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The void confirmation information."
required: true
schema:
$ref: "#/definitions/VoidConfirmation"
responses:
202:
description: "Accepted"
schema:
$ref: "#/definitions/BasicAdvice"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
404:
description: "Not Found"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
/voids/{voidId}/reversals/{reversalId}:
post:
tags:
- "Voids"
- "Reversals"
summary: "Simplistically, a void reversal undoes a void if the void was successfully\
\ processed."
description: "The Void Reversals endpoint allows voids of a gift card to be\
\ reversed. If the sender of a void request is uncertain of the state of a\
\ void request then the sender must send a void reversal. Reversals should\
\ continue to be sent at suitable intervals until a response has been received.\
\ Multiple reversals may be sent which refer to the same void. The net result\
\ is that the void is reversed once."
operationId: "reverseVoid"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- name: "voidId"
in: "path"
description: "The randomly generated voidId UUID as sent in the original void."
required: true
type: "string"
- name: "reversalId"
in: "path"
description: "The randomly generated UUID identifying this reversal, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)."
required: true
type: "string"
- in: "body"
name: "body"
description: "The void reversal information."
required: true
schema:
$ref: "#/definitions/VoidReversal"
responses:
202:
description: "Accepted"
schema:
$ref: "#/definitions/BasicAdvice"
400:
description: "Bad Request"
schema:
$ref: "#/definitions/ErrorDetail"
404:
description: "Not Found"
schema:
$ref: "#/definitions/ErrorDetail"
500:
description: "Internal Server Error"
schema:
$ref: "#/definitions/ErrorDetail"
503:
description: "Service Unavailable"
schema:
$ref: "#/definitions/ErrorDetail"
504:
description: "Gateway Timeout"
schema:
$ref: "#/definitions/ErrorDetail"
security:
- httpBasic: []
securityDefinitions:
httpBasic:
description: "All requests require HTTP basic authentication, where user name\
\ equals the value used in
Originator.Institution.id and\
\ password has been agreed with Electrum."
type: "basic"
definitions:
ActivationConfirmation:
type: "object"
required:
- "id"
- "requestId"
- "tenders"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this advice, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
requestId:
type: "string"
description: "The UUID identifying the request that this advice relates to"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
thirdPartyIdentifiers:
type: "array"
description: "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."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
tenders:
type: "array"
description: "An array of tenders used to pay for the transaction"
items:
$ref: "#/definitions/Tender"
description: "Information about a gift card activation to be confirmed."
ActivationRequest:
type: "object"
required:
- "card"
- "client"
- "id"
- "originator"
- "product"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this transaction, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
originator:
description: "Data relating to the originator of the transaction."
$ref: "#/definitions/Originator"
client:
description: "Data relating to the sender of Transaction."
$ref: "#/definitions/Institution"
settlementEntity:
description: "Data relating to the entity with whom the Merchant will settle\
\ the transaction."
$ref: "#/definitions/Institution"
receiver:
description: "Data relating to the entity which ultimately processes the request."
$ref: "#/definitions/Institution"
thirdPartyIdentifiers:
type: "array"
description: "An array of identifiers which each identify the transaction\
\ within each entity's system."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
slipData:
description: "Text to be printed on the customer receipt."
$ref: "#/definitions/SlipData"
basketRef:
type: "string"
description: "Used to group multiple transactions which would otherwise be\
\ considered independent."
tranType:
type: "string"
description: "Data relating to the type of transaction taking place (i.e.\
\ cash withdrawal, goods and services etc.)."
enum:
- "GOODS_AND_SERVICES"
- "CASH_WITHDRAWAL"
- "DEBIT_ADJUSTMENT"
- "GOODS_AND_SERVICES_WITH_CASH_BACK"
- "NON_CASH"
- "RETURNS"
- "DEPOSIT"
- "CREDIT_ADJUSTMENT"
- "GENERAL_CREDIT"
- "AVAILABLE_FUNDS_INQUIRY"
- "BALANCE_INQUIRY"
- "GENERAL_INQUIRY"
- "CARD_VERIFICATION_INQUIRY"
- "CARDHOLDER_ACCOUNTS_TRANSFER"
- "GENERAL_TRANSFER"
- "PAYMENT_FROM_ACCOUNT"
- "GENERAL_PAYMENT"
- "PAYMENT_TO_ACCOUNT"
- "PAYMENT_FROM_ACCOUNT_TO_ACCOUNT"
- "PLACE_HOLD_ON_CARD"
- "GENERAL_ADMIN"
- "CHANGE_PIN"
- "CARD_HOLDER_INQUIRY"
- "POINTS_INQUIRY"
srcAccType:
type: "string"
description: "This specifies the type of source account being used in the\
\ transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
destAccType:
type: "string"
description: "This specifies the type of destination account being used in\
\ the transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
amounts:
description: "Specifies an amount which should be loaded onto the card as\
\ part of the activation."
$ref: "#/definitions/GiftcardAmounts"
card:
description: "Information about the gift card being activated."
$ref: "#/definitions/Card"
posInfo:
description: "Information about the POS."
$ref: "#/definitions/PosInfo"
product:
description: "Information about the gift card product being activated."
$ref: "#/definitions/Product"
cardHolder:
description: "Information about the card holder of the gift card."
$ref: "#/definitions/Customer"
description: "Information about the gift card activation."
ActivationResponse:
type: "object"
required:
- "card"
- "client"
- "id"
- "originator"
- "product"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this transaction, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
originator:
description: "Data relating to the originator of the transaction."
$ref: "#/definitions/Originator"
client:
description: "Data relating to the sender of Transaction."
$ref: "#/definitions/Institution"
settlementEntity:
description: "Data relating to the entity with whom the Merchant will settle\
\ the transaction."
$ref: "#/definitions/Institution"
receiver:
description: "Data relating to the entity which ultimately processes the request."
$ref: "#/definitions/Institution"
thirdPartyIdentifiers:
type: "array"
description: "An array of identifiers which each identify the transaction\
\ within each entity's system."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
slipData:
description: "Text to be printed on the customer receipt."
$ref: "#/definitions/SlipData"
basketRef:
type: "string"
description: "Used to group multiple transactions which would otherwise be\
\ considered independent."
tranType:
type: "string"
description: "Data relating to the type of transaction taking place (i.e.\
\ cash withdrawal, goods and services etc.)."
enum:
- "GOODS_AND_SERVICES"
- "CASH_WITHDRAWAL"
- "DEBIT_ADJUSTMENT"
- "GOODS_AND_SERVICES_WITH_CASH_BACK"
- "NON_CASH"
- "RETURNS"
- "DEPOSIT"
- "CREDIT_ADJUSTMENT"
- "GENERAL_CREDIT"
- "AVAILABLE_FUNDS_INQUIRY"
- "BALANCE_INQUIRY"
- "GENERAL_INQUIRY"
- "CARD_VERIFICATION_INQUIRY"
- "CARDHOLDER_ACCOUNTS_TRANSFER"
- "GENERAL_TRANSFER"
- "PAYMENT_FROM_ACCOUNT"
- "GENERAL_PAYMENT"
- "PAYMENT_TO_ACCOUNT"
- "PAYMENT_FROM_ACCOUNT_TO_ACCOUNT"
- "PLACE_HOLD_ON_CARD"
- "GENERAL_ADMIN"
- "CHANGE_PIN"
- "CARD_HOLDER_INQUIRY"
- "POINTS_INQUIRY"
srcAccType:
type: "string"
description: "This specifies the type of source account being used in the\
\ transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
destAccType:
type: "string"
description: "This specifies the type of destination account being used in\
\ the transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
amounts:
description: "Indicates the amount which was requested to be loaded onto the\
\ card during activation, the amount which was loaded and the balance of\
\ the gift card after activation."
$ref: "#/definitions/GiftcardAmounts"
card:
description: "Information about the gift card being activated."
$ref: "#/definitions/Card"
posInfo:
description: "Information about the POS."
$ref: "#/definitions/PosInfo"
product:
description: "Information about the gift card product being activated."
$ref: "#/definitions/Product"
cardHolder:
description: "Information about the card holder of the gift card."
$ref: "#/definitions/Customer"
description: "Information about the result of processing the card activation."
ActivationReversal:
type: "object"
required:
- "id"
- "requestId"
- "reversalReason"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this advice, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
requestId:
type: "string"
description: "The UUID identifying the request that this advice relates to"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
thirdPartyIdentifiers:
type: "array"
description: "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."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
reversalReason:
type: "string"
description: "The reason for the reversal"
enum:
- "TIMEOUT"
- "CANCELLED"
- "RESPONSE_NOT_FINAL"
description: "Information about a gift card activation to be reversed."
Barcode:
type: "object"
required:
- "data"
- "encoding"
properties:
data:
type: "string"
description: "Data to be encoded in the barcode"
encoding:
type: "string"
description: "Specifies the encoding used in the barcode"
description: "Used to indicate barcode information for a slip line."
BasicAdvice:
type: "object"
required:
- "id"
- "requestId"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this advice, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
requestId:
type: "string"
description: "The UUID identifying the request that this advice relates to"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
thirdPartyIdentifiers:
type: "array"
description: "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."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
description: "The data required in all advice messages"
Basket:
type: "object"
required:
- "basketId"
- "items"
properties:
basketId:
type: "string"
description: "An identifier for the collection of items being paid for."
pattern: "[0-9A-Za-z]{1,20}"
items:
type: "array"
description: "The items being purchased."
items:
$ref: "#/definitions/Item"
description: "Information about the items paid for using the gift card."
Card:
type: "object"
required:
- "expiryDate"
- "pan"
properties:
pan:
type: "string"
description: "Primary account number that uniquely identifies this card."
pattern: "[0-9]{1,19}"
expiryDate:
type: "string"
description: "The card expiry date, in YYMM format."
pattern: "[0-9]{4}"
clearPin:
type: "string"
description: "The pin number associated with the card unencrypted."
encryptedPin:
type: "string"
description: "The encrypted pin number associated with the card in HEX format."
pattern: "[0-9ABCDEF]+"
rank:
type: "string"
description: "The rank of the card on the Giftcard system. For example: primary,\
\ secondary, collector."
pin:
description: "Pin that can either be of type clear PIN or encryted PIN. This\
\ value takes precendence overencryptedPin and clearPin fields."
$ref: "#/definitions/Pin"
description: "Information about a gift card; its number, rank, expiry date and\
\ optionally the PIN either unencrypted or encrypted."
Club:
type: "object"
required:
- "marketToCustomer"
- "member"
- "name"
properties:
name:
type: "string"
description: "The name of this marketing attribute."
description:
type: "string"
description: "The description of this marketing attribute."
member:
type: "boolean"
description: "If the customer associated with this card is a member of this\
\ marketing attribute."
default: false
marketToCustomer:
type: "boolean"
description: "Should the customer associated with card be subjected to marketing\
\ for this specific marketing attribute."
default: false
products:
type: "array"
description: "The products for which this club is associated with."
items:
$ref: "#/definitions/Product"
description: "Information about a club; its name, description, customer membership\
\ and products."
Customer:
type: "object"
properties:
firstName:
type: "string"
description: "The customer's first name(s)"
minLength: 0
maxLength: 40
lastName:
type: "string"
description: "The customer's last name"
minLength: 0
maxLength: 40
address:
type: "string"
description: "The customer's address"
minLength: 0
maxLength: 80
dateOfBirth:
type: "string"
format: "date-time"
description: "The customer's date of birth"
status:
type: "string"
description: "The status of this customer on the Giftcard system. For example:\
\ active, inactive"
msisdn:
type: "string"
description: "This must conform to the ITU E.164 numbering plan (https://www.itu.int/rec/T-REC-E.164/en)\
\ e.g. 27821234567 for a South African number."
pattern: "^\+?[1-9]\d{0,14}"
emailAddress:
type: "string"
format: "email"
description: "The customer's email address. This address must conform to RFC\
\ 5322 3.4.1 addr-spec (https://tools.ietf.org/html/rfc5322#section-3.4.1)."
description: "A customer who ultimately requests a transaction be performed."
EncryptionParameters:
type: "object"
required:
- "accountNumber"
properties:
pinBlockFormat:
type: "string"
description: "PIN block format that was used when encrypting the PIN. Defaults\
\ to ISO_9564_FORMAT_0."
default: "ISO_9564_FORMAT_0"
enum:
- "ISO_9564_FORMAT_0"
- "ISO_9564_FORMAT_1"
- "ISO_9564_FORMAT_3"
accountNumber:
type: "string"
description: "12 digit account number used when encrypting the PIN. When account\
\ number is a card number (PAN), this is the rightmost 12 digits excluding\
\ the check digit."
pattern: "[0-9]{12}"
keyIndex:
type: "integer"
format: "int32"
description: "Index of the key under which the PIN block is encrypted. Where\
\ keys are exchanged in TR-31 KeyBlock format, this should be set to the\
\ key version number field of the key used for encryption. If this field\
\ is not populated, the most recently exchanged key will be used. Note that\
\ omitting this field may require a higher level of synchronization during\
\ automated key exchange in some environments."
description: "Parameters pertaining to the generation of the PIN block. Required\
\ if the service is to perform any operations on the encrypted PIN, such as\
\ translation."
ErrorDetail:
type: "object"
required:
- "errorMessage"
- "errorType"
- "id"
- "requestType"
properties:
errorType:
type: "string"
description: "The type of error that occurred"
enum:
- "DUPLICATE_RECORD"
- "FORMAT_ERROR"
- "FUNCTION_NOT_SUPPORTED"
- "GENERAL_ERROR"
- "INVALID_AMOUNT"
- "ROUTING_ERROR"
- "TRANSACTION_NOT_SUPPORTED"
- "UNABLE_TO_LOCATE_RECORD"
- "UPSTREAM_UNAVAILABLE"
- "INVALID_PRODUCT"
- "CARD_NOT_ACTIVATED"
- "CARD_ACTIVATED"
- "CARD_VOIDED"
- "CARD_BLOCKED"
- "CARD_DELETED"
- "FUNCTION_BLOCKED_FOR_CARD_RANK"
- "INSUFFICIENT_FUNDS"
- "INVALID_CARD_NUMBER"
- "CARD_EXPIRED"
- "INCORRECT_PIN"
- "TEMPORARY_FAILURE"
- "DO_NOT_HONOUR"
- "PIN_ATTEMPTS_EXCEEDED"
errorMessage:
type: "string"
description: "A short description of the error"
minLength: 0
maxLength: 20
detailMessage:
type: "object"
description: "A free form detailed description of a particular failure condition\
\ may optionally be supplied"
requestType:
type: "string"
description: "The type of request being processed when the error occurred."
enum:
- "ACTIVATION_CONFIRMATION"
- "ACTIVATION_REQUEST"
- "ACTIVATION_REVERSAL"
- "LOAD_CONFIRMATION"
- "LOAD_REQUEST"
- "LOAD_REVERSAL"
- "LOOKUP_REQUEST"
- "REDEMPTION_CONFIRMATION"
- "REDEMPTION_REQUEST"
- "REDEMPTION_REVERSAL"
- "REPLACE_CONFIRMATION"
- "REPLACE_REQUEST"
- "REPLACE_REVERSAL"
- "TRANSFER_CONFIRMATION"
- "TRANSFER_REQUEST"
- "TRANSFER_REVERSAL"
- "VOID_CONFIRMATION"
- "VOID_REQUEST"
- "VOID_REVERSAL"
id:
type: "string"
description: "The UUID of the message for which the error occurred."
originalId:
type: "string"
description: "The UUID of the original request message int he case of an error\
\ occurring for an advice message."
description: "Represents the outcome of a completed transaction"
GiftcardAmounts:
type: "object"
properties:
requestAmount:
description: "The transaction amount requested by the customer to be authorised\
\ or approved. This is the total amount the customer wishes to pay for a\
\ service or virtual product."
$ref: "#/definitions/LedgerAmount"
approvedAmount:
description: "The transaction amount which was approved by the upstream entity."
$ref: "#/definitions/LedgerAmount"
feeAmount:
description: "Fees charged by the upstream entity for processing the transaction."
$ref: "#/definitions/LedgerAmount"
balanceAmount:
description: "The remaining balance on the customer's account."
$ref: "#/definitions/LedgerAmount"
additionalAmounts:
type: "object"
description: "Any additional amounts that are involved in a transaction which\
\ don't appropriately fit into the other amount fields."
additionalProperties:
$ref: "#/definitions/LedgerAmount"
availableBalance:
description: "The funds currently available on the card which may be redeemed.\
\ This field should not include loads which must still be finalised."
$ref: "#/definitions/LedgerAmount"
description: "Amounts which make up the transaction. Absent amounts have zero\
\ value."
Institution:
type: "object"
required:
- "id"
- "name"
properties:
id:
type: "string"
description: "The institution's ID. API implementations should take care to\
\ set this field as appropriate for the implementation."
name:
type: "string"
description: "The institutions's name"
minLength: 0
maxLength: 40
description: "Originating, acquiring, processing, or receiving institution details"
Item:
type: "object"
properties:
productId:
type: "string"
description: "An identifier for the product such as a barcode."
pattern: "[0-9A-Za-z]{1,20}"
productName:
type: "string"
description: "The name of the product."
pattern: "[0-9A-Za-z]{1,50}"
productType:
type: "string"
description: "The type of the product e.g. food, clothing etc."
pattern: "[0-9A-Za-z]{1,30}"
quantity:
type: "number"
format: "float"
description: "The number of units of product bought. This could be whole units\
\ if suitable for the product (e.g. tins of beans) or a fractional value\
\ in the case of a volume or mass value."
unit:
type: "string"
description: "The unit the quantity is measured in."
enum:
- "UNIT"
- "LITRE"
- "KILOGRAM"
description: "A unique product and quantity thereof which is part of a customer's\
\ basket. This should not be confused with the Product model which describes\
\ a gift card product sold by retailers."
LedgerAmount:
type: "object"
required:
- "amount"
- "currency"
properties:
amount:
type: "integer"
format: "int64"
description: "Amount in minor denomination, e.g. R799.95 is encoded as 79995"
currency:
type: "string"
description: "Three digit currency number from ISO 4217, e.g. South African\
\ Rand is encoded as 710"
pattern: "[0-9]{3}"
ledgerIndicator:
type: "string"
description: "Indicates whether this amount is a debit or a credit. Only required\
\ when the amount can be either a debit or a credit"
enum:
- "DEBIT"
- "CREDIT"
description: "An amount object only containing value and currency, and optionally\
\ an indicator of DEBIT/CREDIT"
LoadConfirmation:
type: "object"
required:
- "id"
- "requestId"
- "tenders"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this advice, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
requestId:
type: "string"
description: "The UUID identifying the request that this advice relates to"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
thirdPartyIdentifiers:
type: "array"
description: "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."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
tenders:
type: "array"
description: "An array of tenders used to pay for the transaction"
items:
$ref: "#/definitions/Tender"
description: "Information about a gift card load to be confirmed."
LoadRequest:
type: "object"
required:
- "amounts"
- "card"
- "client"
- "id"
- "originator"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this transaction, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
originator:
description: "Data relating to the originator of the transaction."
$ref: "#/definitions/Originator"
client:
description: "Data relating to the sender of Transaction."
$ref: "#/definitions/Institution"
settlementEntity:
description: "Data relating to the entity with whom the Merchant will settle\
\ the transaction."
$ref: "#/definitions/Institution"
receiver:
description: "Data relating to the entity which ultimately processes the request."
$ref: "#/definitions/Institution"
thirdPartyIdentifiers:
type: "array"
description: "An array of identifiers which each identify the transaction\
\ within each entity's system."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
slipData:
description: "Text to be printed on the customer receipt."
$ref: "#/definitions/SlipData"
basketRef:
type: "string"
description: "Used to group multiple transactions which would otherwise be\
\ considered independent."
tranType:
type: "string"
description: "Data relating to the type of transaction taking place (i.e.\
\ cash withdrawal, goods and services etc.)."
enum:
- "GOODS_AND_SERVICES"
- "CASH_WITHDRAWAL"
- "DEBIT_ADJUSTMENT"
- "GOODS_AND_SERVICES_WITH_CASH_BACK"
- "NON_CASH"
- "RETURNS"
- "DEPOSIT"
- "CREDIT_ADJUSTMENT"
- "GENERAL_CREDIT"
- "AVAILABLE_FUNDS_INQUIRY"
- "BALANCE_INQUIRY"
- "GENERAL_INQUIRY"
- "CARD_VERIFICATION_INQUIRY"
- "CARDHOLDER_ACCOUNTS_TRANSFER"
- "GENERAL_TRANSFER"
- "PAYMENT_FROM_ACCOUNT"
- "GENERAL_PAYMENT"
- "PAYMENT_TO_ACCOUNT"
- "PAYMENT_FROM_ACCOUNT_TO_ACCOUNT"
- "PLACE_HOLD_ON_CARD"
- "GENERAL_ADMIN"
- "CHANGE_PIN"
- "CARD_HOLDER_INQUIRY"
- "POINTS_INQUIRY"
srcAccType:
type: "string"
description: "This specifies the type of source account being used in the\
\ transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
destAccType:
type: "string"
description: "This specifies the type of destination account being used in\
\ the transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
amounts:
description: "Specifies an amount which should be loaded onto the card."
$ref: "#/definitions/GiftcardAmounts"
card:
description: "Information about the gift card being loaded."
$ref: "#/definitions/Card"
posInfo:
description: "Information about the POS."
$ref: "#/definitions/PosInfo"
product:
description: "Information about the gift card product being loaded."
$ref: "#/definitions/Product"
cardHolder:
description: "Information about the card holder."
$ref: "#/definitions/Customer"
description: "Information about the load being made on the gift card."
LoadResponse:
type: "object"
required:
- "amounts"
- "card"
- "client"
- "id"
- "originator"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this transaction, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
originator:
description: "Data relating to the originator of the transaction."
$ref: "#/definitions/Originator"
client:
description: "Data relating to the sender of Transaction."
$ref: "#/definitions/Institution"
settlementEntity:
description: "Data relating to the entity with whom the Merchant will settle\
\ the transaction."
$ref: "#/definitions/Institution"
receiver:
description: "Data relating to the entity which ultimately processes the request."
$ref: "#/definitions/Institution"
thirdPartyIdentifiers:
type: "array"
description: "An array of identifiers which each identify the transaction\
\ within each entity's system."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
slipData:
description: "Text to be printed on the customer receipt."
$ref: "#/definitions/SlipData"
basketRef:
type: "string"
description: "Used to group multiple transactions which would otherwise be\
\ considered independent."
tranType:
type: "string"
description: "Data relating to the type of transaction taking place (i.e.\
\ cash withdrawal, goods and services etc.)."
enum:
- "GOODS_AND_SERVICES"
- "CASH_WITHDRAWAL"
- "DEBIT_ADJUSTMENT"
- "GOODS_AND_SERVICES_WITH_CASH_BACK"
- "NON_CASH"
- "RETURNS"
- "DEPOSIT"
- "CREDIT_ADJUSTMENT"
- "GENERAL_CREDIT"
- "AVAILABLE_FUNDS_INQUIRY"
- "BALANCE_INQUIRY"
- "GENERAL_INQUIRY"
- "CARD_VERIFICATION_INQUIRY"
- "CARDHOLDER_ACCOUNTS_TRANSFER"
- "GENERAL_TRANSFER"
- "PAYMENT_FROM_ACCOUNT"
- "GENERAL_PAYMENT"
- "PAYMENT_TO_ACCOUNT"
- "PAYMENT_FROM_ACCOUNT_TO_ACCOUNT"
- "PLACE_HOLD_ON_CARD"
- "GENERAL_ADMIN"
- "CHANGE_PIN"
- "CARD_HOLDER_INQUIRY"
- "POINTS_INQUIRY"
srcAccType:
type: "string"
description: "This specifies the type of source account being used in the\
\ transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
destAccType:
type: "string"
description: "This specifies the type of destination account being used in\
\ the transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
amounts:
description: "Indicates the amount which was requested to be loaded onto the\
\ card, the amount which was loaded and the balance of the gift card after\
\ the load."
$ref: "#/definitions/GiftcardAmounts"
card:
description: "Information about the gift card being loaded."
$ref: "#/definitions/Card"
posInfo:
description: "Information about the POS."
$ref: "#/definitions/PosInfo"
product:
description: "Information about the gift card product being loaded."
$ref: "#/definitions/Product"
cardHolder:
description: "Information about the card holder."
$ref: "#/definitions/Customer"
description: "Information about the load made on the gift card."
LoadReversal:
type: "object"
required:
- "id"
- "requestId"
- "reversalReason"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this advice, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
requestId:
type: "string"
description: "The UUID identifying the request that this advice relates to"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
thirdPartyIdentifiers:
type: "array"
description: "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."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
reversalReason:
type: "string"
description: "The reason for the reversal"
enum:
- "TIMEOUT"
- "CANCELLED"
- "RESPONSE_NOT_FINAL"
description: "Information about the gift card load being reversed."
LookupRequest:
type: "object"
required:
- "client"
- "id"
- "originator"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this transaction, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
originator:
description: "Data relating to the originator of the transaction."
$ref: "#/definitions/Originator"
client:
description: "Data relating to the sender of Transaction."
$ref: "#/definitions/Institution"
settlementEntity:
description: "Data relating to the entity with whom the Merchant will settle\
\ the transaction."
$ref: "#/definitions/Institution"
receiver:
description: "Data relating to the entity which ultimately processes the request."
$ref: "#/definitions/Institution"
thirdPartyIdentifiers:
type: "array"
description: "An array of identifiers which each identify the transaction\
\ within each entity's system."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
slipData:
description: "Text to be printed on the customer receipt."
$ref: "#/definitions/SlipData"
basketRef:
type: "string"
description: "Used to group multiple transactions which would otherwise be\
\ considered independent."
tranType:
type: "string"
description: "Data relating to the type of transaction taking place (i.e.\
\ cash withdrawal, goods and services etc.)."
enum:
- "GOODS_AND_SERVICES"
- "CASH_WITHDRAWAL"
- "DEBIT_ADJUSTMENT"
- "GOODS_AND_SERVICES_WITH_CASH_BACK"
- "NON_CASH"
- "RETURNS"
- "DEPOSIT"
- "CREDIT_ADJUSTMENT"
- "GENERAL_CREDIT"
- "AVAILABLE_FUNDS_INQUIRY"
- "BALANCE_INQUIRY"
- "GENERAL_INQUIRY"
- "CARD_VERIFICATION_INQUIRY"
- "CARDHOLDER_ACCOUNTS_TRANSFER"
- "GENERAL_TRANSFER"
- "PAYMENT_FROM_ACCOUNT"
- "GENERAL_PAYMENT"
- "PAYMENT_TO_ACCOUNT"
- "PAYMENT_FROM_ACCOUNT_TO_ACCOUNT"
- "PLACE_HOLD_ON_CARD"
- "GENERAL_ADMIN"
- "CHANGE_PIN"
- "CARD_HOLDER_INQUIRY"
- "POINTS_INQUIRY"
srcAccType:
type: "string"
description: "This specifies the type of source account being used in the\
\ transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
destAccType:
type: "string"
description: "This specifies the type of destination account being used in\
\ the transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
card:
description: "Information about the gift card being retrieved. Either this\
\ field or the cardHolder field should be set."
$ref: "#/definitions/Card"
posInfo:
description: "Information about the POS which captured the card details."
$ref: "#/definitions/PosInfo"
cardHolder:
description: "Information about the card holder. Either this field or the\
\ card field should be set."
$ref: "#/definitions/Customer"
description: "Information about a gift card to be retrieved."
LookupResponse:
type: "object"
required:
- "amounts"
- "card"
- "client"
- "id"
- "originator"
- "posInfo"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this transaction, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
originator:
description: "Data relating to the originator of the transaction."
$ref: "#/definitions/Originator"
client:
description: "Data relating to the sender of Transaction."
$ref: "#/definitions/Institution"
settlementEntity:
description: "Data relating to the entity with whom the Merchant will settle\
\ the transaction."
$ref: "#/definitions/Institution"
receiver:
description: "Data relating to the entity which ultimately processes the request."
$ref: "#/definitions/Institution"
thirdPartyIdentifiers:
type: "array"
description: "An array of identifiers which each identify the transaction\
\ within each entity's system."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
slipData:
description: "Text to be printed on the customer receipt."
$ref: "#/definitions/SlipData"
basketRef:
type: "string"
description: "Used to group multiple transactions which would otherwise be\
\ considered independent."
tranType:
type: "string"
description: "Data relating to the type of transaction taking place (i.e.\
\ cash withdrawal, goods and services etc.)."
enum:
- "GOODS_AND_SERVICES"
- "CASH_WITHDRAWAL"
- "DEBIT_ADJUSTMENT"
- "GOODS_AND_SERVICES_WITH_CASH_BACK"
- "NON_CASH"
- "RETURNS"
- "DEPOSIT"
- "CREDIT_ADJUSTMENT"
- "GENERAL_CREDIT"
- "AVAILABLE_FUNDS_INQUIRY"
- "BALANCE_INQUIRY"
- "GENERAL_INQUIRY"
- "CARD_VERIFICATION_INQUIRY"
- "CARDHOLDER_ACCOUNTS_TRANSFER"
- "GENERAL_TRANSFER"
- "PAYMENT_FROM_ACCOUNT"
- "GENERAL_PAYMENT"
- "PAYMENT_TO_ACCOUNT"
- "PAYMENT_FROM_ACCOUNT_TO_ACCOUNT"
- "PLACE_HOLD_ON_CARD"
- "GENERAL_ADMIN"
- "CHANGE_PIN"
- "CARD_HOLDER_INQUIRY"
- "POINTS_INQUIRY"
srcAccType:
type: "string"
description: "This specifies the type of source account being used in the\
\ transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
destAccType:
type: "string"
description: "This specifies the type of destination account being used in\
\ the transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
amounts:
description: "Indicates the balance of the gift card at the time of the request."
$ref: "#/definitions/GiftcardAmounts"
card:
description: "Information about the gift card for which information is being\
\ requested."
$ref: "#/definitions/Card"
posInfo:
description: "Information about how card details were captured at the POS."
$ref: "#/definitions/PosInfo"
product:
description: "Information about the product associated with the gift card\
\ if the gift card has been activated."
$ref: "#/definitions/Product"
cardHolder:
description: "Information about the card holder of the gift card."
$ref: "#/definitions/Customer"
points:
description: "Information on points associated with this card. For example:\
\ balance, currency value."
$ref: "#/definitions/PointAmounts"
clubs:
type: "array"
description: "The clubs associated with this card."
items:
$ref: "#/definitions/Club"
marketingAttributes:
type: "array"
description: "The marketing attributes associated with this card."
items:
$ref: "#/definitions/MarketingAttribute"
description: "Information about the result of processing the gift card lookup\
\ request."
MarketingAttribute:
type: "object"
required:
- "marketToCustomer"
- "member"
- "name"
properties:
name:
type: "string"
description: "The name of this marketing attribute."
description:
type: "string"
description: "The description of this marketing attribute."
member:
type: "boolean"
description: "If the customer associated with this card is a member of this\
\ marketing attribute."
default: false
marketToCustomer:
type: "boolean"
description: "Should the customer associated with card be subjected to marketing\
\ for this specific marketing attribute."
default: false
description: "Relevant marketing information related to the consumer."
Merchant:
type: "object"
required:
- "merchantId"
- "merchantName"
- "merchantType"
properties:
merchantType:
type: "string"
description: "The assigned four digit merchant category code"
pattern: "[0-9]{4}"
merchantId:
type: "string"
description: "The assigned merchant identifier. Also known as card acceptor\
\ id"
minLength: 15
maxLength: 15
merchantName:
description: "The name of a merchant"
$ref: "#/definitions/MerchantName"
description: "Merchant related data. Must be included if available"
MerchantName:
type: "object"
required:
- "city"
- "country"
- "name"
- "region"
properties:
name:
type: "string"
description: "The merchant or trading as name associated with the merchant"
minLength: 0
maxLength: 23
city:
type: "string"
description: "The city where the merchant is located"
minLength: 0
maxLength: 13
region:
type: "string"
description: "The state or region where the merchant is located"
minLength: 0
maxLength: 2
country:
type: "string"
description: "The country where the merchant is located"
minLength: 0
maxLength: 2
description: "A container object representing the Merchant Name and Location"
Originator:
type: "object"
required:
- "institution"
- "merchant"
- "terminalId"
properties:
institution:
description: "The institution originating the request, as issued by Electrum"
$ref: "#/definitions/Institution"
terminalId:
type: "string"
description: "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"
minLength: 8
maxLength: 8
merchant:
description: "Merchant data. Required if available"
$ref: "#/definitions/Merchant"
description: "The Originator object encapsulates data relating to the originator\
\ of the transaction"
Pin:
type: "object"
required:
- "type"
discriminator: "type"
properties:
type:
type: "string"
description: "Whether the PIN is communicated in the clear or encrypted."
enum:
- "CLEAR_PIN"
- "ENCRYPTED_PIN"
description: "Base model for capturing either a clear PIN or encrypted PIN"
PinClear:
allOf:
- $ref: "#/definitions/Pin"
- type: "object"
required:
- "pin"
properties:
pin:
type: "string"
description: "A clear PIN"
pattern: ".{0,20}"
description: "A clear PIN required to authorise a transaction."
PinEncrypted:
allOf:
- $ref: "#/definitions/Pin"
- type: "object"
required:
- "pinBlock"
properties:
pinBlock:
type: "string"
description: "Hexadecimal string representing the encrypted PIN to be used."
pattern: "[a-fA-F0-9]{16}"
encryptionParameters:
description: "Parameters pertaining to the generation of the pinBlock. Required\
\ if the service is to perform any operations on the encrypted PIN, such\
\ as PIN translation."
$ref: "#/definitions/EncryptionParameters"
description: "A PIN required to authorise a transaction. EncryptionParameters\
\ should be provided where the service will be performing operations on the\
\ encrypted PIN, such as PIN translation. Only the PIN block need be provided\
\ where the service is expected to forward it to a third party, where the\
\ calling client and said third party have agreed upon encryption parameters\
\ beforehand."
PointAmounts:
type: "object"
properties:
requestAmount:
description: "The points amount requested by the customer to be authorised\
\ or approved. This is the total amount the customer wishes to pay for a\
\ service or virtual product."
$ref: "#/definitions/PointsAmount"
approvedAmount:
description: "The points amount which was approved by the upstream entity."
$ref: "#/definitions/PointsAmount"
balanceAmount:
description: "The remaining points balance on the customer’s account."
$ref: "#/definitions/PointsAmount"
availableAmount:
description: "The points currently available on the card which may be redeemed.\
\ This field should not include loads which must still be finalised."
$ref: "#/definitions/PointsAmount"
description: "Point Amounts which make up the transaction. Absent amounts have\
\ zero value."
PointsAmount:
type: "object"
required:
- "amount"
properties:
amount:
type: "integer"
format: "int64"
description: "The number of points."
currencyEquivalent:
description: "The value of the points amount in a given currency."
$ref: "#/definitions/LedgerAmount"
pointsDueToExpire:
type: "integer"
format: "int64"
description: "Number of points due for expiry next."
expiryDate:
type: "string"
format: "date-time"
description: "The date at which the next expiry of points will occur."
description: "Points related information. This is the description of the points\
\ involved in a transaction."
PosEntryMode:
type: "object"
required:
- "panEntryMode"
- "pinEntryCapability"
properties:
panEntryMode:
type: "string"
description: "Describes the method by which the PAN was captured."
enum:
- "UNKNOWN"
- "MANUAL"
- "MAGSTRIPE_NO_CVV"
- "BARCODE"
- "OCR"
- "ICC_CVV"
- "CONTACTLESS_ICC"
- "MAGSTRIPE_CVV"
- "CONTACTLESS_MAGSTRIPE"
- "ICC_NO_CVV"
- "ORIG_MODE"
- "FALLBACK"
pinEntryCapability:
type: "string"
description: "Describes whether the PIN can be entered."
enum:
- "UNKNOWN"
- "CAN_ACCEPT"
- "CANNOT_ACCEPT"
description: "Describes how the PAN and PIN were captured by the POS."
PosInfo:
type: "object"
properties:
entryMode:
description: "Describes the manner in which the POS captured card and PIN\
\ data."
$ref: "#/definitions/PosEntryMode"
posConditionCode:
type: "string"
description: "Describes the circumstances of the transaciton at the POS."
enum:
- "NORMAL_PRESENTMENT"
- "CUSTOMER_NOT_PRESENT"
- "CUSTOMER_PRESENT_AND_CARD_NOT_PRESENT"
- "CUSTOMER_IDENTITY_VERIFIED"
- "PUBLIC_UTILITY_TERMINAL"
- "CUSTOMER_TERMINAL"
- "MANUAL_REVERSAL"
- "UNATTENDED_TERMINAL_AND_CARD_CAN_BE_RETAINED"
- "UNATTENDED_TERMINAL_AND_CARD_CANNOT_BE_RETAINED"
description: "POS related data."
Product:
type: "object"
required:
- "id"
properties:
id:
type: "string"
description: "An identifier of the product which the gift card pertains to.\
\ This code is sent by the originator and allows the receiver to identify\
\ the gift card product"
pattern: "[0-9A-Za-z]{1,100}"
barcode:
type: "string"
description: "A barcode code identifying the product the gift card pertains\
\ to."
pattern: "[0-9A-Za-z]{1,13}"
type:
type: "string"
description: "An indication of the type of product offered through the gift\
\ card."
pattern: ".{1,50}"
description: "Product related data. This is the description of the gift card sold\
\ as a product at a retailer. This should not be confused with the products\
\ which form Items in a Basket."
RedemptionConfirmation:
type: "object"
required:
- "id"
- "requestId"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this advice, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
requestId:
type: "string"
description: "The UUID identifying the request that this advice relates to"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
thirdPartyIdentifiers:
type: "array"
description: "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."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
description: "Information about a gift card redemption to be confirmed."
RedemptionRequest:
type: "object"
required:
- "amounts"
- "card"
- "client"
- "id"
- "originator"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this transaction, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
originator:
description: "Data relating to the originator of the transaction."
$ref: "#/definitions/Originator"
client:
description: "Data relating to the sender of Transaction."
$ref: "#/definitions/Institution"
settlementEntity:
description: "Data relating to the entity with whom the Merchant will settle\
\ the transaction."
$ref: "#/definitions/Institution"
receiver:
description: "Data relating to the entity which ultimately processes the request."
$ref: "#/definitions/Institution"
thirdPartyIdentifiers:
type: "array"
description: "An array of identifiers which each identify the transaction\
\ within each entity's system."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
slipData:
description: "Text to be printed on the customer receipt."
$ref: "#/definitions/SlipData"
basketRef:
type: "string"
description: "Used to group multiple transactions which would otherwise be\
\ considered independent."
tranType:
type: "string"
description: "Data relating to the type of transaction taking place (i.e.\
\ cash withdrawal, goods and services etc.)."
enum:
- "GOODS_AND_SERVICES"
- "CASH_WITHDRAWAL"
- "DEBIT_ADJUSTMENT"
- "GOODS_AND_SERVICES_WITH_CASH_BACK"
- "NON_CASH"
- "RETURNS"
- "DEPOSIT"
- "CREDIT_ADJUSTMENT"
- "GENERAL_CREDIT"
- "AVAILABLE_FUNDS_INQUIRY"
- "BALANCE_INQUIRY"
- "GENERAL_INQUIRY"
- "CARD_VERIFICATION_INQUIRY"
- "CARDHOLDER_ACCOUNTS_TRANSFER"
- "GENERAL_TRANSFER"
- "PAYMENT_FROM_ACCOUNT"
- "GENERAL_PAYMENT"
- "PAYMENT_TO_ACCOUNT"
- "PAYMENT_FROM_ACCOUNT_TO_ACCOUNT"
- "PLACE_HOLD_ON_CARD"
- "GENERAL_ADMIN"
- "CHANGE_PIN"
- "CARD_HOLDER_INQUIRY"
- "POINTS_INQUIRY"
srcAccType:
type: "string"
description: "This specifies the type of source account being used in the\
\ transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
destAccType:
type: "string"
description: "This specifies the type of destination account being used in\
\ the transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
amounts:
description: "Specifies the amount which the gift card is being redeemed against."
$ref: "#/definitions/GiftcardAmounts"
card:
description: "Information about the gift card being used for redemption."
$ref: "#/definitions/Card"
posInfo:
description: "Information about the POS."
$ref: "#/definitions/PosInfo"
product:
description: "Information about the gift card product being used for redemption."
$ref: "#/definitions/Product"
basket:
description: "The collection of products for which the gift card is being\
\ redeemed."
$ref: "#/definitions/Basket"
points:
description: "Specifies the points amount which the gift card is being redeemed\
\ against."
$ref: "#/definitions/PointAmounts"
cardHolder:
description: "Information about the card holder."
$ref: "#/definitions/Customer"
description: "Information about the redemption being made on the gift card."
RedemptionResponse:
type: "object"
required:
- "card"
- "client"
- "id"
- "originator"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this transaction, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
originator:
description: "Data relating to the originator of the transaction."
$ref: "#/definitions/Originator"
client:
description: "Data relating to the sender of Transaction."
$ref: "#/definitions/Institution"
settlementEntity:
description: "Data relating to the entity with whom the Merchant will settle\
\ the transaction."
$ref: "#/definitions/Institution"
receiver:
description: "Data relating to the entity which ultimately processes the request."
$ref: "#/definitions/Institution"
thirdPartyIdentifiers:
type: "array"
description: "An array of identifiers which each identify the transaction\
\ within each entity's system."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
slipData:
description: "Text to be printed on the customer receipt."
$ref: "#/definitions/SlipData"
basketRef:
type: "string"
description: "Used to group multiple transactions which would otherwise be\
\ considered independent."
tranType:
type: "string"
description: "Data relating to the type of transaction taking place (i.e.\
\ cash withdrawal, goods and services etc.)."
enum:
- "GOODS_AND_SERVICES"
- "CASH_WITHDRAWAL"
- "DEBIT_ADJUSTMENT"
- "GOODS_AND_SERVICES_WITH_CASH_BACK"
- "NON_CASH"
- "RETURNS"
- "DEPOSIT"
- "CREDIT_ADJUSTMENT"
- "GENERAL_CREDIT"
- "AVAILABLE_FUNDS_INQUIRY"
- "BALANCE_INQUIRY"
- "GENERAL_INQUIRY"
- "CARD_VERIFICATION_INQUIRY"
- "CARDHOLDER_ACCOUNTS_TRANSFER"
- "GENERAL_TRANSFER"
- "PAYMENT_FROM_ACCOUNT"
- "GENERAL_PAYMENT"
- "PAYMENT_TO_ACCOUNT"
- "PAYMENT_FROM_ACCOUNT_TO_ACCOUNT"
- "PLACE_HOLD_ON_CARD"
- "GENERAL_ADMIN"
- "CHANGE_PIN"
- "CARD_HOLDER_INQUIRY"
- "POINTS_INQUIRY"
srcAccType:
type: "string"
description: "This specifies the type of source account being used in the\
\ transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
destAccType:
type: "string"
description: "This specifies the type of destination account being used in\
\ the transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
amounts:
description: "Indicates the amount which the gift card was being redeemed\
\ for, the amount which was redeemed and the balance of the gift card after\
\ redemption."
$ref: "#/definitions/GiftcardAmounts"
card:
description: "Information about the gift card being redeemed."
$ref: "#/definitions/Card"
posInfo:
description: "Information about the POS."
$ref: "#/definitions/PosInfo"
product:
description: "Information about the gift card product being redeemed."
$ref: "#/definitions/Product"
basket:
description: "The collection of products for which the gift card is being\
\ redeemed."
$ref: "#/definitions/Basket"
points:
description: "Specifies the points amount for the account the giftcard is\
\ associated with."
$ref: "#/definitions/PointAmounts"
cardHolder:
description: "Information about the card holder."
$ref: "#/definitions/Customer"
description: "Information about the redemption made on the gift card."
RedemptionReversal:
type: "object"
required:
- "id"
- "requestId"
- "reversalReason"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this advice, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
requestId:
type: "string"
description: "The UUID identifying the request that this advice relates to"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
thirdPartyIdentifiers:
type: "array"
description: "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."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
reversalReason:
type: "string"
description: "The reason for the reversal"
enum:
- "TIMEOUT"
- "CANCELLED"
- "RESPONSE_NOT_FINAL"
description: "Information about the gift card redemption being reversed."
ReplaceConfirmation:
type: "object"
required:
- "id"
- "requestId"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this advice, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
requestId:
type: "string"
description: "The UUID identifying the request that this advice relates to"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
thirdPartyIdentifiers:
type: "array"
description: "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."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
description: "Information about a gift card replace request to be confirmed."
ReplaceRequest:
type: "object"
required:
- "client"
- "id"
- "newCard"
- "oldCard"
- "originator"
- "thirdPartyIdentifiers"
- "time"
properties:
card:
$ref: "#/definitions/Card"
targetCard:
$ref: "#/definitions/Card"
id:
type: "string"
description: "The randomly generated UUID identifying this transaction, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
originator:
description: "Data relating to the originator of the transaction."
$ref: "#/definitions/Originator"
client:
description: "Data relating to the sender of Transaction."
$ref: "#/definitions/Institution"
settlementEntity:
description: "Data relating to the entity with whom the Merchant will settle\
\ the transaction."
$ref: "#/definitions/Institution"
receiver:
description: "Data relating to the entity which ultimately processes the request."
$ref: "#/definitions/Institution"
thirdPartyIdentifiers:
type: "array"
description: "An array of identifiers which each identify the transaction\
\ within each entity's system."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
slipData:
description: "Text to be printed on the customer receipt."
$ref: "#/definitions/SlipData"
basketRef:
type: "string"
description: "Used to group multiple transactions which would otherwise be\
\ considered independent."
tranType:
type: "string"
description: "Data relating to the type of transaction taking place (i.e.\
\ cash withdrawal, goods and services etc.)."
enum:
- "GOODS_AND_SERVICES"
- "CASH_WITHDRAWAL"
- "DEBIT_ADJUSTMENT"
- "GOODS_AND_SERVICES_WITH_CASH_BACK"
- "NON_CASH"
- "RETURNS"
- "DEPOSIT"
- "CREDIT_ADJUSTMENT"
- "GENERAL_CREDIT"
- "AVAILABLE_FUNDS_INQUIRY"
- "BALANCE_INQUIRY"
- "GENERAL_INQUIRY"
- "CARD_VERIFICATION_INQUIRY"
- "CARDHOLDER_ACCOUNTS_TRANSFER"
- "GENERAL_TRANSFER"
- "PAYMENT_FROM_ACCOUNT"
- "GENERAL_PAYMENT"
- "PAYMENT_TO_ACCOUNT"
- "PAYMENT_FROM_ACCOUNT_TO_ACCOUNT"
- "PLACE_HOLD_ON_CARD"
- "GENERAL_ADMIN"
- "CHANGE_PIN"
- "CARD_HOLDER_INQUIRY"
- "POINTS_INQUIRY"
srcAccType:
type: "string"
description: "This specifies the type of source account being used in the\
\ transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
destAccType:
type: "string"
description: "This specifies the type of destination account being used in\
\ the transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
oldCard:
description: "Information about the gift card that is being replaced."
$ref: "#/definitions/Card"
newCard:
description: "Information about the new gift card that will replace the old\
\ card."
$ref: "#/definitions/Card"
posInfo:
description: "Information about the POS."
$ref: "#/definitions/PosInfo"
product:
description: "Information about the gift card product being used for the gift\
\ card replace."
$ref: "#/definitions/Product"
cardHolder:
description: "Information about the card holder."
$ref: "#/definitions/Customer"
description: "Information about the replace request to switch an old card with\
\ a new card (Transfer funds out of and void old card)."
ReplaceResponse:
type: "object"
required:
- "amounts"
- "client"
- "id"
- "newCard"
- "oldCard"
- "originator"
- "thirdPartyIdentifiers"
- "time"
properties:
card:
$ref: "#/definitions/Card"
targetCard:
$ref: "#/definitions/Card"
id:
type: "string"
description: "The randomly generated UUID identifying this transaction, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
originator:
description: "Data relating to the originator of the transaction."
$ref: "#/definitions/Originator"
client:
description: "Data relating to the sender of Transaction."
$ref: "#/definitions/Institution"
settlementEntity:
description: "Data relating to the entity with whom the Merchant will settle\
\ the transaction."
$ref: "#/definitions/Institution"
receiver:
description: "Data relating to the entity which ultimately processes the request."
$ref: "#/definitions/Institution"
thirdPartyIdentifiers:
type: "array"
description: "An array of identifiers which each identify the transaction\
\ within each entity's system."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
slipData:
description: "Text to be printed on the customer receipt."
$ref: "#/definitions/SlipData"
basketRef:
type: "string"
description: "Used to group multiple transactions which would otherwise be\
\ considered independent."
tranType:
type: "string"
description: "Data relating to the type of transaction taking place (i.e.\
\ cash withdrawal, goods and services etc.)."
enum:
- "GOODS_AND_SERVICES"
- "CASH_WITHDRAWAL"
- "DEBIT_ADJUSTMENT"
- "GOODS_AND_SERVICES_WITH_CASH_BACK"
- "NON_CASH"
- "RETURNS"
- "DEPOSIT"
- "CREDIT_ADJUSTMENT"
- "GENERAL_CREDIT"
- "AVAILABLE_FUNDS_INQUIRY"
- "BALANCE_INQUIRY"
- "GENERAL_INQUIRY"
- "CARD_VERIFICATION_INQUIRY"
- "CARDHOLDER_ACCOUNTS_TRANSFER"
- "GENERAL_TRANSFER"
- "PAYMENT_FROM_ACCOUNT"
- "GENERAL_PAYMENT"
- "PAYMENT_TO_ACCOUNT"
- "PAYMENT_FROM_ACCOUNT_TO_ACCOUNT"
- "PLACE_HOLD_ON_CARD"
- "GENERAL_ADMIN"
- "CHANGE_PIN"
- "CARD_HOLDER_INQUIRY"
- "POINTS_INQUIRY"
srcAccType:
type: "string"
description: "This specifies the type of source account being used in the\
\ transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
destAccType:
type: "string"
description: "This specifies the type of destination account being used in\
\ the transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
amounts:
description: "Indicates the balance amount which now exists in the new card\
\ (balance from old card transferred to new card)."
$ref: "#/definitions/GiftcardAmounts"
oldCard:
description: "Information about the gift card being replaced."
$ref: "#/definitions/Card"
newCard:
description: "Information about the new gift card that will be used instead\
\ of the old replaced card."
$ref: "#/definitions/Card"
posInfo:
description: "Information about the POS."
$ref: "#/definitions/PosInfo"
product:
description: "Information about the gift card product being used for the giftcard\
\ replace operation."
$ref: "#/definitions/Product"
cardHolder:
description: "Information about the card holder."
$ref: "#/definitions/Customer"
description: "Information about the replace request made to switch an old card\
\ with a new card."
ReplaceReversal:
type: "object"
required:
- "id"
- "requestId"
- "reversalReason"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this advice, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
requestId:
type: "string"
description: "The UUID identifying the request that this advice relates to"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
thirdPartyIdentifiers:
type: "array"
description: "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."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
reversalReason:
type: "string"
description: "The reason for the reversal"
enum:
- "TIMEOUT"
- "CANCELLED"
- "RESPONSE_NOT_FINAL"
description: "Information about the gift card replace operation being reversed."
SlipData:
type: "object"
properties:
messageLines:
type: "array"
description: "An array of text lines and optional formatting to be printed\
\ on the customer slip."
items:
$ref: "#/definitions/SlipLine"
slipWidth:
type: "integer"
format: "int32"
description: "The width of the slip in normal (unformatted) characters."
issuerReference:
type: "string"
description: "An identifier that is printed on the customer slip and uniquely\
\ identifies the payment on the service provider's system. This value is\
\ used by the customer to request a refund when the service supports this\
\ function, and it is thus important that this number is unique."
pattern: "[A-Z0-9]{1,40}"
description: "Data that may be printed on the customer slip for information purposes"
SlipLine:
type: "object"
required:
- "text"
properties:
barcode:
description: "Barcode information for this line"
$ref: "#/definitions/Barcode"
text:
type: "string"
description: "Text contained on the line"
fontWidthScaleFactor:
type: "number"
format: "double"
description: "Scale factor for font width. Assume 1.0 (i.e. normal size) if\
\ not present."
fontHeightScaleFactor:
type: "number"
format: "double"
description: "Scale factor for font height. Assume 1.0 (i.e. normal size)\
\ if not present."
line:
type: "boolean"
description: "Denotes a solid line on the slip. Assume false if not present."
default: false
cut:
type: "boolean"
description: "Indicates the slip should be cut at this line. Assume false\
\ if not present."
default: false
description: "A line of text to be printed on the till slip"
Tender:
type: "object"
required:
- "amount"
- "tenderType"
properties:
accountType:
type: "string"
description: "The type of account"
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "STORED_VALUE"
amount:
description: "The tendered amount"
$ref: "#/definitions/LedgerAmount"
cardNumber:
type: "string"
description: "A PCI compliant masked card number, with at least the first\
\ 6 digits in the clear. Only applicable to card based transactions"
pattern: "[0-9]{6}[0-9*]{0,13}"
reference:
type: "string"
description: "A free text reference"
minLength: 0
maxLength: 40
tenderType:
type: "string"
description: "The type of tender used"
enum:
- "CASH"
- "CHEQUE"
- "CREDIT_CARD"
- "DEBIT_CARD"
- "WALLET"
- "ROUNDING"
- "GIFT_CARD"
- "LOYALTY_CARD"
- "OTHER"
description: "Details of the Tender used by a customer towards a payment"
ThirdPartyIdentifier:
type: "object"
required:
- "institutionId"
- "transactionIdentifier"
properties:
institutionId:
type: "string"
description: "The entity's institution ID."
transactionIdentifier:
type: "string"
description: "The identifier assigned to this transaction by the institution\
\ represented in institutionId. This value should be unique within the institution's\
\ system."
description: "An identifier assigned by an entity which process the message. Identifiers\
\ are keyed by institution ID thereby enabling any institution to recall a transaction\
\ within the entity's own system using the entity's own identifier. Entity's\
\ must not alter the identifier set by another entity. Once an identifier has\
\ been set by an entity, all other entity's must send that identifier in subsequent\
\ messages."
TransferConfirmation:
type: "object"
required:
- "id"
- "requestId"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this advice, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
requestId:
type: "string"
description: "The UUID identifying the request that this advice relates to"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
thirdPartyIdentifiers:
type: "array"
description: "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."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
description: "Information about a gift card transfer to be confirmed."
TransferRequest:
type: "object"
required:
- "amounts"
- "client"
- "id"
- "originator"
- "sourceCard"
- "targetCard"
- "thirdPartyIdentifiers"
- "time"
properties:
card:
$ref: "#/definitions/Card"
id:
type: "string"
description: "The randomly generated UUID identifying this transaction, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
originator:
description: "Data relating to the originator of the transaction."
$ref: "#/definitions/Originator"
client:
description: "Data relating to the sender of Transaction."
$ref: "#/definitions/Institution"
settlementEntity:
description: "Data relating to the entity with whom the Merchant will settle\
\ the transaction."
$ref: "#/definitions/Institution"
receiver:
description: "Data relating to the entity which ultimately processes the request."
$ref: "#/definitions/Institution"
thirdPartyIdentifiers:
type: "array"
description: "An array of identifiers which each identify the transaction\
\ within each entity's system."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
slipData:
description: "Text to be printed on the customer receipt."
$ref: "#/definitions/SlipData"
basketRef:
type: "string"
description: "Used to group multiple transactions which would otherwise be\
\ considered independent."
tranType:
type: "string"
description: "Data relating to the type of transaction taking place (i.e.\
\ cash withdrawal, goods and services etc.)."
enum:
- "GOODS_AND_SERVICES"
- "CASH_WITHDRAWAL"
- "DEBIT_ADJUSTMENT"
- "GOODS_AND_SERVICES_WITH_CASH_BACK"
- "NON_CASH"
- "RETURNS"
- "DEPOSIT"
- "CREDIT_ADJUSTMENT"
- "GENERAL_CREDIT"
- "AVAILABLE_FUNDS_INQUIRY"
- "BALANCE_INQUIRY"
- "GENERAL_INQUIRY"
- "CARD_VERIFICATION_INQUIRY"
- "CARDHOLDER_ACCOUNTS_TRANSFER"
- "GENERAL_TRANSFER"
- "PAYMENT_FROM_ACCOUNT"
- "GENERAL_PAYMENT"
- "PAYMENT_TO_ACCOUNT"
- "PAYMENT_FROM_ACCOUNT_TO_ACCOUNT"
- "PLACE_HOLD_ON_CARD"
- "GENERAL_ADMIN"
- "CHANGE_PIN"
- "CARD_HOLDER_INQUIRY"
- "POINTS_INQUIRY"
srcAccType:
type: "string"
description: "This specifies the type of source account being used in the\
\ transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
destAccType:
type: "string"
description: "This specifies the type of destination account being used in\
\ the transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
amounts:
description: "Specifies the amount which is being transferred from a source\
\ giftcard to a target giftcard."
$ref: "#/definitions/GiftcardAmounts"
sourceCard:
description: "Information about the gift card that funds are being transferred\
\ from."
$ref: "#/definitions/Card"
targetCard:
description: "Information about the gift card that funds are being transferred\
\ to."
$ref: "#/definitions/Card"
posInfo:
description: "Information about the POS."
$ref: "#/definitions/PosInfo"
product:
description: "Information about the gift card product being used for the transfer."
$ref: "#/definitions/Product"
cardHolder:
description: "Information about the card holder."
$ref: "#/definitions/Customer"
description: "Information about the transfer being from a source gift card to\
\ a target gift card."
TransferResponse:
type: "object"
required:
- "amounts"
- "client"
- "id"
- "originator"
- "sourceCard"
- "targetCard"
- "thirdPartyIdentifiers"
- "time"
properties:
card:
$ref: "#/definitions/Card"
id:
type: "string"
description: "The randomly generated UUID identifying this transaction, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
originator:
description: "Data relating to the originator of the transaction."
$ref: "#/definitions/Originator"
client:
description: "Data relating to the sender of Transaction."
$ref: "#/definitions/Institution"
settlementEntity:
description: "Data relating to the entity with whom the Merchant will settle\
\ the transaction."
$ref: "#/definitions/Institution"
receiver:
description: "Data relating to the entity which ultimately processes the request."
$ref: "#/definitions/Institution"
thirdPartyIdentifiers:
type: "array"
description: "An array of identifiers which each identify the transaction\
\ within each entity's system."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
slipData:
description: "Text to be printed on the customer receipt."
$ref: "#/definitions/SlipData"
basketRef:
type: "string"
description: "Used to group multiple transactions which would otherwise be\
\ considered independent."
tranType:
type: "string"
description: "Data relating to the type of transaction taking place (i.e.\
\ cash withdrawal, goods and services etc.)."
enum:
- "GOODS_AND_SERVICES"
- "CASH_WITHDRAWAL"
- "DEBIT_ADJUSTMENT"
- "GOODS_AND_SERVICES_WITH_CASH_BACK"
- "NON_CASH"
- "RETURNS"
- "DEPOSIT"
- "CREDIT_ADJUSTMENT"
- "GENERAL_CREDIT"
- "AVAILABLE_FUNDS_INQUIRY"
- "BALANCE_INQUIRY"
- "GENERAL_INQUIRY"
- "CARD_VERIFICATION_INQUIRY"
- "CARDHOLDER_ACCOUNTS_TRANSFER"
- "GENERAL_TRANSFER"
- "PAYMENT_FROM_ACCOUNT"
- "GENERAL_PAYMENT"
- "PAYMENT_TO_ACCOUNT"
- "PAYMENT_FROM_ACCOUNT_TO_ACCOUNT"
- "PLACE_HOLD_ON_CARD"
- "GENERAL_ADMIN"
- "CHANGE_PIN"
- "CARD_HOLDER_INQUIRY"
- "POINTS_INQUIRY"
srcAccType:
type: "string"
description: "This specifies the type of source account being used in the\
\ transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
destAccType:
type: "string"
description: "This specifies the type of destination account being used in\
\ the transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
amounts:
description: "Indicates the amount which was being transferred from a source\
\ gift card to a target gift card, the amount which was transferred and\
\ the balance of the source gift card after the transfer"
$ref: "#/definitions/GiftcardAmounts"
sourceCard:
description: "Information about the gift card that funds are being transferred\
\ from."
$ref: "#/definitions/Card"
targetCard:
description: "Information about the gift card that funds are being transferred\
\ to."
$ref: "#/definitions/Card"
posInfo:
description: "Information about the POS."
$ref: "#/definitions/PosInfo"
product:
description: "Information about the gift card product being used for the transfer."
$ref: "#/definitions/Product"
cardHolder:
description: "Information about the card holder."
$ref: "#/definitions/Customer"
description: "Information about the transfer made from a source gift card to a\
\ target gift card."
TransferReversal:
type: "object"
required:
- "id"
- "requestId"
- "reversalReason"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this advice, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
requestId:
type: "string"
description: "The UUID identifying the request that this advice relates to"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
thirdPartyIdentifiers:
type: "array"
description: "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."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
reversalReason:
type: "string"
description: "The reason for the reversal"
enum:
- "TIMEOUT"
- "CANCELLED"
- "RESPONSE_NOT_FINAL"
description: "Information about the gift card transfer being reversed."
VoidConfirmation:
type: "object"
required:
- "id"
- "requestId"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this advice, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
requestId:
type: "string"
description: "The UUID identifying the request that this advice relates to"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
thirdPartyIdentifiers:
type: "array"
description: "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."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
description: "Information about a gift card void to be confirmed."
VoidRequest:
type: "object"
required:
- "card"
- "client"
- "id"
- "originator"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this transaction, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
originator:
description: "Data relating to the originator of the transaction."
$ref: "#/definitions/Originator"
client:
description: "Data relating to the sender of Transaction."
$ref: "#/definitions/Institution"
settlementEntity:
description: "Data relating to the entity with whom the Merchant will settle\
\ the transaction."
$ref: "#/definitions/Institution"
receiver:
description: "Data relating to the entity which ultimately processes the request."
$ref: "#/definitions/Institution"
thirdPartyIdentifiers:
type: "array"
description: "An array of identifiers which each identify the transaction\
\ within each entity's system."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
slipData:
description: "Text to be printed on the customer receipt."
$ref: "#/definitions/SlipData"
basketRef:
type: "string"
description: "Used to group multiple transactions which would otherwise be\
\ considered independent."
tranType:
type: "string"
description: "Data relating to the type of transaction taking place (i.e.\
\ cash withdrawal, goods and services etc.)."
enum:
- "GOODS_AND_SERVICES"
- "CASH_WITHDRAWAL"
- "DEBIT_ADJUSTMENT"
- "GOODS_AND_SERVICES_WITH_CASH_BACK"
- "NON_CASH"
- "RETURNS"
- "DEPOSIT"
- "CREDIT_ADJUSTMENT"
- "GENERAL_CREDIT"
- "AVAILABLE_FUNDS_INQUIRY"
- "BALANCE_INQUIRY"
- "GENERAL_INQUIRY"
- "CARD_VERIFICATION_INQUIRY"
- "CARDHOLDER_ACCOUNTS_TRANSFER"
- "GENERAL_TRANSFER"
- "PAYMENT_FROM_ACCOUNT"
- "GENERAL_PAYMENT"
- "PAYMENT_TO_ACCOUNT"
- "PAYMENT_FROM_ACCOUNT_TO_ACCOUNT"
- "PLACE_HOLD_ON_CARD"
- "GENERAL_ADMIN"
- "CHANGE_PIN"
- "CARD_HOLDER_INQUIRY"
- "POINTS_INQUIRY"
srcAccType:
type: "string"
description: "This specifies the type of source account being used in the\
\ transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
destAccType:
type: "string"
description: "This specifies the type of destination account being used in\
\ the transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
card:
description: "Information about the gift card being voided."
$ref: "#/definitions/Card"
posInfo:
description: "Information about the POS."
$ref: "#/definitions/PosInfo"
product:
description: "Information about the gift card product being voided."
$ref: "#/definitions/Product"
cardHolder:
description: "Information about the card holder."
$ref: "#/definitions/Customer"
description: "Information about the void of the gift card."
VoidResponse:
type: "object"
required:
- "card"
- "client"
- "id"
- "originator"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this transaction, as\
\ defined for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
originator:
description: "Data relating to the originator of the transaction."
$ref: "#/definitions/Originator"
client:
description: "Data relating to the sender of Transaction."
$ref: "#/definitions/Institution"
settlementEntity:
description: "Data relating to the entity with whom the Merchant will settle\
\ the transaction."
$ref: "#/definitions/Institution"
receiver:
description: "Data relating to the entity which ultimately processes the request."
$ref: "#/definitions/Institution"
thirdPartyIdentifiers:
type: "array"
description: "An array of identifiers which each identify the transaction\
\ within each entity's system."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
slipData:
description: "Text to be printed on the customer receipt."
$ref: "#/definitions/SlipData"
basketRef:
type: "string"
description: "Used to group multiple transactions which would otherwise be\
\ considered independent."
tranType:
type: "string"
description: "Data relating to the type of transaction taking place (i.e.\
\ cash withdrawal, goods and services etc.)."
enum:
- "GOODS_AND_SERVICES"
- "CASH_WITHDRAWAL"
- "DEBIT_ADJUSTMENT"
- "GOODS_AND_SERVICES_WITH_CASH_BACK"
- "NON_CASH"
- "RETURNS"
- "DEPOSIT"
- "CREDIT_ADJUSTMENT"
- "GENERAL_CREDIT"
- "AVAILABLE_FUNDS_INQUIRY"
- "BALANCE_INQUIRY"
- "GENERAL_INQUIRY"
- "CARD_VERIFICATION_INQUIRY"
- "CARDHOLDER_ACCOUNTS_TRANSFER"
- "GENERAL_TRANSFER"
- "PAYMENT_FROM_ACCOUNT"
- "GENERAL_PAYMENT"
- "PAYMENT_TO_ACCOUNT"
- "PAYMENT_FROM_ACCOUNT_TO_ACCOUNT"
- "PLACE_HOLD_ON_CARD"
- "GENERAL_ADMIN"
- "CHANGE_PIN"
- "CARD_HOLDER_INQUIRY"
- "POINTS_INQUIRY"
srcAccType:
type: "string"
description: "This specifies the type of source account being used in the\
\ transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
destAccType:
type: "string"
description: "This specifies the type of destination account being used in\
\ the transaction (i.e. cheque, savings)."
enum:
- "DEFAULT"
- "SAVINGS"
- "CHEQUE"
- "CREDIT"
- "UNIVERSAL"
- "ELECTRONIC_PURSE"
- "GIFT_CARD"
- "STORED_VALUE"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
amounts:
description: "Specifies the balance of the gift card when it was voided."
$ref: "#/definitions/GiftcardAmounts"
card:
description: "Information about the gift card being voided."
$ref: "#/definitions/Card"
posInfo:
description: "Information about the POS."
$ref: "#/definitions/PosInfo"
product:
description: "Information about the gift card product being voided."
$ref: "#/definitions/Product"
cardHolder:
description: "Information about the card holder."
$ref: "#/definitions/Customer"
description: "Information about the outcome of voiding process."
VoidReversal:
type: "object"
required:
- "id"
- "requestId"
- "reversalReason"
- "thirdPartyIdentifiers"
- "time"
properties:
id:
type: "string"
description: "The randomly generated UUID identifying this advice, as defined\
\ for a variant 4 UUID in [RFC 4122](https://tools.ietf.org/html/rfc4122)"
requestId:
type: "string"
description: "The UUID identifying the request that this advice relates to"
time:
type: "string"
format: "date-time"
description: "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](https://tools.ietf.org/html/rfc3339#section-5.6).\
\ It is recommended that the optional time-secfrac be included up to millisecond\
\ precision"
thirdPartyIdentifiers:
type: "array"
description: "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."
items:
$ref: "#/definitions/ThirdPartyIdentifier"
stan:
type: "string"
description: "The System Trace Audit Number can be used to locate transactions\
\ across different systems."
rrn:
type: "string"
description: "This is a reference set by the original source of the transaction."
reversalReason:
type: "string"
description: "The reason for the reversal"
enum:
- "TIMEOUT"
- "CANCELLED"
- "RESPONSE_NOT_FINAL"
description: "Information about the gift card void being reversed."