Woolworths Group · Schema

CancelRequest

CompanyRetailSupermarketsGroceryAustraliaNew ZealandE-Commerce

Properties

Name Type Description
transactionType object
createdDateTime object
auditNumber object
channel object
acquirerId object
transmissionDateTime object
conditionCode object
referenceNumber object
settlementDate object
isRetry object
keySerialNumber object
terminalCapabilityCode object
terminalClassificationCode object
securityLevelIndicator object
merchantChoiceRouting object
walletType object
walletSecurity object
walletAuthentication object
merchantInitiatedTransaction object
programProtocol object
paymentTokenData object
card object
merchant object
amount object
cancelTransactionIdentifiers object
schemeExtendedData object
terminalId object
View JSON Schema on GitHub

JSON Schema

woolworths-group-cancel-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/woolworths-group/main/json-schema/woolworths-group-cancel-request-schema.json",
  "title": "CancelRequest",
  "x-generated": "2026-10-22",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/woolworths-group-wpay-payment-openapi.yml#/components/schemas/CancelRequest",
  "type": "object",
  "required": [
    "transactionType",
    "channel",
    "createdDateTime",
    "transmissionDateTime",
    "auditNumber",
    "acquirerId",
    "conditionCode",
    "referenceNumber",
    "terminalId",
    "isRetry",
    "amount",
    "merchant",
    "card",
    "cancelTransactionIdentifiers"
  ],
  "properties": {
    "transactionType": {
      "$ref": "#/$defs/transactionTypeCancel"
    },
    "createdDateTime": {
      "$ref": "#/$defs/createdDateTime"
    },
    "auditNumber": {
      "$ref": "#/$defs/auditNumber"
    },
    "channel": {
      "$ref": "#/$defs/channel"
    },
    "acquirerId": {
      "$ref": "#/$defs/acquirerId"
    },
    "transmissionDateTime": {
      "$ref": "#/$defs/transmissionDateTime"
    },
    "conditionCode": {
      "$ref": "#/$defs/conditionCode"
    },
    "referenceNumber": {
      "$ref": "#/$defs/referenceNumber"
    },
    "settlementDate": {
      "$ref": "#/$defs/settlementDate"
    },
    "isRetry": {
      "$ref": "#/$defs/isRetry"
    },
    "keySerialNumber": {
      "$ref": "#/$defs/keySerialNumber"
    },
    "terminalCapabilityCode": {
      "$ref": "#/$defs/terminalCapabilityCode"
    },
    "terminalClassificationCode": {
      "$ref": "#/$defs/terminalClassificationCode"
    },
    "securityLevelIndicator": {
      "$ref": "#/$defs/securityLevelIndicator"
    },
    "merchantChoiceRouting": {
      "$ref": "#/$defs/merchantChoiceRouting"
    },
    "walletType": {
      "$ref": "#/$defs/walletType"
    },
    "walletSecurity": {
      "$ref": "#/$defs/walletSecurity"
    },
    "walletAuthentication": {
      "$ref": "#/$defs/walletAuthentication"
    },
    "merchantInitiatedTransaction": {
      "$ref": "#/$defs/merchantInitiatedTransaction"
    },
    "programProtocol": {
      "$ref": "#/$defs/programProtocol"
    },
    "paymentTokenData": {
      "$ref": "#/$defs/paymentTokenData"
    },
    "card": {
      "$ref": "#/$defs/RequestCardDetails"
    },
    "merchant": {
      "$ref": "#/$defs/RequestMerchantDetails"
    },
    "amount": {
      "$ref": "#/$defs/RequestAmount"
    },
    "cancelTransactionIdentifiers": {
      "$ref": "#/$defs/RequestReferencedTransactionIdentifiers"
    },
    "schemeExtendedData": {
      "$ref": "#/$defs/SchemeExtendedRequestData"
    },
    "terminalId": {
      "$ref": "#/$defs/terminalId"
    }
  },
  "$defs": {
    "Address": {
      "type": "object",
      "required": [
        "streetAddress",
        "city",
        "postcode",
        "countryCode",
        "state"
      ],
      "properties": {
        "streetAddress": {
          "type": "string",
          "description": "Street Address of the merchant"
        },
        "city": {
          "type": "string",
          "description": "Name of the City"
        },
        "state": {
          "type": "string",
          "description": "When country is AUS, state should be one of the allowed values. When country is NZ and Card Issuer is AMEX then the three letter NZ Region code should be passed as a string.",
          "enum": [
            "ACT",
            "VIC",
            "NSW",
            "QLD",
            "TAS",
            "SA",
            "NT",
            "WA"
          ]
        },
        "postcode": {
          "type": "string",
          "description": "PostCode of the Merchant",
          "pattern": "^[0-9]+$",
          "minLength": 1,
          "maxLength": 10
        },
        "countryCode": {
          "type": "string",
          "description": "Country Code",
          "enum": [
            "AUS",
            "NZ"
          ]
        }
      }
    },
    "RequestAmount": {
      "type": "object",
      "required": [
        "totalAmount"
      ],
      "properties": {
        "cashOutAmount": {
          "type": "integer",
          "description": "Total cashout in the transaction if it exists. ",
          "maximum": 999999999999
        },
        "tipAmount": {
          "type": "integer",
          "description": "Total tip amount in the transaction if it exists. ",
          "maximum": 999999999999
        },
        "surChargeAmount": {
          "type": "integer",
          "description": "Total surcharge amount in the transaction if it exists. ",
          "maximum": 99999999
        },
        "totalAmount": {
          "type": "integer",
          "description": "Total amount inclusive of all fields above if they exist.",
          "minimum": 1,
          "maximum": 999999999999
        },
        "currency": {
          "type": "string",
          "description": "Three Characters long currency code.",
          "enum": [
            "AUD",
            "NZD"
          ]
        }
      }
    },
    "RequestCardDetails": {
      "type": "object",
      "required": [
        "accountType",
        "entryMode"
      ],
      "properties": {
        "primaryAccountNumber": {
          "type": "string",
          "description": "This element is required in the request messages if entryMode indicates manually keyed PAN which is inbetween 14-19 digits.",
          "pattern": "^[0-9]{14,19}$",
          "minLength": 14,
          "maxLength": 19
        },
        "cardExpiryDate": {
          "type": "string",
          "description": "Expiry date of the card if available and manually entered PAN. It should be in 'YYMM' format.",
          "pattern": "^[0-9]{2}(0[1-9]|1[0-2])$",
          "minLength": 4,
          "maxLength": 4
        },
        "ccv": {
          "type": "string",
          "description": "The card check value is usually a three or four digit number printed on the signature panel of most scheme cards. If the terminal supports, and is configured for, the entry of a card check value and the card has one, the value must be placed in this sub field. It should be in CCVxxxxxx format where x ccv digits which  is typically three digits in length, although there is no standard length defined.",
          "pattern": "^[0-9]{1,8}$",
          "minLength": 1,
          "maxLength": 8
        },
        "cci": {
          "type": "string",
          "description": "The card check indicator is used as CCV presence indicator. It is provided by the card acceptor to indicate that the CCV value is on the card. The field may be distinguished by the following code:- ‘CCIn\\’    where ‘n’ can contain the following values:-\n\n\n  \n| Values        | Description            | \n| ---------------- | -------------------------------------------------|\n| 0          |CCV value is deliberately bypassed or is not provided by the merchant                    | \n| 1           | CCV value is present       | \n| 2         | CCV value is on the card but is illegible                | \n| 9           |Cardholder states that the card has no CCV imprint  |",
          "enum": [
            "0",
            "1",
            "2",
            "9"
          ]
        },
        "cardCheckType": {
          "type": "boolean",
          "description": "The card check type is used as the CCV Response Type. It is provided by the card acceptor to indicate the type of response to be returned, \"true\" to indicate normal response code in outcome followed by additional response data related to the ccv whreas \"false\" to indicate only normal response code and message is required in outcome elements."
        },
        "cardSequenceNumber": {
          "type": "string",
          "description": "This element is used to distinguish between two distinct cards with the same primary account number and is applicable if it is emv related transaction.",
          "pattern": "^[0-9]{1,6}$",
          "minLength": 1,
          "maxLength": 6
        },
        "track2Data": {
          "type": "string",
          "description": "This element is conditional. It is only present if the card has been swiped through the PINpad’s card reader or if Track-2 data is sent to the PINpad in the transaction request using ‘POS Swiped’ mode. If this field is present, then the primaryAccountNumber, field and expiryDate are NOT required.",
          "maxLength": 999
        },
        "emvData": {
          "type": "string",
          "description": "Hexadecimal string. This element is used to transport the ICC related data between the Card-terminal and interchange partner. This field has been defined as the support required Visa and MasterCard EMV. This field will now also be provided for EPAL transactions with account types of CHQ or SAV. emvData shall be ‘TLV’ encoded and shall contain the information (mandatory and conditional). emvData Tags may not be in the order specified below. emv not present in Refund and Deposit transactions. emvData in a reversal shall be based on emvData from the original PURCHASE message. This field is required for  \"CASHOUT\" transaction type and for store and forward (SAF) transactions.",
          "maxLength": 999
        },
        "accountType": {
          "type": "string",
          "description": "Type of account used in the request.\n\n\n<br>**The table below defines the pre-defined values of <i> Account Type </i> that API will accept**\n  \n| accountType        |  Description                                      | \n| ------------------ |  -------------------------------------------------|\n| CREDIT             |  Credit account                               | \n| SAVING             |  Debit account                                       | \n| CHECK              |  Check account                                    | \n| DEFAULT            |  Default account       | ",
          "enum": [
            "CREDIT",
            "SAVING",
            "CHECK",
            "DEFAULT"
          ]
        },
        "pinBlock": {
          "type": "string",
          "description": "ISO format 4 encrypted Pin Block. This field is required for  \"CASHOUT\" transaction type. This information isn't needed for advice messages like Captures and Reversals. If included, it will be removed before reaching the switch.",
          "pattern": "^[0-9A-F]{32}$",
          "minLength": 32,
          "maxLength": 32
        },
        "faultyCardRead": {
          "type": "boolean",
          "description": "This indicates the primary read interface failed with this card. The flag should be set \"true\" for EMV Technical Fallback due to chip failure."
        },
        "entryMode": {
          "type": "string",
          "description": "This is a 3-digit field.  The first two describe the method that was used to enter the PAN. They             may also indicate whether previous ICC reads were successful or not.  The third digit describes             whether there was PIN entry capability for the transaction (No PINpad, PIN Entry Capability). Only values `021`, `051`, `071` or `621` are supported for CASHOUT and store-and-forward (SAF) transactions.\n\n\n| Values        | Description            | \n| ---------------- | -------------------------------------------------|\n| 011         |Manually Keyed PAN, PIN Entry Capability (PINpad Keyed)                   | \n| 012         | Manually Keyed PAN, No PIN Entry Capability (POS Keyed)       | \n| 021         | Mag Stripe Read, PIN Entry Capability                | \n| 051         |Contact ICC Read, PIN Entry Capability  |\n| 621         |Mag Stripe Read, Last ICC Read Failed, PIN Entry Capability (Technical Fallback)  |\n| 071         |Contactless EMV Read, PIN Entry Capability  |\n| 911         |Contactless MSD Read, PIN Entry Capability  |\n|073         | Contactless EMV Read,Software-based PIN Entry Capability (SPoC) and Off the Shelf Mobile Device",
          "enum": [
            "011",
            "012",
            "021",
            "051",
            "621",
            "071",
            "911",
            "073"
          ]
        },
        "paymentAccountReference": {
          "type": "string",
          "description": "This field contains the (Payment Account Reference) assigned by the BIN Controller to each unique PAN to link transactions initiated by the PAN and any affiliated Payment Tokens ",
          "pattern": "^[0-9A-Z]{29}$",
          "minLength": 29,
          "maxLength": 29
        }
      }
    },
    "RequestMerchantDetails": {
      "type": "object",
      "required": [
        "tradingName",
        "merchantId",
        "groupName",
        "address"
      ],
      "properties": {
        "tradingName": {
          "type": "string",
          "description": "Merchant Trading Name",
          "minLength": 1,
          "maxLength": 35
        },
        "merchantId": {
          "type": "string",
          "description": "Merchant ID",
          "minLength": 1,
          "maxLength": 15
        },
        "groupName": {
          "type": "string",
          "description": "Name of a group if a merchant is part of a group.",
          "minLength": 1,
          "maxLength": 40
        },
        "categoryCode": {
          "type": "string",
          "description": "Assigned Merchant Type/Business Type",
          "pattern": "^[0-9]{4}$",
          "minLength": 4,
          "maxLength": 4
        },
        "mcMaid": {
          "type": "string",
          "description": "Deprecated. For current integrations, value is fetched from the merchant configuration and any value passed during the API call is ignored. This is a Mastercard field used to identify if a merchant qualifies for preferential routing. This value is a 6-digit numeric assigned by Mastercard.   It is 6 digit number assigned by Mastercard.",
          "pattern": "^[0-9]{6}$",
          "minLength": 6,
          "maxLength": 6
        },
        "visaMvv": {
          "type": "string",
          "description": "Deprecated. For current integrations, value is fetched from the merchant configuration and any value passed during the API call is ignored. This is a Visa field used to identify if a merchant qualifies for preferential routing.  This value is a 10-digit numeric assigned by Visa.",
          "pattern": "^[0-9]{10}$",
          "minLength": 10,
          "maxLength": 10
        },
        "eftposCode": {
          "type": "string",
          "description": "Deprecated. For current integrations, value is fetched from the merchant configuration and any value passed during the API call is ignored. This is required for EFTPOS transactions. It is an EFTPOS interchange fee code issued by Wpay to merchants during onboarding. This is a numeric value that can contain up to 8 digits.",
          "pattern": "^[0-9]{1,8}$",
          "maxLength": 8
        },
        "address": {
          "$ref": "#/$defs/Address"
        }
      }
    },
    "RequestReferencedTransactionIdentifiers": {
      "type": "object",
      "description": "This element is used to identify the original transaction which is to be cancelled.",
      "required": [
        "originalTransactionType",
        "originalAuditNumber",
        "originalTransmissionDateTime"
      ],
      "properties": {
        "originalTransactionType": {
          "type": "string",
          "description": "Type of transaction of original request",
          "enum": [
            "PURCHASE",
            "PREAUTH",
            "CAPTURE",
            "REFUND",
            "VOID",
            "CANCEL",
            "CASHOUT"
          ]
        },
        "originalAuditNumber": {
          "type": "string",
          "description": "Unique number assigned to identify a transaction at a given terminal. It should remain unchanged             throughout the life of a transaction needs to be same as the original request. The value \"000000\" is not permitted.",
          "pattern": "^[0-9]{6}$",
          "minLength": 6,
          "maxLength": 6
        },
        "originalTransmissionDateTime": {
          "type": "string",
          "description": "Original Date and time of the transaction when it was initiated.",
          "format": "date-time"
        },
        "originalSchemeTraceId": {
          "type": "string",
          "description": "schemeTraceId is a unique identifier provided by the schemes to authorise a request. Visa refer to this as a transaction identifier, while Mastercard refer to it as a trace identifier.  ANZ will call it a transaction ID. We will return this in the schemeTraceid element to the merchant in the response. This element will be provided in subsequent  CAPTURE and CANCEL requests to link the transactions to the previous or original transaction. It will be in \"yyxxxxxxxxxxxxx\" where 'yy' can be VI for Visa, MC for MasterCard and 'x' is the trace id number.",
          "maxLength": 34
        }
      }
    },
    "SchemeExtendedRequestData": {
      "description": "This element is used to provide additional data about the transaction. This element is optional and can be used to provide additional information about the transaction.",
      "type": "object",
      "properties": {
        "mastercardTransactionLinkId": {
          "type": "string",
          "description": "Mastercard Transaction Link Identifier (TLID); a 22-character long alphanumeric identifier used by Mastercard to link different events in the lifecycle of a transaction. If you received a TLID in an authorisation or sale response, provide it for subsequent operations on the same transaction such as a completion or void.",
          "pattern": "^[a-zA-Z0-9_-]+$",
          "maxLength": 22,
          "minLength": 22
        }
      }
    },
    "acquirerId": {
      "type": "string",
      "description": "ID of the acqurier",
      "pattern": "^[0-9]{8}$",
      "maxLength": 8,
      "minLength": 8
    },
    "auditNumber": {
      "type": "string",
      "description": "System trace audit number. Unique number assigned to identify a transaction at a given terminal. It should remain unchanged throughout the life of a transaction. It should be between \"000001-999999\". The value \"000000\" is not permitted.",
      "pattern": "^[0-9]{6}$",
      "maxLength": 6,
      "minLength": 6
    },
    "channel": {
      "type": "string",
      "description": "Sale channel \"ONLINE\" or \"INSTORE\". Use ONLINE for all card not present transactions and INSTORE for all card present transactions. This value must be \"INSTORE\" for Transaction Type CASHOUT",
      "enum": [
        "ONLINE",
        "INSTORE"
      ]
    },
    "conditionCode": {
      "type": "string",
      "description": "The 2-digit Point of Service (POS) condition code identifies how a transaction is presented to the terminal. The only values supported are:\n\n| Values          | Description            | \n| --------------- |-------------------------------------------------|\n| 08              |Moto order                   | \n| 15              | Customer Terminal, or OEM (except refund)       | \n| 48              | Electronic Commerce, scheme token or OEM(refund only)                | \n| 42              | Electronic Payment terminal or standalone application                | ",
      "enum": [
        "08",
        "15",
        "48",
        "42"
      ]
    },
    "createdDateTime": {
      "type": "string",
      "description": "It should always be the local date and time stamp when the transaction was initiated. This should be in 24 hrs format.",
      "format": "date-time",
      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T([0-9]{2}:){2}[0-9]{2}.[0-9]{3}$",
      "maxLength": 24,
      "minLength": 24
    },
    "isRetry": {
      "type": "boolean",
      "description": "This element indicates if it is a retry of previous cancel request",
      "default": false
    },
    "keySerialNumber": {
      "type": "string",
      "description": "AES DUKPT Key Serial Number",
      "pattern": "^[0-9A-F]{26}$",
      "maxLength": 26,
      "minLength": 26
    },
    "merchantChoiceRouting": {
      "type": "boolean",
      "description": "Merchant Choice Routing should be 'true' if routing is performed by the merchant. It is required by EFTPOS to indicate that a transaction has been diverted form its normal route by the merchant/partner's choice routing mechanism"
    },
    "merchantInitiatedTransaction": {
      "type": "string",
      "description": "Merchant Initiated Transacton (MIT) is used by the merchant to indicate to the acquirer the reason for the merchant to initiate the transaction.  It will specify the type of industry practice or standing instruction that triggered the transaction. One of the following values:\n\n| Values        | Description            | \n| ---------------- |  -------------------------------------------------|\n| 01          |Re-authorisation                    | \n| 02           | Unscheduled    | \n| 03         | Recurring                | \n| 04           | Instalment|\n| 05         | Re-submission|\n| 06         | Delayed |\n| 07        | No Show|\n ",
      "enum": [
        "01",
        "02",
        "03",
        "04",
        "05",
        "06",
        "07"
      ]
    },
    "paymentTokenData": {
      "type": "string",
      "description": "Applicable to EFTPOS debit accounts. The payment token data are used to transmit information that is specific to the use of a Payment token in a financial or non-financial transaction. It is formed as a serie of TLV (Tag, Length, value) individual data objects where: T = 3-digit numeric encoded as 3 ASCII digits L = 3-digit length (represented as number of bytes) of following variable value (exclusive of the tag ID and length indicators) encoded as 3 ASCII digits V = variable value.  Tags may be present in any order.",
      "maxLength": 999
    },
    "programProtocol": {
      "type": "string",
      "description": "This element indicates the Program Protocol for eCommerce 3DS transactions. If this is passed as 2.2.0 then its version is identified as version 2 and if it is not passed in the request then it is identified as version 1 in the switch. ",
      "enum": [
        "2.2.0"
      ]
    },
    "referenceNumber": {
      "type": "string",
      "description": "This field will be present in all Financial Request messages from Webpay.  It remains unchanged              for all messages throughout the life of a transaction (except refund transaction), for example,             PURCHASE -> RESPONSE -> CANCEL-> RESPONSE all have the same Retrieval Reference Number (RRN).  In refund                 transaction, use system trace audit number (or STAN) to populate this field. Above logic can be overridden when retrieval reference number is provided from the request. The receipt number is right justified and left zero filled within this field. It is expected the content of this field should follow the following  (ydddhhnnnnnn. •  yddd (positions 1-4) is the year and day of year, y=0-9,ddd=001-366 •  hh (position 5-6) is the hours value. •  nnnnn (position 7-12) is the value from auditNumber.",
      "pattern": "^[0-9]{12}$",
      "maxLength": 12,
      "minLength": 12
    },
    "securityLevelIndicator": {
      "type": "string",
      "description": "This indicator is mandatory where the ECM tag value starts with ‘3’ or ‘4’, otherwise this tag shall not be present. The Security Level Indicator is used with the electronic Commerce indicator. It identifies the leve of security used over an open network (e.g. the Internet). One of the following:-\n\n  \n| Values        | Description            | \n| ---------------- | -------------------------------------------------|\n| 00          |Not Applicable                      | \n| 01 -04           | Reserved for future use       | \n| 05         | Authenticated secure electronic commerce transaction                | \n| 06           | No-authenticated secure electronic Commerce transaction where merchant is certified to perform authentication |\n| 07         | Authenticated secure electronic commerce transaction where authentication cannot be performed. Other security mechanisms may be present e.g. channel encryption |\n| 08         | Non-secure transaction in the clear over an open network |",
      "enum": [
        "00",
        "05",
        "06",
        "07",
        "08"
      ]
    },
    "settlementDate": {
      "type": "string",
      "description": "Optional. It contains the acquirer's business (settlement) date which is in \"MMDD\" format, where MM is 01-12 and DD is 01-31.",
      "pattern": "^(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])$",
      "maxLength": 4,
      "minLength": 4
    },
    "terminalCapabilityCode": {
      "type": "string",
      "description": "Terminal Capability Code. One of the following values:-\n\n   \n| Values        | Description            | \n| ---------------- | -------------------------------------------------|\n| 00          |Unknown                     | \n| 01           | Magenetic stripe reader      | \n| 03          | Magnetic stripe and Contact ICC reader              | \n| 04           | Contactless ICC reader |\n| 05           | Magnetic stripe, Contactless ICC readers |\n| 06           | Contact and Contactless ICC readers |\n| 07          | Magnetic stripe, Contact and Contactless ICC readers              | ",
      "enum": [
        "00",
        "01",
        "03",
        "04",
        "05",
        "06",
        "07"
      ]
    },
    "terminalClassificationCode": {
      "type": "string",
      "description": "mPOS terminal classification code representing the type of the mPOS terminal. One of the following values:-\n\n   \n| Values | Description | \n| ------ | -------------------------------------------------|\n| AC | Mobile point-of-sale (mPOS) accessory/dongle with contact and contactless interfaces, with or without PIN pad | \n| AS | mPOS accessory/dongle with contact and contactless interfaces and PIN on glass support (Software-based PIN on commercial of the shelf (COTS)) | \n| CC | Contactless payment on COTS (CPoC) - mobile device based contactless only mPOS without PIN support | \n| CS | CPoC - mobile device based contactless only mPOS with PIN on glass support. |\n ",
      "enum": [
        "AC",
        "AS",
        "CC",
        "CS"
      ]
    },
    "terminalId": {
      "type": "string",
      "description": "ID of Pinpad Terminal",
      "pattern": "^[A-Z0-9]{1,16}$",
      "minLength": 1,
      "maxLength": 16
    },
    "transactionTypeCancel": {
      "type": "string",
      "description": "Type of message request.\n\n\n**The table below lists the supported transaction types**\n\n| transactionType  | Description                                      | \n| ---------------- | -------------------------------------------------|\n| CANCEL           | To send a reversal request                        |\n| VOID             | To  Void a PREAUTH transaction                   |\n",
      "enum": [
        "CANCEL",
        "VOID"
      ]
    },
    "transmissionDateTime": {
      "type": "string",
      "description": "Date and time stamp of the transaction when initiated for transmission. GMT time zone is recommended. Trailing Character Z to be passed if date-time is sent in GMT",
      "format": "date-time",
      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T([0-9]{2}:){2}[0-9]{2}.[0-9]{3}Z$",
      "maxLength": 24,
      "minLength": 24
    },
    "walletAuthentication": {
      "type": "string",
      "description": "<b>Required</b> when `walletType` is present and the transaction is eCommerce originated. One of the following:\n\n  \n| Values        | Description            | \n| ------------- | -------------------------------------------------|\n| 0          |  Cardholder authentication is not supported by the merchant or merchant has chosen not to undertake 3D Secure on this transaction.                 | \n| 1          | Cardholder authentication is supported by the merchant, and attempted authentication data is present.      | \n| 2         | Cardholder authentication is supported by the merchant, and full authentication data is present.              | \n| 3          | Cardholder authentication is supported by the merchant, and Static Accountholder Authentication Value data is present. | \n| 6         | Merchant Risk Based decision |\n| 7         | Partial shipment or recurring payment. Liability will depend on the original authentication values provided and matching with the initial transaction. |",
      "enum": [
        "0",
        "1",
        "2",
        "3",
        "6",
        "7"
      ]
    },
    "walletSecurity": {
      "type": "string",
      "description": "<b>Required</b> when `walletType` is present and the transaction is eCommerce originated. One of the following:\n\n  \n| Values        | Description            | \n| ------------- | -------------------------------------------------|\n| 0          |  Filler                 | \n| 1          | Commerce/3D Secure       | \n| 2         | Processed through MasterPass              | \n| 4          | Digital Secure Remote Payment (DSRP) with Card Authentication data |\n",
      "enum": [
        "0",
        "1",
        "2",
        "4"
      ]
    },
    "walletType": {
      "type": "string",
      "description": "walletType is included on request messages involving a wallet provider. One of the following:\n\n  \n| Values        | Description            | \n| ------------- | -------------------------------------------------|\n| AP          |Apple Pay                    | \n| NP          | Android Pay       | \n| SP         | Samsung Pay               | \n| MR          | MasterPass Remote|\n| VC          | Visa Checkout |\n| VO          | Visa COF token |\n| MD          | MDES merchant wallet program  |\n| AX          | Amex      |",
      "enum": [
        "AP",
        "NP",
        "SP",
        "MR",
        "VC",
        "VO",
        "MD",
        "AX"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/woolworths-group-cancel-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.