{
  "openapi": "3.0.1",
  "info": {
    "title": "Card Payments",
    "description": "Take online payments with our Card Payments API.\n\n__Authentication header__\n  ```\n    Authorization: {your_credentials}\n  ```\nReplace `{your_credentials}` with your base64-encoded Basic Auth username and password given to your by your Implementation Manager.\n<br /> <br />\n\nYou **must** use the `Authorization` header for any request you send to our Card Payments API.\n\n__Accept/Content-Type header__\n  ```\n  Content-Type: application/vnd.worldpay.payments-v7+json\n  Accept: application/vnd.worldpay.payments-v7+json\n  ```\nWe use the Accept header to identify which version of our API you are using. You must use the Accept header for any request you send to our Card Payments API.\n\nWe require the Content-Type header if the request you're sending includes a request body, and if the HTTP method is a `POST` or a `PUT`.\n<br /><br />\n\n\n__DNS whitelisting__  \nWhitelist the following URLs:\n* `https://try.access.worldpay.com/`\n* `https://access.worldpay.com/`\n\nPlease ensure you use DNS whitelisting, not explicit IP whitelisting.",
    "version": "7",
    "x-metadata": {
      "category": [
        "Card Payments",
        "Wallets"
      ],
      "business": [
        "Enterprise",
        "Marketplaces"
      ],
      "catalog-list": true,
      "generated": false
    }
  },
  "servers": [
    {
      "url": "https://try.access.worldpay.com",
      "description": "Test (Try)"
    },
    {
      "url": "https://access.worldpay.com",
      "description": "Live"
    }
  ],
  "paths": {
    "/cardPayments/customerInitiatedTransactions": {
      "post": {
        "summary": "Take a card payment",
        "description": "Take online card payments using our Card Payments API.",
        "operationId": "authorize",
        "parameters": [
          {
            "in": "header",
            "name": "Content-Type",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          },
          {
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.worldpay.payments-v7+json": {
              "schema": {
                "$ref": "#/components/schemas/customerInitiatedTransaction"
              },
              "examples": {
                "Card payment authorization": {
                  "description": "Payment authorization for GBP 2.50",
                  "value": {
                    "transactionReference": "Memory265-13/08/1876",
                    "merchant": {
                      "entity": "default"
                    },
                    "instruction": {
                      "requestAutoSettlement": {
                        "enabled": false
                      },
                      "narrative": {
                        "line1": "MindPalace"
                      },
                      "value": {
                        "currency": "GBP",
                        "amount": 250
                      },
                      "paymentInstrument": {
                        "type": "card/plain",
                        "cardNumber": "4444333322221111",
                        "expiryDate": {
                          "month": 5,
                          "year": 2035
                        }
                      }
                    },
                    "channel": "ecom"
                  }
                },
                "Card payment authorization with all optional fields": {
                  "description": "Payment authorization for GBP 2.50 with all optional fields",
                  "value": {
                    "transactionReference": "transaction-ref",
                    "merchant": {
                      "entity": "default",
                      "mcc": "1234",
                      "paymentFacilitator": {
                        "schemeId": "12345",
                        "independentSalesOrganizationId": "12345",
                        "subMerchant": {
                          "name": "Merchant Plc",
                          "reference": "12345",
                          "address": {
                            "postalCode": "SW1 1AA",
                            "street": "Regent Street",
                            "city": "London",
                            "countryCode": "GB",
                            "state": "CA"
                          },
                          "taxReference": "12345",
                          "phoneNumber": "0123456789",
                          "email": "test@email.com",
                          "url": "developer.worldpay.com"
                        }
                      }
                    },
                    "instruction": {
                      "requestAutoSettlement": {
                        "enabled": false
                      },
                      "consumerBillPayment": true,
                      "debtRepayment": true,
                      "narrative": {
                        "line1": "trading name",
                        "line2": "order number"
                      },
                      "value": {
                        "currency": "GBP",
                        "amount": 250,
                        "estimated": true,
                        "acceptPartialAmount": true
                      },
                      "paymentInstrument": {
                        "type": "card/plain",
                        "cardNumber": "4444333322221111",
                        "expiryDate": {
                          "month": 12,
                          "year": 2024
                        },
                        "cardHolderName": "John Appleseed",
                        "billingAddress": {
                          "address1": "address line 1",
                          "address2": "address line 2",
                          "address3": "address line 3",
                          "city": "city",
                          "state": "state",
                          "postalCode": "12345",
                          "countryCode": "IT"
                        },
                        "cvc": "123"
                      }
                    },
                    "riskProfile": "https://try.access.worldpay.com/riskProfile/",
                    "channel": "ecom"
                  }
                },
                "Card payment authorization using 3DS2 authentication": {
                  "description": "Payment authorization for GBP 2.50 using 3DS2 authentication",
                  "value": {
                    "transactionReference": "Memory265-13/08/1876",
                    "merchant": {
                      "entity": "default"
                    },
                    "instruction": {
                      "requestAutoSettlement": {
                        "enabled": false
                      },
                      "narrative": {
                        "line1": "MindPalace"
                      },
                      "value": {
                        "currency": "GBP",
                        "amount": 250
                      },
                      "paymentInstrument": {
                        "type": "card/plain",
                        "cardNumber": "4444333322221111",
                        "expiryDate": {
                          "month": 5,
                          "year": 2035
                        }
                      }
                    },
                    "channel": "ecom",
                    "authentication": {
                      "threeDS": {
                        "version": "2.2.0",
                        "eci": "05",
                        "authenticationValue": "kBNHXUAy4+HT1gAMBSDajheBcxQh",
                        "transactionId": "c5b808e7-1de1-4069-a17b-f70d3b3b1645"
                      }
                    }
                  }
                },
                "Card payment with a request to store card details": {
                  "description": "Payment authorization with a request to store card on file",
                  "value": {
                    "transactionReference": "Memory265-13/08/1876",
                    "merchant": {
                      "entity": "default"
                    },
                    "instruction": {
                      "requestAutoSettlement": {
                        "enabled": false
                      },
                      "narrative": {
                        "line1": "MindPalace"
                      },
                      "value": {
                        "currency": "GBP",
                        "amount": 250
                      },
                      "paymentInstrument": {
                        "type": "card/plain",
                        "cardNumber": "4444333322221111",
                        "expiryDate": {
                          "month": 5,
                          "year": 2035
                        },
                        "cvc": "123"
                      },
                      "customerAgreement": {
                        "type": "cardOnFile",
                        "storedCardUsage": "first"
                      }
                    },
                    "channel": "ecom"
                  }
                },
                "Tokenized card payment authorization": {
                  "description": "Tokenized card payment authorization",
                  "value": {
                    "transactionReference": "Memory265-13/08/1876",
                    "merchant": {
                      "entity": "default"
                    },
                    "instruction": {
                      "requestAutoSettlement": {
                        "enabled": false
                      },
                      "narrative": {
                        "line1": "MindPalace"
                      },
                      "value": {
                        "currency": "GBP",
                        "amount": 250
                      },
                      "paymentInstrument": {
                        "type": "card/token",
                        "href": "https://try.access.worldpay.com/tokens"
                      }
                    },
                    "channel": "ecom"
                  }
                },
                "Network token payment authorization": {
                  "description": "Network token payment authorization",
                  "value": {
                    "transactionReference": "Memory265-13/08/1876",
                    "merchant": {
                      "entity": "default"
                    },
                    "instruction": {
                      "requestAutoSettlement": {
                        "enabled": false
                      },
                      "narrative": {
                        "line1": "MindPalace"
                      },
                      "value": {
                        "currency": "GBP",
                        "amount": 250
                      },
                      "paymentInstrument": {
                        "type": "card/networkToken",
                        "tokenNumber": "4444333322221111",
                        "expiryDate": {
                          "month": 5,
                          "year": 2035
                        }
                      }
                    },
                    "channel": "ecom",
                    "authentication": {
                      "networkToken": {
                        "cryptogram": "BLIYQ4EA/wLF4/hK9ABFMAABAAA=",
                        "eci": "05"
                      }
                    }
                  }
                },
                "Checkout payment authorization": {
                  "description": "Checkout authorization for GBP 2.50",
                  "value": {
                    "transactionReference": "Memory265-13/08/1876",
                    "merchant": {
                      "entity": "default"
                    },
                    "instruction": {
                      "requestAutoSettlement": {
                        "enabled": false
                      },
                      "narrative": {
                        "line1": "MindPalace"
                      },
                      "value": {
                        "currency": "GBP",
                        "amount": 250
                      },
                      "paymentInstrument": {
                        "type": "card/checkout",
                        "tokenHref": "https://try.access.worldpay.com/tokens",
                        "cvcHref": "https://try.access.worldpay.com/sessions"
                      }
                    },
                    "channel": "ecom"
                  }
                },
                "Apple wallet payment authorization": {
                  "description": "Apple wallet payment authorization for GBP 2.50",
                  "value": {
                    "transactionReference": "Memory265-13/08/1876",
                    "merchant": {
                      "entity": "default"
                    },
                    "instruction": {
                      "requestAutoSettlement": {
                        "enabled": false
                      },
                      "narrative": {
                        "line1": "MindPalace"
                      },
                      "value": {
                        "currency": "GBP",
                        "amount": 250
                      },
                      "paymentInstrument": {
                        "type": "card/wallet+applepay",
                        "walletToken": "token"
                      }
                    },
                    "channel": "ecom"
                  }
                },
                "Google wallet payment authorization": {
                  "description": "Google wallet payment authorization for GBP 2.50",
                  "value": {
                    "transactionReference": "Memory265-13/08/1876",
                    "merchant": {
                      "entity": "default"
                    },
                    "instruction": {
                      "requestAutoSettlement": {
                        "enabled": false
                      },
                      "narrative": {
                        "line1": "MindPalace"
                      },
                      "value": {
                        "currency": "GBP",
                        "amount": 250
                      },
                      "paymentInstrument": {
                        "type": "card/wallet+googlepay",
                        "walletToken": "token"
                      }
                    },
                    "channel": "ecom"
                  }
                },
                "Decrypted Apple Pay authorization": {
                  "description": "Decrypted Apple Pay authorization for GBP 2.50",
                  "value": {
                    "transactionReference": "Memory265-13/08/1876",
                    "merchant": {
                      "entity": "default"
                    },
                    "instruction": {
                      "requestAutoSettlement": {
                        "enabled": false
                      },
                      "narrative": {
                        "line1": "MindPalace"
                      },
                      "value": {
                        "currency": "GBP",
                        "amount": 250
                      },
                      "paymentInstrument": {
                        "type": "card/networkToken+applepay",
                        "tokenNumber": "4444333322221111",
                        "expiryDate": {
                          "month": 5,
                          "year": 2035
                        }
                      }
                    },
                    "channel": "ecom",
                    "authentication": {
                      "networkToken": {
                        "cryptogram": "BLIYQ4EA/wLF4/hK9ABFMAABAAA=",
                        "eci": "05"
                      }
                    }
                  }
                },
                "Decrypted Google Pay authorization": {
                  "description": "Decrypted Google Pay authorization for GBP 2.50",
                  "value": {
                    "transactionReference": "Memory265-13/08/1876",
                    "merchant": {
                      "entity": "default"
                    },
                    "instruction": {
                      "requestAutoSettlement": {
                        "enabled": false
                      },
                      "narrative": {
                        "line1": "MindPalace"
                      },
                      "value": {
                        "currency": "GBP",
                        "amount": 250
                      },
                      "paymentInstrument": {
                        "type": "card/networkToken+googlepay",
                        "tokenNumber": "4444333322221111",
                        "expiryDate": {
                          "month": 5,
                          "year": 2035
                        }
                      }
                    },
                    "channel": "ecom",
                    "authentication": {
                      "networkToken": {
                        "cryptogram": "BLIYQ4EA/wLF4/hK9ABFMAABAAA=",
                        "eci": "05"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The payment authorization has been successfully created",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/payments_authorize_201_response"
                    },
                    {
                      "$ref": "#/components/schemas/payments_sentForSettlement_201_response"
                    },
                    {
                      "$ref": "#/components/schemas/payments_authorize_201_refusal"
                    }
                  ],
                  "discriminator": {
                    "mapping": {
                      "authorized": "#/components/schemas/payments_authorize_201_response",
                      "Sent for Settlement": "#/components/schemas/payments_sentForSettlement_201_response",
                      "refused": "#/components/schemas/payments_authorize_201_refusal"
                    },
                    "propertyName": "outcome"
                  }
                },
                "examples": {
                  "Successful payment authorization": {
                    "description": "Payment authorization for GBP 2.50 with a successful outcome",
                    "value": {
                      "outcome": "authorized",
                      "paymentId": "payI-dUcet9fk4_X4qZU0hpU0",
                      "commandId": "cmd-Rjc4HJwnBdj3Ri9v10vT0",
                      "riskFactors": [
                        {
                          "type": "cvc",
                          "risk": "notSupplied"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "address"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "postcode"
                        }
                      ],
                      "issuer": {
                        "authorizationCode": "T75725"
                      },
                      "scheme": {
                        "reference": "MCCOLXT1C0104  "
                      },
                      "paymentInstrument": {
                        "type": "card/plain+masked",
                        "cardBin": "555555",
                        "lastFour": "4444",
                        "category": "consumer",
                        "countryCode": "GB",
                        "expiryDate": {
                          "month": 9,
                          "year": 2029
                        },
                        "cardBrand": "mastercard",
                        "fundingType": "credit",
                        "issuerName": "AN ISSUING BANK LTD",
                        "paymentAccountReference": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
                      },
                      "_links": {
                        "cardPayments:cancel": {
                          "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/linkData"
                        },
                        "cardPayments:partialCancel": {
                          "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/partials/linkData"
                        },
                        "cardPayments:settle": {
                          "href": "https://try.access.worldpay.com/payments/settlements/full/linkData"
                        },
                        "cardPayments:partialSettle": {
                          "href": "https://try.access.worldpay.com/payments/settlements/partials/linkData"
                        },
                        "cardPayments:events": {
                          "href": "https://try.access.worldpay.com/payments/events/linkData"
                        },
                        "curies": [
                          {
                            "name": "cardPayments",
                            "href": "https://try.access.worldpay.com/rels/cardPayments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  },
                  "Successful payment authorization with estimated authorization amount": {
                    "description": "Payment authorization for estimated GBP 2.50 with a successful outcome",
                    "value": {
                      "outcome": "authorized",
                      "paymentId": "pay9iX60mh85-FPnv4ccQ9B40",
                      "commandId": "cmdwZ5y_rSV1VmjD6CpgCuXG0",
                      "riskFactors": [
                        {
                          "type": "cvc",
                          "risk": "notSupplied"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "address"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "postcode"
                        }
                      ],
                      "issuer": {
                        "authorizationCode": "T75725"
                      },
                      "scheme": {
                        "reference": "MCCOLXT1C0104  "
                      },
                      "paymentInstrument": {
                        "type": "card/plain+masked",
                        "cardBin": "555555",
                        "lastFour": "4444",
                        "category": "consumer",
                        "countryCode": "GB",
                        "expiryDate": {
                          "month": 9,
                          "year": 2029
                        },
                        "cardBrand": "mastercard",
                        "fundingType": "credit",
                        "issuerName": "AN ISSUING BANK LTD",
                        "paymentAccountReference": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
                      },
                      "_links": {
                        "cardPayments:cancel": {
                          "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/linkData"
                        },
                        "cardPayments:partialCancel": {
                          "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/partials/linkData"
                        },
                        "cardPayments:increaseAuthorizedAmount": {
                          "href": "https://try.access.worldpay.com/payments/authorizations/incrementalAuthorizations/linkData"
                        },
                        "cardPayments:settle": {
                          "href": "https://try.access.worldpay.com/payments/settlements/full/linkData"
                        },
                        "cardPayments:partialSettle": {
                          "href": "https://try.access.worldpay.com/payments/settlements/partials/linkData"
                        },
                        "cardPayments:events": {
                          "href": "https://try.access.worldpay.com/payments/events/linkData"
                        },
                        "curies": [
                          {
                            "name": "cardPayments",
                            "href": "https://try.access.worldpay.com/rels/cardPayments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  },
                  "Successful payment authorization (encrypted wallets)": {
                    "description": "Payment authorization for GBP 2.50 with a successful outcome",
                    "value": {
                      "outcome": "authorized",
                      "paymentId": "pay7FBwk30sgS4fi-Vwapb220",
                      "commandId": "cmdvn_du3sDMwls94_xG0a_v0",
                      "riskFactors": [
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "address"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "postcode"
                        }
                      ],
                      "issuer": {
                        "authorizationCode": "T75725"
                      },
                      "scheme": {
                        "reference": "MCCOLXT1C0104  "
                      },
                      "paymentInstrument": {
                        "type": "card/network+masked",
                        "cardBin": "555555",
                        "lastFour": "4444",
                        "tokenNumber": "555555******4444",
                        "category": "consumer",
                        "countryCode": "GB",
                        "expiryDate": {
                          "month": 9,
                          "year": 2029
                        },
                        "cardBrand": "mastercard",
                        "fundingType": "credit",
                        "issuerName": "AN ISSUING BANK LTD",
                        "paymentAccountReference": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
                      },
                      "_links": {
                        "cardPayments:cancel": {
                          "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/linkData"
                        },
                        "cardPayments:partialCancel": {
                          "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/partials/linkData"
                        },
                        "cardPayments:settle": {
                          "href": "https://try.access.worldpay.com/payments/settlements/full/linkData"
                        },
                        "cardPayments:partialSettle": {
                          "href": "https://try.access.worldpay.com/payments/settlements/partials/linkData"
                        },
                        "cardPayments:events": {
                          "href": "https://try.access.worldpay.com/payments/events/linkData"
                        },
                        "tokens:token": {
                          "href": "https://try.access.worldpay.com/tokens/linkData"
                        },
                        "curies": [
                          {
                            "name": "cardPayments",
                            "href": "https://try.access.worldpay.com/rels/cardPayments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  },
                  "Successful payment authorization (network tokens and decrypted wallets)": {
                    "description": "Payment authorization for GBP 2.50 with a successful outcome",
                    "value": {
                      "outcome": "authorized",
                      "paymentId": "payM39vAj85naVjwpP28C3800",
                      "commandId": "cmdRTc29vnWi5-so71qzfN900",
                      "riskFactors": [
                        {
                          "type": "cvc",
                          "risk": "notSupplied"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "address"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "postcode"
                        }
                      ],
                      "issuer": {
                        "authorizationCode": "T75725"
                      },
                      "scheme": {
                        "reference": "MCCOLXT1C0104  "
                      },
                      "paymentInstrument": {
                        "type": "card/network+masked",
                        "cardBin": "555555",
                        "lastFour": "4444",
                        "category": "consumer",
                        "countryCode": "GB",
                        "expiryDate": {
                          "month": 9,
                          "year": 2029
                        },
                        "cardBrand": "mastercard",
                        "fundingType": "credit",
                        "issuerName": "AN ISSUING BANK LTD",
                        "paymentAccountReference": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
                      },
                      "_links": {
                        "cardPayments:cancel": {
                          "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/linkData"
                        },
                        "cardPayments:partialCancel": {
                          "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/partials/linkData"
                        },
                        "cardPayments:settle": {
                          "href": "https://try.access.worldpay.com/payments/settlements/full/linkData"
                        },
                        "cardPayments:partialSettle": {
                          "href": "https://try.access.worldpay.com/payments/settlements/partials/linkData"
                        },
                        "cardPayments:events": {
                          "href": "https://try.access.worldpay.com/payments/events/linkData"
                        },
                        "curies": [
                          {
                            "name": "cardPayments",
                            "href": "https://try.access.worldpay.com/rels/cardPayments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  },
                  "Successful payment authorization (requestAutoSettlement enabled)": {
                    "description": "Payment authorization (requestAutoSettlement enabled) for GBP 2.50 with a successful outcome",
                    "value": {
                      "outcome": "Sent for Settlement",
                      "paymentId": "pay-Tb29_shVbNM2_78s_hLu0",
                      "commandId": "cmdCG2tN9863bNw79xB23f7R0",
                      "riskFactors": [
                        {
                          "type": "cvc",
                          "risk": "notSupplied"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "address"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "postcode"
                        }
                      ],
                      "issuer": {
                        "authorizationCode": "T75725"
                      },
                      "scheme": {
                        "reference": "MCCOLXT1C0104  "
                      },
                      "paymentInstrument": {
                        "type": "card/plain+masked",
                        "cardBin": "555555",
                        "lastFour": "4444",
                        "category": "consumer",
                        "countryCode": "GB",
                        "expiryDate": {
                          "month": 9,
                          "year": 2029
                        },
                        "cardBrand": "mastercard",
                        "fundingType": "credit",
                        "issuerName": "AN ISSUING BANK LTD",
                        "paymentAccountReference": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
                      },
                      "_links": {
                        "cardPayments:refund": {
                          "href": "https://try.access.worldpay.com/payments/settlements/refunds/full/linkData"
                        },
                        "cardPayments:partialRefund": {
                          "href": "https://try.access.worldpay.com/payments/settlements/refunds/partials/linkData"
                        },
                        "cardPayments:reverse": {
                          "href": "https://try.access.worldpay.com/payments/sales/reversals/linkData"
                        },
                        "cardPayments:events": {
                          "href": "https://try.access.worldpay.com/payments/events/linkData"
                        },
                        "curies": [
                          {
                            "name": "cardPayments",
                            "href": "https://try.access.worldpay.com/rels/cardPayments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  },
                  "Successful payment authorization for a partial amount": {
                    "description": "Payment authorization for GBP 2.50 with a successful outcome and GBP 1.99 authorized",
                    "value": {
                      "outcome": "authorized",
                      "paymentId": "payI-dUcet9fk4_X4qZU0hpU0",
                      "commandId": "cmd_83bNq9Df_-x32M-9sB4c0",
                      "riskFactors": [
                        {
                          "type": "cvc",
                          "risk": "notSupplied"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "address"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "postcode"
                        }
                      ],
                      "issuer": {
                        "authorizationCode": "T75725"
                      },
                      "scheme": {
                        "reference": "MCCOLXT1C0104  "
                      },
                      "paymentInstrument": {
                        "type": "card/plain+masked",
                        "cardBin": "555555",
                        "lastFour": "4444",
                        "category": "consumer",
                        "countryCode": "GB",
                        "expiryDate": {
                          "month": 9,
                          "year": 2029
                        },
                        "cardBrand": "mastercard",
                        "fundingType": "credit",
                        "issuerName": "AN ISSUING BANK LTD",
                        "paymentAccountReference": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
                      },
                      "amounts": {
                        "requested": 250,
                        "totalAuthorized": 199,
                        "currency": "GBP",
                        "partialAuthorization": true
                      },
                      "_links": {
                        "cardPayments:cancel": {
                          "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/linkData"
                        },
                        "cardPayments:partialCancel": {
                          "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/partials/linkData"
                        },
                        "cardPayments:settle": {
                          "href": "https://try.access.worldpay.com/payments/settlements/full/linkData"
                        },
                        "cardPayments:partialSettle": {
                          "href": "https://try.access.worldpay.com/payments/settlements/partials/linkData"
                        },
                        "cardPayments:events": {
                          "href": "https://try.access.worldpay.com/payments/events/linkData"
                        },
                        "curies": [
                          {
                            "name": "cardPayments",
                            "href": "https://try.access.worldpay.com/rels/cardPayments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  },
                  "Refused payment authorization": {
                    "description": "Payment authorization with a refused outcome",
                    "value": {
                      "outcome": "refused",
                      "paymentId": "pay98nf27CWQoNxm3fA6KvdY0",
                      "commandId": "cmdtIhnZ-86r1xAam9-v47fB0",
                      "refusalCode": "5",
                      "refusalDescription": "REFUSED",
                      "riskFactors": [
                        {
                          "type": "cvc",
                          "risk": "notSupplied"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "address"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "postcode"
                        }
                      ],
                      "advice": {
                        "code": "01"
                      },
                      "paymentInstrument": {
                        "type": "card/plain+masked",
                        "cardBin": "555555",
                        "lastFour": "4444",
                        "category": "consumer",
                        "countryCode": "GB",
                        "expiryDate": {
                          "month": 9,
                          "year": 2029
                        },
                        "cardBrand": "mastercard",
                        "fundingType": "credit",
                        "issuerName": "AN ISSUING BANK LTD",
                        "paymentAccountReference": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                },
                "examples": {
                  "Bad request": {
                    "description": "Bad request",
                    "value": {
                      "errorName": "bodyDoesNotMatchSchema",
                      "message": "The json body provided does not match the expected schema",
                      "validationErrors": [
                        {
                          "errorName": "fieldMustBeString",
                          "message": "Element at path must be a string",
                          "jsonPath": "$.value.currency"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unauthorized": {
                    "description": "Unauthorized",
                    "value": {
                      "errorName": "accessDenied",
                      "message": "Access to the requested resource has been denied"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "notFound": {
                    "description": "Not found",
                    "value": {
                      "errorName": "endpointNotFound",
                      "message": "Requested endpoint was not found."
                    }
                  }
                }
              }
            }
          },
          "415": {
            "description": "Unsupported media type",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unsupported": {
                    "description": "Unsupported media type",
                    "value": {
                      "errorName": "headerHasInvalidValue",
                      "message": "Bad content type"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "Bad request": {
                    "description": "Bad request",
                    "value": {
                      "errorName": "internalServerError",
                      "message": "Internal server error"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cardPayments/merchantInitiatedTransactions": {
      "post": {
        "summary": "Take a repeat card payment",
        "description": "Take online payments using our Card Payments API.",
        "operationId": "recurring",
        "parameters": [
          {
            "in": "header",
            "name": "Content-Type",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          },
          {
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.worldpay.payments-v7+json": {
              "schema": {
                "$ref": "#/components/schemas/merchantInitiatedTransaction"
              },
              "examples": {
                "Subscriptions - MIT payment authorization": {
                  "description": "MIT authorization for subscriptions",
                  "value": {
                    "transactionReference": "Memory265-13/08/1876",
                    "merchant": {
                      "entity": "default"
                    },
                    "instruction": {
                      "requestAutoSettlement": {
                        "enabled": false
                      },
                      "narrative": {
                        "line1": "MindPalace"
                      },
                      "value": {
                        "currency": "GBP",
                        "amount": 250
                      },
                      "paymentInstrument": {
                        "type": "card/plain",
                        "cardNumber": "4444333322221111",
                        "expiryDate": {
                          "month": 5,
                          "year": 2035
                        }
                      },
                      "customerAgreement": {
                        "type": "subscription",
                        "schemeReference": "MCCOLXT1C0104  "
                      }
                    }
                  }
                },
                "Installments - MIT payment authorization": {
                  "description": "MIT authorization for installments",
                  "value": {
                    "transactionReference": "Memory265-13/08/1876",
                    "merchant": {
                      "entity": "default"
                    },
                    "instruction": {
                      "requestAutoSettlement": {
                        "enabled": false
                      },
                      "narrative": {
                        "line1": "MindPalace"
                      },
                      "value": {
                        "currency": "GBP",
                        "amount": 250
                      },
                      "paymentInstrument": {
                        "type": "card/plain",
                        "cardNumber": "4444333322221111",
                        "expiryDate": {
                          "month": 5,
                          "year": 2035
                        }
                      },
                      "customerAgreement": {
                        "type": "installment",
                        "installmentType": "merchant",
                        "schemeReference": "MCCOLXT1C0104  "
                      }
                    }
                  }
                },
                "Unscheduled - MIT payment authorization": {
                  "description": "MIT authorization for unscheduled payments",
                  "value": {
                    "transactionReference": "Memory265-13/08/1876",
                    "merchant": {
                      "entity": "default"
                    },
                    "instruction": {
                      "requestAutoSettlement": {
                        "enabled": false
                      },
                      "narrative": {
                        "line1": "MindPalace"
                      },
                      "value": {
                        "currency": "GBP",
                        "amount": 250
                      },
                      "paymentInstrument": {
                        "type": "card/plain",
                        "cardNumber": "4444333322221111",
                        "expiryDate": {
                          "month": 5,
                          "year": 2035
                        }
                      },
                      "customerAgreement": {
                        "type": "unscheduled",
                        "schemeReference": "MCCOLXT1C0104  "
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The payment authorization has been successfully created",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/payments_authorize_201_response_mit"
                    },
                    {
                      "$ref": "#/components/schemas/payments_sentForSettlement_201_response_mit"
                    },
                    {
                      "$ref": "#/components/schemas/payments_authorize_201_refusal_mit"
                    }
                  ],
                  "discriminator": {
                    "mapping": {
                      "authorized": "#/components/schemas/payments_authorize_201_response_mit",
                      "Sent for Settlement": "#/components/schemas/payments_sentForSettlement_201_response_mit",
                      "refused": "#/components/schemas/payments_authorize_201_refusal_mit"
                    },
                    "propertyName": "outcome"
                  }
                },
                "examples": {
                  "Successful payment authorization": {
                    "description": "Payment authorization for GBP 2.50 with a successful outcome",
                    "value": {
                      "outcome": "authorized",
                      "paymentId": "payI-dUcet9fk4_X4qZU0hpU0",
                      "commandId": "cmdJ3o1eC1o3n6n31ol29l4y0",
                      "riskFactors": [
                        {
                          "type": "cvc",
                          "risk": "notSupplied"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "address"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "postcode"
                        }
                      ],
                      "issuer": {
                        "authorizationCode": "675725"
                      },
                      "scheme": {
                        "reference": "MCCOLXT1C0104  "
                      },
                      "paymentInstrument": {
                        "type": "card/plain+masked",
                        "cardBin": "555555",
                        "lastFour": "4444",
                        "category": "consumer",
                        "countryCode": "GB",
                        "expiryDate": {
                          "month": 9,
                          "year": 2029
                        },
                        "cardBrand": "mastercard",
                        "fundingType": "credit",
                        "issuerName": "AN ISSUING BANK LTD",
                        "paymentAccountReference": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
                      },
                      "_links": {
                        "cardPayments:cancel": {
                          "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/"
                        },
                        "cardPayments:settle": {
                          "href": "https://try.access.worldpay.com/payments/settlements/full/"
                        },
                        "cardPayments:partialSettle": {
                          "href": "https://try.access.worldpay.com/payments/settlements/partials/"
                        },
                        "cardPayments:events": {
                          "href": "https://try.access.worldpay.com/payments/events/"
                        },
                        "curies": [
                          {
                            "name": "cardPayments",
                            "href": "https://try.access.worldpay.com/rels/cardPayments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  },
                  "Refused payment authorization": {
                    "description": "Payment authorization with a refused outcome",
                    "value": {
                      "outcome": "refused",
                      "paymentId": "payI-dUcet9fk4_X4qZU0hpU0",
                      "commandId": "cmd9jCb83Nao1N9noa91dJ200",
                      "refusalCode": "5",
                      "refusalDescription": "REFUSED",
                      "riskFactors": [
                        {
                          "type": "cvc",
                          "risk": "notSupplied"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "address"
                        },
                        {
                          "type": "avs",
                          "risk": "notChecked",
                          "detail": "postcode"
                        }
                      ],
                      "advice": {
                        "code": "01"
                      },
                      "paymentInstrument": {
                        "type": "card/plain+masked",
                        "cardBin": "555555",
                        "lastFour": "4444",
                        "category": "consumer",
                        "countryCode": "GB",
                        "expiryDate": {
                          "month": 9,
                          "year": 2029
                        },
                        "cardBrand": "mastercard",
                        "fundingType": "credit",
                        "issuerName": "AN ISSUING BANK LTD",
                        "paymentAccountReference": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                },
                "examples": {
                  "Bad request": {
                    "description": "Bad request",
                    "value": {
                      "errorName": "bodyDoesNotMatchSchema",
                      "message": "The json body provided does not match the expected schema",
                      "validationErrors": [
                        {
                          "errorName": "fieldMustBeString",
                          "message": "Element at path must be a string",
                          "jsonPath": "$.value.currency"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unauthorized": {
                    "description": "Unauthorized",
                    "value": {
                      "errorName": "accessDenied",
                      "message": "Access to the requested resource has been denied"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "notFound": {
                    "description": "Not found",
                    "value": {
                      "errorName": "endpointNotFound",
                      "message": "Requested endpoint was not found."
                    }
                  }
                }
              }
            }
          },
          "415": {
            "description": "Unsupported media type",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unsupported": {
                    "description": "Unsupported media type",
                    "value": {
                      "errorName": "headerHasInvalidValue",
                      "message": "Bad content type"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/payments/settlements/{linkData}": {
      "post": {
        "tags": [
          "Manage payments"
        ],
        "summary": "Settle for full amount",
        "description": "To receive all the funds from the customer, send us a settle request.",
        "operationId": "settle",
        "parameters": [
          {
            "name": "linkData",
            "in": "path",
            "description": "Action link that's received in your request.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Content-Type",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          },
          {
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.worldpay.payments-v7+json": {
              "schema": {
                "$ref": "#/components/schemas/payments_settle"
              },
              "examples": {
                "Request to fully settle the authorization": {
                  "description": "Request to settle the authorization"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "The payment settlement has been accepted",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_fullSettle_response"
                },
                "examples": {
                  "Response to fully settle the authorization": {
                    "description": "Response to fully settle the authorization",
                    "value": {
                      "paymentId": "payT7hS-8vS4h_95A2f7905v0",
                      "commandId": "cmdp9D1t-ENYQxVnJkh0iPRC0",
                      "_links": {
                        "cardPayments:refund": {
                          "href": "/payments/settlements/refunds/full/:linkData"
                        },
                        "cardPayments:partialRefund": {
                          "href": "/payments/settlements/refunds/partials/:linkData"
                        },
                        "cardPayments:reverse": {
                          "href": "/payments/authorizations/reversals/:linkData"
                        },
                        "cardPayments:events": {
                          "href": "/payments/events/:linkData"
                        },
                        "curies": [
                          {
                            "name": "payments",
                            "href": "/rels/payments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                },
                "examples": {
                  "Bad request": {
                    "description": "Bad request",
                    "value": {
                      "errorName": "bodyDoesNotMatchSchema",
                      "message": "The json body provided does not match the expected schema",
                      "validationErrors": [
                        {
                          "errorName": "fieldMustBeString",
                          "message": "Element at path must be a string",
                          "jsonPath": "$.value.currency"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unauthorized": {
                    "description": "Unauthorized",
                    "value": {
                      "errorName": "accessDenied",
                      "message": "Access to the requested resource has been denied"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "notFound": {
                    "description": "Not found",
                    "value": {
                      "errorName": "endpointNotFound",
                      "message": "Requested endpoint was not found."
                    }
                  }
                }
              }
            }
          },
          "415": {
            "description": "Unsupported media type",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unsupported": {
                    "description": "Unsupported media type",
                    "value": {
                      "errorName": "headerHasInvalidValue",
                      "message": "Bad content type"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "aapplication/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/payments/settlements/partials/{linkData}": {
      "post": {
        "tags": [
          "Manage payments"
        ],
        "summary": "Settle for partial amount",
        "description": "To receive a portion of the funds of a payment, send us a partial settle request.\n\n",
        "operationId": "partialSettlement",
        "parameters": [
          {
            "name": "linkData",
            "in": "path",
            "description": "Action link that's received in your request.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Content-Type",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          },
          {
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.worldpay.payments-v7+json": {
              "schema": {
                "$ref": "#/components/schemas/payments_partialSettle"
              },
              "examples": {
                "Request to partially settle the authorization": {
                  "description": "Request to partially settle the authorization",
                  "value": {
                    "sequence": {
                      "number": 1,
                      "total": 2
                    },
                    "value": {
                      "amount": 500,
                      "currency": "EUR"
                    },
                    "reference": "partial-settle-reference"
                  }
                },
                "Request to partially settle the authorization, with marketplace seller country code": {
                  "description": "Request to partially settle the authorization",
                  "value": {
                    "sequence": {
                      "number": 1,
                      "total": 2
                    },
                    "value": {
                      "amount": 500,
                      "currency": "EUR"
                    },
                    "reference": "partial-settle-reference",
                    "merchant": {
                      "marketplace": {
                        "sellerCountryCode": "FR"
                      }
                    }
                  }
                },
                "Request to partially settle the authorization, with a split funding reference": {
                  "description": "Request to partially settle the authorization",
                  "value": {
                    "sequence": {
                      "number": 1,
                      "total": 2
                    },
                    "value": {
                      "amount": 500,
                      "currency": "EUR"
                    },
                    "reference": "partial-settle-reference",
                    "merchant": {
                      "marketplace": {
                        "splitFundingReference": "my split funding ref"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "The partial settlement has been accepted",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_partialSettle_response"
                },
                "examples": {
                  "Response to partially settle the authorization": {
                    "description": "Response to partially settle the authorization",
                    "value": {
                      "paymentId": "payI-dUcet9fk4_X4qZU0hpU0",
                      "commandId": "cmdwZ5y_rSi1VmjD6CpgCuXG0",
                      "_links": {
                        "cardPayments:refund": {
                          "href": "/payments/settlements/refunds/full/:linkData"
                        },
                        "cardPayments:partialRefund": {
                          "href": "/payments/settlements/refunds/partials/:linkData"
                        },
                        "cardPayments:partialSettle": {
                          "href": "/payments/settlements/partials/:linkData"
                        },
                        "cardPayments:reverse": {
                          "href": "/payments/authorizations/reversals/:linkData"
                        },
                        "cardPayments:cancel": {
                          "href": "/payments/authorizations/cancellations/:linkData"
                        },
                        "cardPayments:events": {
                          "href": "/payments/events/:linkData"
                        },
                        "curies": [
                          {
                            "name": "payments",
                            "href": "/rels/payments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                },
                "examples": {
                  "Bad request": {
                    "description": "Bad request",
                    "value": {
                      "errorName": "bodyDoesNotMatchSchema",
                      "message": "The json body provided does not match the expected schema",
                      "validationErrors": [
                        {
                          "errorName": "fieldMustBeString",
                          "message": "Element at path must be a string",
                          "jsonPath": "$.value.currency"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unauthorized": {
                    "description": "Unauthorized",
                    "value": {
                      "errorName": "accessDenied",
                      "message": "Access to the requested resource has been denied"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "notFound": {
                    "description": "Not found",
                    "value": {
                      "errorName": "endpointNotFound",
                      "message": "Requested endpoint was not found."
                    }
                  }
                }
              }
            }
          },
          "415": {
            "description": "Unsupported media type",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unsupported": {
                    "description": "Unsupported media type",
                    "value": {
                      "errorName": "headerHasInvalidValue",
                      "message": "Bad content type"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/payments/settlements/refunds/full/{linkData}": {
      "post": {
        "tags": [
          "Manage payments"
        ],
        "summary": "Refund full amount",
        "description": "Send a refund request to return the full settled amount to your customer. \n Note: No request body is needed for this request.\n\n",
        "operationId": "refund",
        "parameters": [
          {
            "name": "linkData",
            "in": "path",
            "description": "Action link that's received in your request.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Content-Type",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          },
          {
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.worldpay.payments-v7+json": {
              "schema": {
                "$ref": "#/components/schemas/payments_refund"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "The refund request has been accepted",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_fullRefund_response"
                },
                "examples": {
                  "Response to refund an authorization": {
                    "description": "Response to refund an authorization",
                    "value": {
                      "paymentId": "payI-dUcet9fk4_X4qZU0hpU0",
                      "commandId": "cmdwZ5y_rSV1VmjD6CpgCuXG0",
                      "_links": {
                        "cardPayments:events": {
                          "href": "/payments/events/:linkData"
                        },
                        "curies": [
                          {
                            "name": "payments",
                            "href": "/rels/payments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                },
                "examples": {
                  "Bad request": {
                    "description": "Bad request",
                    "value": {
                      "errorName": "bodyDoesNotMatchSchema",
                      "message": "The json body provided does not match the expected schema",
                      "validationErrors": [
                        {
                          "errorName": "fieldMustBeString",
                          "message": "Element at path must be a string",
                          "jsonPath": "$.value.currency"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unauthorized": {
                    "description": "Unauthorized",
                    "value": {
                      "errorName": "accessDenied",
                      "message": "Access to the requested resource has been denied"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "notFound": {
                    "description": "Not found",
                    "value": {
                      "errorName": "endpointNotFound",
                      "message": "Requested endpoint was not found."
                    }
                  }
                }
              }
            }
          },
          "415": {
            "description": "Unsupported media type",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unsupported": {
                    "description": "Unsupported media type",
                    "value": {
                      "errorName": "headerHasInvalidValue",
                      "message": "Bad content type"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/payments/settlements/refunds/partials/{linkData}": {
      "post": {
        "tags": [
          "Manage payments"
        ],
        "summary": "Refund partial amount",
        "description": "Send a partial refund request to return a portion of the settled amount to your customer. \n Send the amount to refund and the authorization currency in the body.\n\n",
        "operationId": "partialRefund",
        "parameters": [
          {
            "name": "linkData",
            "in": "path",
            "description": "Action link that's received in your request.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Content-Type",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          },
          {
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.worldpay.payments-v7+json": {
              "schema": {
                "$ref": "#/components/schemas/payments_partialRefund"
              },
              "examples": {
                "Request to perform a partial refund of the settlement": {
                  "description": "Request to perform a partial refund of the settlement",
                  "value": {
                    "value": {
                      "amount": 10,
                      "currency": "EUR"
                    },
                    "reference": "partial-refund-reference"
                  }
                },
                "Request to perform a partial refund of the settlement, with a split funding reference": {
                  "description": "Request to perform a partial refund of the settlement",
                  "value": {
                    "value": {
                      "amount": 500,
                      "currency": "EUR"
                    },
                    "reference": "partial-refund-reference",
                    "merchant": {
                      "marketplace": {
                        "splitFundingReference": "my split funding ref"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "The partial refund has been accepted",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_partialRefund_response"
                },
                "examples": {
                  "Response to partially refund an authorization": {
                    "description": "Response to partially refund an authorization",
                    "value": {
                      "paymentId": "payI-dUcet9fk4_X4qZU0hpU0",
                      "commandId": "cmdwZ5y_rSV1VmjD6CpgCuXG0",
                      "_links": {
                        "cardPayments:events": {
                          "href": "/payments/events/:linkData"
                        },
                        "curies": [
                          {
                            "name": "payments",
                            "href": "/rels/payments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                },
                "examples": {
                  "Bad request": {
                    "description": "Bad request",
                    "value": {
                      "errorName": "bodyDoesNotMatchSchema",
                      "message": "The json body provided does not match the expected schema",
                      "validationErrors": [
                        {
                          "errorName": "fieldMustBeString",
                          "message": "Element at path must be a string",
                          "jsonPath": "$.value.currency"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unauthorized": {
                    "description": "Unauthorized",
                    "value": {
                      "errorName": "accessDenied",
                      "message": "Access to the requested resource has been denied"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "notFound": {
                    "description": "Not found",
                    "value": {
                      "errorName": "endpointNotFound",
                      "message": "Requested endpoint was not found."
                    }
                  }
                }
              }
            }
          },
          "415": {
            "description": "Unsupported media type",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unsupported": {
                    "description": "Unsupported media type",
                    "value": {
                      "errorName": "headerHasInvalidValue",
                      "message": "Bad content type"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/payments/authorizations/cancellations/{linkData}": {
      "post": {
        "tags": [
          "Manage payments"
        ],
        "summary": "Cancel full authorization",
        "description": "If you don't want to proceed with a payment, you can send a full cancel request \n Note: You can only cancel a payment which is authorized. If the payment is settled, you must create a refund.\n\n",
        "operationId": "cancel",
        "parameters": [
          {
            "name": "linkData",
            "in": "path",
            "description": "Action link that's received in your request.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Content-Type",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          },
          {
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.worldpay.payments-v7+json": {
              "schema": {
                "$ref": "#/components/schemas/payments_cancel"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "The cancellation request has been accepted",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_fullCancel_response"
                },
                "examples": {
                  "Response to cancel an authorization": {
                    "description": "Response to cancel an authorization",
                    "value": {
                      "_links": {
                        "cardPayments:events": {
                          "href": "/payments/events/:linkData"
                        },
                        "curies": [
                          {
                            "name": "payments",
                            "href": "/rels/payments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                },
                "examples": {
                  "Bad request": {
                    "description": "Bad request",
                    "value": {
                      "errorName": "bodyDoesNotMatchSchema",
                      "message": "The json body provided does not match the expected schema",
                      "validationErrors": [
                        {
                          "errorName": "fieldMustBeString",
                          "message": "Element at path must be a string",
                          "jsonPath": "$.value.currency"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unauthorized": {
                    "description": "Unauthorized",
                    "value": {
                      "errorName": "accessDenied",
                      "message": "Access to the requested resource has been denied"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "notFound": {
                    "description": "Not found",
                    "value": {
                      "errorName": "endpointNotFound",
                      "message": "Requested endpoint was not found."
                    }
                  }
                }
              }
            }
          },
          "415": {
            "description": "Unsupported media type",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unsupported": {
                    "description": "Unsupported media type",
                    "value": {
                      "errorName": "headerHasInvalidValue",
                      "message": "Bad content type"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/payments/authorizations/cancellations/partials/{linkData}": {
      "post": {
        "tags": [
          "Manage payments"
        ],
        "summary": "Cancel partial authorization",
        "description": "If you don't want to proceed with a payment, you can send a partial cancel request. \n Note: You can only cancel a payment which is authorized. If the payment is settled, you must create a refund.\n\n",
        "operationId": "partialCancel",
        "parameters": [
          {
            "name": "linkData",
            "in": "path",
            "description": "Action link that's received in your request.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Content-Type",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          },
          {
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.worldpay.payments-v7+json": {
              "schema": {
                "$ref": "#/components/schemas/payments_partialCancel"
              },
              "examples": {
                "Request to partially settle the authorization": {
                  "description": "Request to partially cancel the authorization",
                  "value": {
                    "value": {
                      "amount": 500,
                      "currency": "EUR"
                    },
                    "reference": "partial-cancel-reference"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "The partial cancellation request has been accepted",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_partialCancel_response"
                },
                "examples": {
                  "Response to cancel partial authorization": {
                    "description": "Response to cancel an authorization",
                    "value": {
                      "_links": {
                        "cardPayments:events": {
                          "href": "/payments/events/:linkData"
                        },
                        "cardPayments:partialCancel": {
                          "href": "/payments/authorizations/cancellations/partials/:linkData"
                        },
                        "cardPayments:partialSettle": {
                          "href": "/payments/settlements/partials/:linkData"
                        },
                        "curies": [
                          {
                            "name": "payments",
                            "href": "/rels/payments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                },
                "examples": {
                  "Bad request": {
                    "description": "Bad request",
                    "value": {
                      "errorName": "bodyDoesNotMatchSchema",
                      "message": "The json body provided does not match the expected schema",
                      "validationErrors": [
                        {
                          "errorName": "fieldMustBeString",
                          "message": "Element at path must be a string",
                          "jsonPath": "$.value.currency"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unauthorized": {
                    "description": "Unauthorized",
                    "value": {
                      "errorName": "accessDenied",
                      "message": "Access to the requested resource has been denied"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "notFound": {
                    "description": "Not found",
                    "value": {
                      "errorName": "endpointNotFound",
                      "message": "Requested endpoint was not found."
                    }
                  }
                }
              }
            }
          },
          "415": {
            "description": "Unsupported media type",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unsupported": {
                    "description": "Unsupported media type",
                    "value": {
                      "errorName": "headerHasInvalidValue",
                      "message": "Bad content type"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/payments/authorizations/incrementalAuthorizations/{linkData}": {
      "post": {
        "tags": [
          "Manage payments"
        ],
        "summary": "Increase authorization amount",
        "description": "If you want to increase an initial estimated authorization amount (submitted with `estimated` set to `true`), you can send a incremental authorization request. {% admonition type=\"info\" name=\"Note\" %} You must use the latest next action links returned by the incremental authorization response to settle (full/partial) and cancel (full/partial) the increased authorized amount. Using the next action links returned in your estimated authorization response will not use any increased amounts.{% /admonition %}",
        "operationId": "increaseAuthorize",
        "parameters": [
          {
            "name": "linkData",
            "in": "path",
            "description": "Action link that's received in your request.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Content-Type",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          },
          {
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.worldpay.payments-v7+json": {
              "schema": {
                "$ref": "#/components/schemas/payments_increaseAuthorize"
              },
              "examples": {
                "Request to partially settle the authorization": {
                  "description": "Request to increase the initial estimated authorization",
                  "value": {
                    "value": {
                      "amount": 500,
                      "currency": "EUR"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "The request to increase the authorization amount has been successfully processed",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/payments_increaseAuthorize_response"
                    },
                    {
                      "$ref": "#/components/schemas/payments_increaseAuthorize_response_refused"
                    }
                  ],
                  "discriminator": {
                    "mapping": {
                      "authorized": "#/components/schemas/payments_increaseAuthorize_response",
                      "refused": "#/components/schemas/payments_increaseAuthorize_response_refused"
                    },
                    "propertyName": "outcome"
                  }
                },
                "examples": {
                  "Successful response to increase the authorization amount": {
                    "description": "Successful response to increase an estimated authorization amount",
                    "value": {
                      "outcome": "authorized",
                      "amounts": {
                        "totalAuthorized": 1100,
                        "currency": "EUR"
                      },
                      "issuer": {
                        "authorizationCode": "T91252"
                      },
                      "scheme": {
                        "reference": "MCCRU3I5U0701"
                      },
                      "_links": {
                        "cardPayments:increaseAuthorizedAmount": {
                          "href": "/payments/authorizations/incrementalAuthorizations/:linkData"
                        },
                        "cardPayments:cancel": {
                          "href": "/payments/authorizations/cancellations/:linkData"
                        },
                        "cardPayments:partialCancel": {
                          "href": "/payments/authorizations/cancellations/partials/:linkData"
                        },
                        "cardPayments:settle": {
                          "href": "/payments/settlements/full/:linkData"
                        },
                        "cardPayments:partialSettle": {
                          "href": "/payments/settlements/partials/:linkData"
                        },
                        "cardPayments:events": {
                          "href": "/payments/events/:linkData"
                        },
                        "curies": [
                          {
                            "name": "payments",
                            "href": "/rels/payments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  },
                  "Refused response to increase the authorization amount": {
                    "description": "Response to increase the authorization amount with a refused outcome due to insufficient funds",
                    "value": {
                      "outcome": "refused",
                      "refusalCode": "51",
                      "refusalDescription": "Insufficient Funds"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "aapplication/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                },
                "examples": {
                  "Bad request": {
                    "description": "Bad request",
                    "value": {
                      "errorName": "bodyDoesNotMatchSchema",
                      "message": "The json body provided does not match the expected schema",
                      "validationErrors": [
                        {
                          "errorName": "fieldMustBeString",
                          "message": "Element at path must be a string",
                          "jsonPath": "$.value.currency"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unauthorized": {
                    "description": "Unauthorized",
                    "value": {
                      "errorName": "accessDenied",
                      "message": "Access to the requested resource has been denied"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "notFound": {
                    "description": "Not found",
                    "value": {
                      "errorName": "endpointNotFound",
                      "message": "Requested endpoint was not found."
                    }
                  }
                }
              }
            }
          },
          "415": {
            "description": "Unsupported media type",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unsupported": {
                    "description": "Unsupported media type",
                    "value": {
                      "errorName": "headerHasInvalidValue",
                      "message": "Bad content type"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/payments/sales/reversals/{linkData}": {
      "post": {
        "tags": [
          "Manage payments"
        ],
        "summary": "Reversal",
        "description": "Your reversal request is processed as a cancel or refund request. This depends on the time passed after your sale request was submitted. For US entities the payment is refunded after one day after a successful sale request. Any other payment moves to refunded after 15 minutes. \n Note: No request body is needed for this request.\n\n",
        "operationId": "reversal",
        "parameters": [
          {
            "name": "linkData",
            "in": "path",
            "description": "Action link that's received in your request.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Content-Type",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          },
          {
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The reversal request has been accepted",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_reversal_response"
                },
                "examples": {
                  "Response to reverse the settlement": {
                    "description": "Response to reverse the settlement",
                    "value": {
                      "_links": {
                        "cardPayments:events": {
                          "href": "/payments/events/:linkData"
                        },
                        "curies": [
                          {
                            "name": "payments",
                            "href": "/rels/payments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                },
                "examples": {
                  "Bad request": {
                    "description": "Bad request",
                    "value": {
                      "errorName": "bodyDoesNotMatchSchema",
                      "message": "The json body provided does not match the expected schema",
                      "validationErrors": [
                        {
                          "errorName": "fieldMustBeString",
                          "message": "Element at path must be a string",
                          "jsonPath": "$.value.currency"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unauthorized": {
                    "description": "Unauthorized",
                    "value": {
                      "errorName": "accessDenied",
                      "message": "Access to the requested resource has been denied"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "notFound": {
                    "description": "Not found",
                    "value": {
                      "errorName": "endpointNotFound",
                      "message": "Requested endpoint was not found."
                    }
                  }
                }
              }
            }
          },
          "415": {
            "description": "Unsupported media type",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unsupported": {
                    "description": "Unsupported media type",
                    "value": {
                      "errorName": "headerHasInvalidValue",
                      "message": "Bad content type"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/payments/events/{linkData}": {
      "get": {
        "tags": [
          "Query a payment"
        ],
        "summary": "Query payment status",
        "description": "Send a request to find out the current status of your payment after it has been authorized using the events action link. \n Note: It can take up to 15 minutes for a payment event to update.\n\n",
        "operationId": "eventQuery",
        "parameters": [
          {
            "name": "linkData",
            "in": "path",
            "description": "Action link that's received in your request.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Content-Type",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          },
          {
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieve the last event of a payment",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_events_200_response"
                },
                "examples": {
                  "Querying a payment event with a transaction reference": {
                    "description": "Querying a payment event with a transaction reference",
                    "value": {
                      "lastEvent": "Authorized",
                      "_links": {
                        "cardPayments:cancel": "/payments/authorizations/cancellations/:linkData",
                        "cardPayments:settle": "/payments/settlements/full/:linkData",
                        "cardPayments:partialSettle": "/payments/settlements/partials/:linkData",
                        "curies": [
                          {
                            "name": "payments",
                            "href": "/rels/payments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                },
                "examples": {
                  "Bad request": {
                    "description": "Bad request",
                    "value": {
                      "errorName": "bodyDoesNotMatchSchema",
                      "message": "The json body provided does not match the expected schema",
                      "validationErrors": [
                        {
                          "errorName": "fieldMustBeString",
                          "message": "Element at path must be a string",
                          "jsonPath": "$.value.currency"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unauthorized": {
                    "description": "Unauthorized",
                    "value": {
                      "errorName": "accessDenied",
                      "message": "Access to the requested resource has been denied"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "notFound": {
                    "description": "Not found",
                    "value": {
                      "errorName": "endpointNotFound",
                      "message": "Requested endpoint was not found."
                    }
                  }
                }
              }
            }
          },
          "415": {
            "description": "Unsupported media type",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unsupported": {
                    "description": "Unsupported media type",
                    "value": {
                      "errorName": "headerHasInvalidValue",
                      "message": "Bad content type"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/payments/events": {
      "get": {
        "tags": [
          "Query a payment"
        ],
        "summary": "Query payment status recovery",
        "description": "Send a request to find out the current status of your payment after it has been authorized using the events action link. \n \n \n **Important:** \n\n Only use this for recovery purposes for example when your authorization request has timed out or you are unable to locate a payment through our [Payments Queries API](/products/payment-queries). If the query returns results, you can manage the payment using the next action links returned in the response of your GET request.\n\n",
        "operationId": "eventRecovery",
        "parameters": [
          {
            "in": "header",
            "name": "Content-Type",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          },
          {
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/vnd.worldpay.payments-v7+json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieve the last event of a payment",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_events_recovery_200_response"
                },
                "examples": {
                  "Querying a payment event with a transaction reference": {
                    "description": "Querying a payment event with a transaction reference",
                    "value": {
                      "lastEvent": "Authorized",
                      "_links": {
                        "cardPayments:cancel": "/payments/authorizations/cancellations/:linkData",
                        "cardPayments:settle": "/payments/settlements/full/:linkData",
                        "cardPayments:partialSettle": "/payments/settlements/partials/:linkData",
                        "curies": [
                          {
                            "name": "payments",
                            "href": "/rels/payments/{rel}",
                            "templated": true
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                },
                "examples": {
                  "Bad request": {
                    "description": "Bad request",
                    "value": {
                      "errorName": "bodyDoesNotMatchSchema",
                      "message": "The json body provided does not match the expected schema",
                      "validationErrors": [
                        {
                          "errorName": "fieldMustBeString",
                          "message": "Element at path must be a string",
                          "jsonPath": "$.value.currency"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unauthorized": {
                    "description": "Unauthorized",
                    "value": {
                      "errorName": "accessDenied",
                      "message": "Access to the requested resource has been denied"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "notFound": {
                    "description": "Not found",
                    "value": {
                      "errorName": "endpointNotFound",
                      "message": "Requested endpoint was not found."
                    }
                  }
                }
              }
            }
          },
          "415": {
            "description": "Unsupported media type",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unsupported": {
                    "description": "Unsupported media type",
                    "value": {
                      "errorName": "headerHasInvalidValue",
                      "message": "Bad content type"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/vnd.worldpay.payments-v7+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "transactionReference": {
        "maxLength": 64,
        "minLength": 1,
        "pattern": "^[-A-Za-z0-9_!@#$%()*=.:;?\\[\\]{}~`/+]*$",
        "type": "string",
        "description": "A unique reference generated by you that is used to identify a payment throughout its lifecycle."
      },
      "entity": {
        "maxLength": 32,
        "minLength": 1,
        "pattern": "^([A-Za-z0-9]+[A-Za-z0-9 ]*)?$",
        "example": "default",
        "type": "string",
        "description": "Direct your payment to assist with billing, reporting and reconciliation. This is mandatory for authentication and queries."
      },
      "mcc": {
        "pattern": "^\\d{4}$",
        "type": "string",
        "description": "You can apply a merchant category code `mcc` to an individual request. You can only provide an `mcc` if we have enabled the dynamic mcc feature during boarding. If enabled but not provided, `merchant.mcc` defaults to a configured value."
      },
      "paymentFacilitator": {
        "required": [
          "schemeId",
          "subMerchant"
        ],
        "type": "object",
        "description": "An object containing Payment Facilitator information. This information is required for every authorization **only if you are a Payment Facilitator**.",
        "properties": {
          "schemeId": {
            "maxLength": 11,
            "minLength": 1,
            "pattern": "[0-9]*$",
            "type": "string",
            "description": "Your payment facilitator ID received from Visa, Mastercard, or Amex."
          },
          "independentSalesOrganizationId": {
            "maxLength": 11,
            "minLength": 1,
            "pattern": "[0-9]*$",
            "type": "string"
          },
          "subMerchant": {
            "required": [
              "reference",
              "name",
              "address"
            ],
            "type": "object",
            "properties": {
              "name": {
                "maxLength": 25,
                "minLength": 1,
                "pattern": "^(?!\\s*$)[A-Za-z0-9 ]*$",
                "type": "string"
              },
              "reference": {
                "type": "string"
              },
              "address": {
                "type": "object",
                "required": [
                  "postalCode",
                  "street",
                  "city",
                  "countryCode"
                ],
                "properties": {
                  "postalCode": {
                    "maxLength": 10,
                    "minLength": 1,
                    "pattern": "^(?!\\s*$)[a-zA-Z0-9\\s]*$",
                    "type": "string",
                    "example": "SW1 1AA"
                  },
                  "street": {
                    "maxLength": 50,
                    "minLength": 1,
                    "pattern": "^(?!\\s*$)[A-Za-z0-9\\s]*$",
                    "type": "string",
                    "example": "221B Baker Street"
                  },
                  "city": {
                    "maxLength": 13,
                    "minLength": 1,
                    "pattern": "^(?!\\s*$)[A-Za-z\\s-]*$",
                    "type": "string",
                    "example": "London"
                  },
                  "state": {
                    "maxLength": 3,
                    "minLength": 1,
                    "pattern": "^[a-zA-Z0-9]*$",
                    "type": "string",
                    "description": "The state code of the subMerchant in ISO-3166-2 format."
                  },
                  "countryCode": {
                    "maxLength": 2,
                    "minLength": 2,
                    "pattern": "^[A-Z]*$",
                    "type": "string",
                    "description": "Country code of the subMerchant in [ISO 3166-1 Alpha-2 format](/products/reference/supported-countries-currencies#iso-country-codes)."
                  }
                }
              },
              "phoneNumber": {
                "maxLength": 20,
                "minLength": 4,
                "pattern": "^(?!\\s*$)[0-9\\s()+-/.x]*$",
                "type": "string"
              },
              "taxReference": {
                "maxLength": 20,
                "minLength": 1,
                "pattern": "^(?!\\s*$)[a-zA-Z0-9\\s-]*$",
                "type": "string"
              },
              "email": {
                "maxLength": 20,
                "minLength": 4,
                "type": "string"
              },
              "url": {
                "maxLength": 255,
                "minLength": 1,
                "pattern": "^[a-zA-Z0-9@!£*#$)(+-_=.,/;:]*$",
                "type": "string"
              }
            }
          }
        }
      },
      "taxReference": {
        "maxLength": 20,
        "minLength": 1,
        "pattern": "^(?!\\s*$)[a-zA-Z0-9\\s-]*$",
        "type": "string",
        "description": "Merchant's tax reference."
      },
      "narrative": {
        "required": [
          "line1"
        ],
        "type": "object",
        "description": "The text that appears on your customer's statement. Used to identify the merchant.",
        "properties": {
          "line1": {
            "type": "string",
            "minLength": 1,
            "maxLength": 24,
            "pattern": "^[a-zA-Z0-9 _!@#$%()*=.:;?[]{}~/+-,`^&]*$",
            "description": "The first line of the narrative which appears on your customer's statement (24 characters max. If character is not supported it is replaced with a space)."
          },
          "line2": {
            "type": "string",
            "minLength": 1,
            "maxLength": 24,
            "pattern": "^[a-zA-Z0-9 _!@#$%()*=.:;?[]{}~/+-,`^&]*$",
            "description": "Additional details about the payment e.g. order number, telephone number."
          }
        }
      },
      "routing": {
        "type": "object",
        "description": "An object containing specific routing preferences.",
        "properties": {
          "fundingType": {
            "type": "string",
            "description": "Specifies the credit or debit functionality of a combo card.",
            "enum": [
              "credit",
              "debit"
            ]
          },
          "preferredCardBrand": {
            "type": "string",
            "enum": [
              "visa",
              "mastercard",
              "maestro",
              "amex",
              "cartesBancaires",
              "diners",
              "dankort",
              "jcb",
              "discover",
              "elo",
              "eftposAU",
              "unionPay"
            ],
            "description": "Specifies your customer's preferred card brand to be used for the transaction using a co-badged card."
          }
        }
      },
      "requestAccountUpdater": {
        "type": "boolean",
        "description": "Allows you to request a real-time account update when using a previously stored card. You can only use this with `customerAgreement` transactions with a `storedCardUsage` value of `subsequent`. If the stored card details that you provided for the transaction are no longer valid and new credentials are available, the authorization will be processed with the new card and its details will be returned in the `updatedPaymentInstrument` object in the response."
      },
      "debtRepayment": {
        "type": "boolean",
        "description": "Debt Repayment Indicator is a flag which identifies a payment with the purpose of repaying a debt."
      },
      "consumerBillPayment": {
        "type": "boolean",
        "description": "Consumer Bill Payment is a flag which identifies a bill payment paid by providers on behalf of consumers."
      },
      "recipient": {
        "type": "object",
        "description": "Additional transaction recipient data.",
        "properties": {
          "accountReference": {
            "maxLength": 10,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9]*$",
            "type": "string",
            "description": "Partial account reference of the primary recipient. Either partial card number (first 6 and last 4, no spaces), or a bank account number",
            "example": "4444331111"
          },
          "lastName": {
            "maxLength": 60,
            "minLength": 1,
            "pattern": "^[a-zA-Z@!£*#$)(+-_=.,/;:'\" ]*$",
            "type": "string",
            "description": "The last name of the recipient. If for a business, then use the company name.",
            "example": "Smith"
          },
          "address": {
            "type": "object",
            "description": "Address of the recipient.",
            "required": [
              "postalCode"
            ],
            "properties": {
              "postalCode": {
                "maxLength": 7,
                "minLength": 5,
                "pattern": "^[A-Z0-9 ]*$",
                "type": "string",
                "description": "The postal code of the recipient (UK only)"
              }
            }
          },
          "dateOfBirth": {
            "type": "object",
            "description": "Birth date of the recipient.",
            "required": [
              "day",
              "month",
              "year"
            ],
            "properties": {
              "day": {
                "type": "integer"
              },
              "month": {
                "type": "integer"
              },
              "year": {
                "type": "integer"
              }
            }
          }
        }
      },
      "industryData": {
        "type": "object",
        "description": "An object containing industry specific order data.",
        "properties": {
          "type": {
            "enum": [
              "airline"
            ],
            "type": "string"
          },
          "airlineName": {
            "type": "string",
            "description": "The name of the airline (displayed as it would be on a bill).",
            "example": "Cobb Air"
          },
          "ticket": {
            "type": "object",
            "description": "An object containing ticket details.",
            "properties": {
              "number": {
                "type": "string",
                "description": "The ticket number.",
                "example": "123"
              },
              "issuerAddress": {
                "type": "object",
                "description": "An object containing the ticket issuer's address.",
                "properties": {
                  "address1": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "countryCode": {
                    "type": "string"
                  },
                  "postalCode": {
                    "type": "string"
                  }
                },
                "required": [
                  "address1",
                  "city",
                  "countryCode",
                  "postalCode"
                ]
              },
              "flightDetails": {
                "description": "An array with objects containing flight details. Each object represents one leg of a flight and you can submit up to four flight legs within this array.",
                "items": {
                  "type": "object",
                  "properties": {
                    "fareClassCode": {
                      "type": "string",
                      "description": "The code used by airlines to identity a fare type."
                    },
                    "departureAirport": {
                      "type": "string",
                      "description": "The three letter IATA Airport Code for the departure airport.",
                      "example": "LHR"
                    },
                    "arrivalAirport": {
                      "type": "string",
                      "description": "The three letter IATA Airport Code for the destination airport.",
                      "example": "SYD"
                    },
                    "carrierCode": {
                      "type": "string",
                      "description": "Same as `industryData.airlineCode`, the code represents the airline for the specific flight leg.",
                      "example": "M1"
                    },
                    "fareBasisCode": {
                      "type": "string",
                      "description": "An optional extension to the `fareClassCode` for custom codes.",
                      "example": "TMYA"
                    },
                    "flightCode": {
                      "type": "string",
                      "description": "The flight code.",
                      "example": "501"
                    },
                    "departureDate": {
                      "type": "object",
                      "description": "An object containing the date of the departure.",
                      "properties": {
                        "day": {
                          "type": "integer"
                        },
                        "month": {
                          "type": "integer"
                        },
                        "year": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "day",
                        "month",
                        "year"
                      ]
                    },
                    "stopOver": {
                      "type": "boolean",
                      "description": "Set to `true` if this flight leg is a stopover, connecting different destinations."
                    },
                    "taxAmount": {
                      "type": "integer",
                      "description": "The tax amount for this specific flight leg.",
                      "example": 3500
                    }
                  },
                  "required": [
                    "carrierCode",
                    "flightCode",
                    "departureAirport",
                    "arrivalAirport",
                    "departureDate",
                    "fareClassCode",
                    "taxAmount"
                  ]
                },
                "type": "array"
              },
              "restricted": {
                "type": "boolean",
                "description": "Typically, restricted airfares require approval and e-ticket processing within 24 hours of making the reservation, are not transferable if cancelled, and can have specific requirements on when or whether a cancelled ticket can be rebooked. You must define if the ticket is restricted, but this does not affect the payment flows."
              },
              "issueDate": {
                "type": "object",
                "description": "An object containing the ticket's issue date.",
                "properties": {
                  "day": {
                    "type": "integer"
                  },
                  "month": {
                    "type": "integer"
                  },
                  "year": {
                    "type": "integer"
                  }
                },
                "required": [
                  "day",
                  "month",
                  "year"
                ]
              }
            },
            "required": [
              "number",
              "restricted",
              "issuerAddress"
            ]
          },
          "agentName": {
            "type": "string",
            "description": "The name of the travel agent.",
            "example": "J Small & Co"
          },
          "agentCode": {
            "type": "string",
            "description": "The IATA travel agency code.",
            "example": "12345678"
          },
          "invoiceReference": {
            "type": "string",
            "description": "Billing Settlement Plan invoice reference."
          },
          "airlineCode": {
            "type": "string",
            "description": "The two character IATA airline code.",
            "example": "CA"
          },
          "passenger": {
            "type": "object",
            "description": "An object containing passenger details.",
            "properties": {
              "code": {
                "type": "string"
              },
              "firstName": {
                "type": "string"
              },
              "lastName": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "firstName",
              "lastName"
            ]
          }
        },
        "required": [
          "type",
          "ticket",
          "airlineName",
          "airlineCode",
          "agentCode",
          "passenger"
        ]
      },
      "shipping": {
        "type": "object",
        "description": "An object containing shipping details.",
        "properties": {
          "sender": {
            "type": "object",
            "properties": {
              "address": {
                "type": "object",
                "description": "An object containing sender's (shipped from) address.",
                "properties": {
                  "postalCode": {
                    "maxLength": 10,
                    "minLength": 1,
                    "pattern": "^[a-zA-Z0-9 ]*$",
                    "type": "string"
                  }
                }
              }
            }
          },
          "recipient": {
            "type": "object",
            "properties": {
              "address": {
                "type": "object",
                "description": "An object containing recipient's shipping address.",
                "properties": {
                  "countryCode": {
                    "maxLength": 2,
                    "minLength": 2,
                    "pattern": "^[A-Z]*$",
                    "type": "string"
                  },
                  "postalCode": {
                    "maxLength": 10,
                    "minLength": 1,
                    "pattern": "^[a-zA-Z0-9 ]*$",
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "order": {
        "type": "object",
        "description": "An object containing details about the order.",
        "properties": {
          "taxExempt": {
            "type": "boolean",
            "description": "A flag to indicate whether the purchase is exempt from tax. Must be set to `true` if `order.salesTax` is 0."
          },
          "orderDate": {
            "type": "object",
            "description": "Date of the order.",
            "properties": {
              "day": {
                "type": "integer"
              },
              "month": {
                "type": "integer"
              },
              "year": {
                "type": "integer"
              }
            },
            "required": [
              "day",
              "month",
              "year"
            ]
          },
          "items": {
            "description": "Array of order items. You can send up to 99 individual order objects within this array.",
            "items": {
              "type": "object",
              "required": [
                "name"
              ],
              "properties": {
                "commodityCode": {
                  "maxLength": 12,
                  "minLength": 1,
                  "type": "string",
                  "description": "Commodity code as defined by the National Institute of Governmental Purchasing."
                },
                "totalTaxAmount": {
                  "type": "integer",
                  "description": "Total tax amount for the item(s)."
                },
                "unitCost": {
                  "type": "integer",
                  "description": "The price of one unit of the item purchased."
                },
                "totalAmount": {
                  "type": "integer",
                  "description": "Total cost of the item(s) including tax."
                },
                "totalAmountNoTax": {
                  "type": "integer",
                  "description": "Total cost of the item(s) excluding tax."
                },
                "unitOfMeasure": {
                  "maxLength": 8,
                  "minLength": 1,
                  "type": "string",
                  "description": "The unit of measure of the purchased item. Explains how to interpret `items.quantity` field, e.g. quantity = 15, unitOfMeasure = kg."
                },
                "name": {
                  "maxLength": 26,
                  "minLength": 1,
                  "type": "string",
                  "description": "Name of the item(s)."
                },
                "quantity": {
                  "type": "integer",
                  "description": "Number of items purchased."
                },
                "productCode": {
                  "maxLength": 12,
                  "minLength": 1,
                  "type": "string",
                  "description": "Merchant defined product code."
                },
                "totalDiscountAmount": {
                  "type": "integer",
                  "description": "Total discount amount for the item(s)."
                }
              }
            },
            "type": "array"
          },
          "dutyAmount": {
            "type": "integer",
            "description": "Total amount of duty costs for the order."
          },
          "salesTax": {
            "type": "integer",
            "description": "Total amount of sales tax for the order. Must be provided if `merchant.taxReference` is supplied."
          },
          "shippingAmount": {
            "type": "integer",
            "description": "Total amount of shipping costs for the order."
          },
          "invoiceReference": {
            "maxLength": 15,
            "minLength": 1,
            "type": "string",
            "description": "Invoice reference for the order."
          },
          "discountAmount": {
            "type": "integer",
            "description": "Total amount of discounts for the order."
          }
        }
      },
      "orderReference": {
        "type": "string",
        "description": "A reference that you can apply to one or more payments according to your business needs. You may reuse the same reference across multiple payments, for example where:\n- the total amount for a single order is split across multiple payments\n- you use a single reference for each payment in a recurring agreement or split shipment scenario ",
        "maxLength": 64,
        "minLength": 1,
        "pattern": "^[-A-Za-z0-9_!@#$%()*=.:;?\\[\\]{}~/+]*$",
        "example": "order-12345"
      },
      "value": {
        "required": [
          "amount",
          "currency"
        ],
        "type": "object",
        "description": "An object that contains information about the value of the payment.",
        "properties": {
          "amount": {
            "type": "integer",
            "description": "The payment amount. This is a whole number with an exponent e.g. if exponent is two, 250 is 2.50.",
            "example": 250
          },
          "currency": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3,
            "pattern": "^[A-Z]$",
            "description": " The three character currency code. See list of [supported currencies](/products/reference/supported-countries-currencies#iso-currency-codes).",
            "example": "USD"
          }
        }
      },
      "expiryDateCard": {
        "required": [
          "month",
          "year"
        ],
        "type": "object",
        "description": "Contains your customer's card expiry date.",
        "properties": {
          "month": {
            "type": "integer",
            "pattern": "^([1-9]|1[0-2])$",
            "example": 7
          },
          "year": {
            "type": "integer",
            "pattern": "^([1-9]{1}[0-9]{3})$",
            "example": 2050
          }
        }
      },
      "expiryDateToken": {
        "required": [
          "month",
          "year"
        ],
        "type": "object",
        "description": "Contains your customer's token expiry date.",
        "properties": {
          "month": {
            "type": "integer",
            "pattern": "^([1-9]|1[0-2])$",
            "example": 7
          },
          "year": {
            "type": "integer",
            "pattern": "^([1-9]{1}[0-9]{3})$",
            "example": 2050
          }
        }
      },
      "cardHolderName": {
        "type": "string",
        "minLength": 1,
        "maxLength": 255,
        "description": "The cardholder's name as it appears on their card."
      },
      "cvc": {
        "type": "string",
        "maxLength": 4,
        "minLength": 3,
        "pattern": "^[0-9]+$",
        "description": "CVC is a unique set of 3 or 4 numbers used to verify the card. Our API checks to see if the CVC supplied matches the CVC held by the issuing bank."
      },
      "cardNumber": {
        "type": "string",
        "maxLength": 19,
        "minLength": 12,
        "pattern": "^[0-9]+$",
        "description": "Your customer's card number. Sometimes referred to as Primary Account Number (PAN)."
      },
      "tokenNumber": {
        "type": "string",
        "maxLength": 19,
        "minLength": 12,
        "pattern": "^[0-9]+$",
        "description": "The network token number."
      },
      "billingAddress": {
        "required": [
          "postalCode",
          "countryCode"
        ],
        "type": "object",
        "description": "Contains the billing address information.",
        "properties": {
          "address1": {
            "type": "string",
            "description": "First line of the address. Required if `city` is provided."
          },
          "address2": {
            "type": "string",
            "description": "Second line of the address."
          },
          "address3": {
            "type": "string",
            "description": "Third line of the address."
          },
          "city": {
            "type": "string",
            "description": "City. Required if `address1` is provided."
          },
          "postalCode": {
            "type": "string",
            "description": "Post code. Required, but an empty value can be provided for specific countries (e.g., `IE`)."
          },
          "state": {
            "type": "string",
            "description": "State/province in max 3 characters."
          },
          "countryCode": {
            "type": "string",
            "description": "Must be provided in [ISO 3166-1 Alpha-2 format](/products/reference/supported-countries-currencies#iso-country-codes)."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number.",
            "minLength": 3,
            "maxLength": 20,
            "pattern": "^[0-9()+-/.x ]+$"
          }
        }
      },
      "customerInitiatedTransaction": {
        "required": [
          "transactionReference",
          "merchant",
          "instruction",
          "channel"
        ],
        "type": "object",
        "properties": {
          "transactionReference": {
            "$ref": "#/components/schemas/transactionReference"
          },
          "orderReference": {
            "$ref": "#/components/schemas/orderReference"
          },
          "channel": {
            "enum": [
              "ecom",
              "moto"
            ],
            "type": "string",
            "description": "Interaction between the cardholder and you. Supply a value of `ecom` to process an eCommerce authorization. Supply a value of `moto` to process an authorization as a Mail Order or Telephone Order transaction. Note: 3DS `authentication` cannot be supplied for MOTO payments."
          },
          "merchant": {
            "required": [
              "entity"
            ],
            "type": "object",
            "description": "An object that contains information about the merchant.",
            "properties": {
              "entity": {
                "$ref": "#/components/schemas/entity"
              },
              "mcc": {
                "$ref": "#/components/schemas/mcc"
              },
              "paymentFacilitator": {
                "$ref": "#/components/schemas/paymentFacilitator"
              },
              "taxReference": {
                "$ref": "#/components/schemas/taxReference"
              }
            }
          },
          "instruction": {
            "required": [
              "value",
              "narrative",
              "paymentInstrument",
              "requestAutoSettlement"
            ],
            "type": "object",
            "description": "An object that contains all information related to the payment.",
            "properties": {
              "requestAutoSettlement": {
                "type": "object",
                "description": "Indicates whether the transaction should be sent for settlement now `true` or later `false`, at a time of your choosing.",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  }
                }
              },
              "value": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/value"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "estimated": {
                        "type": "boolean",
                        "description": "Set to `true` for an estimated authorization value, which you can [increase at a later stage](/products/card-payments/manage-payments#increase-an-authorization). {% admonition type=\"info\" name=\"Note\" %} `requestAutoSettlement` must be `false` for estimated authorizations.{% /admonition %} "
                      },
                      "acceptPartialAmount": {
                        "type": "boolean",
                        "description": "Set to `true` to accept partial authorization amount. You can charge the remainder of the amount using a different payment credential with a new authorization request. {% admonition type=\"info\" name=\"Note\" %} `requestAutoSettlement` must be `false` for partial authorizations.{% /admonition %}"
                      },
                      "surchargeAmount": {
                        "type": "integer",
                        "description": "The charging amount representing processing and service fees. Ensure that the `surchargeAmount` complies with local regulations and card network rules before applying. {% admonition type=\"info\" name=\"Note\" %} The surcharge fee is included in the total transaction amount, e.g. if the `value.surchargeAmount` is $20 and the `value.amount` is $100, then the actual cost of goods/services is $80. {% /admonition %}"
                      },
                      "convenienceAmount": {
                        "type": "integer",
                        "description": "The charging amount representing the offer of a convenient payment method or channel (such as online booking fee). Ensure that the `convenienceAmount` complies with local regulations and card network rules before applying. {% admonition type=\"info\" name=\"Note\" %} The convenience fee is included in the total transaction amount, e.g. if the `value.convenienceAmount` is $20 and the `value.amount` is $100, then the actual cost of goods/services is $80. {% /admonition %}"
                      }
                    }
                  }
                ]
              },
              "narrative": {
                "$ref": "#/components/schemas/narrative"
              },
              "paymentInstrument": {
                "type": "object",
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/card_plain"
                  },
                  {
                    "$ref": "#/components/schemas/card_token"
                  },
                  {
                    "$ref": "#/components/schemas/card_networkToken"
                  },
                  {
                    "$ref": "#/components/schemas/card_checkout"
                  },
                  {
                    "$ref": "#/components/schemas/card_wallet_applepay"
                  },
                  {
                    "$ref": "#/components/schemas/card_wallet_googlepay"
                  },
                  {
                    "$ref": "#/components/schemas/card_networkToken_applepay"
                  },
                  {
                    "$ref": "#/components/schemas/card_networkToken_googlepay"
                  }
                ],
                "discriminator": {
                  "mapping": {
                    "card/plain": "#/components/schemas/card_plain",
                    "card/token": "#/components/schemas/card_token",
                    "card/networkToken": "#/components/schemas/card_networkToken",
                    "card/checkout": "#/components/schemas/card_checkout",
                    "card/wallet+applepay": "#/components/schemas/card_wallet_applepay",
                    "card/wallet+googlepay": "#/components/schemas/card_wallet_googlepay",
                    "card/networkToken+applepay": "#/components/schemas/card_networkToken_applepay",
                    "card/networkToken+googlepay": "#/components/schemas/card_networkToken_googlepay"
                  },
                  "propertyName": "type"
                }
              },
              "customerAgreement": {
                "type": "object",
                "description": "Contains specific customer agreements for the transaction.",
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/cit_cardOnFile"
                  },
                  {
                    "$ref": "#/components/schemas/cit_subscription"
                  },
                  {
                    "$ref": "#/components/schemas/cit_installment"
                  }
                ],
                "discriminator": {
                  "propertyName": "type",
                  "mapping": {
                    "cardOnFile": "#/components/schemas/cit_cardOnFile",
                    "subscription": "#/components/schemas/cit_subscription",
                    "installment": "#/components/schemas/cit_installment"
                  }
                }
              },
              "consumerBillPayment": {
                "$ref": "#/components/schemas/consumerBillPayment"
              },
              "debtRepayment": {
                "$ref": "#/components/schemas/debtRepayment"
              },
              "requestAccountUpdater": {
                "$ref": "#/components/schemas/requestAccountUpdater"
              },
              "fundsTransfer": {
                "$ref": "#/components/schemas/fundsTransfer"
              },
              "routing": {
                "$ref": "#/components/schemas/routing"
              }
            }
          },
          "riskProfile": {
            "type": "string",
            "description": "Used to apply the SCA exemption in the payment request and update the FraudSight data model to benefit future payments. \n\nIf using either the [FraudSight](/products/fraudsight/assessment#linking-the-fraudsight-assessment) or [Exemptions](/products/sca-exemptions/assessment#applying-the-exemption) API you __must__ provide this.\n",
            "example": "https://try.access.worldpay.com/riskProfile/{linkData}"
          },
          "authentication": {
            "description": "An object containing authentication details.",
            "properties": {
              "threeDS": {
                "type": "object",
                "description": "3DS authentication data. Only allowed for `card/plain`, `card/token`, `card/checkout`, `card/networkToken` payment instruments.",
                "required": [
                  "version",
                  "eci"
                ],
                "properties": {
                  "version": {
                    "maxLength": 10,
                    "minLength": 5,
                    "type": "string",
                    "description": "The version of 3DS used to process the transaction.",
                    "example": "2.2.0"
                  },
                  "eci": {
                    "maxLength": 2,
                    "minLength": 2,
                    "type": "string",
                    "description": "Electronic Commerce Indicator (ECI).",
                    "example": "05"
                  },
                  "authenticationValue": {
                    "maxLength": 40,
                    "minLength": 1,
                    "type": "string",
                    "description": "Required, if `authentication.eci` value is 01, 02, 05 or 06.  A cryptographic value that provides evidence of the outcome of a 3DS verification.",
                    "example": "kBNHXUAy4+HT1gAMBSDajheBcxQh"
                  },
                  "transactionId": {
                    "maxLength": 36,
                    "minLength": 36,
                    "type": "string",
                    "description": "Required, if `authentication.eci` value is 01, 02, 05 or 06.  A unique authentication transaction identifier, generated by the issuer.",
                    "example": "b8fb4ecc-7e2e-4b1c-816d-0149849776b8",
                    "format": "RFC 4122 UUID"
                  },
                  "cryptogramAlgorithm": {
                    "type": "integer",
                    "description": "Indicates the algorithm used to generate the cryptogram. For Cartes Bancaires authorizations only.",
                    "example": 2
                  },
                  "challengePreference": {
                    "type": "string",
                    "description": "Indicates the preferred challenge behavior. For Cartes Bancaires authorizations only.",
                    "enum": [
                      "noPreference",
                      "noChallengeRequested",
                      "challengeRequested",
                      "challengeMandated",
                      "noChallengeRequestedTRAPerformed"
                    ]
                  },
                  "authenticationFlow": {
                    "type": "string",
                    "description": "Set to `challenge` if your customer was redirected to their bank to complete authentication, or `frictionless` if your customer completed authentication without needing to be redirected to their bank. For Cartes Bancaires authorizations only.",
                    "enum": [
                      "challenge",
                      "frictionless"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "description": "Indicates the outcome of the authentication or verification request.\n - `Y` - Successful authentication\n - `N` - Failed authentication\n - `U` - Unable to complete authentication\n - `A` - Successful attempts authentication\n - `I` - Exemption acknowledged\n\n For Cartes Bancaires authorizations only."
                  },
                  "statusReason": {
                    "type": "string",
                    "description": "Provides further information relating to the outcome of the authentication. Returned for failed authentications only. For Cartes Bancaires authorizations only."
                  },
                  "cancellationIndicator": {
                    "type": "string",
                    "description": "An indicator as to why the authentication was cancelled. For Cartes Bancaires authorizations only."
                  },
                  "networkScore": {
                    "type": "string",
                    "description": "The global score calculated by the Cartes Bancaires scoring platform. For Cartes Bancaires authorizations only."
                  },
                  "brand": {
                    "type": "string",
                    "description": "The card brand used in the authentication. For Cartes Bancaires authorizations only.",
                    "enum": [
                      "cartesBancaires"
                    ]
                  }
                }
              },
              "networkToken": {
                "type": "object",
                "description": "Network Token authentication. Only allowed for `card/networkToken` transactions.",
                "required": [
                  "cryptogram"
                ],
                "properties": {
                  "cryptogram": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 40,
                    "example": "BLIYQ4EA/wLF4/hK9ABFMAABAAA="
                  },
                  "eci": {
                    "maxLength": 2,
                    "minLength": 2,
                    "type": "string",
                    "description": "Electronic Commerce Indicator (ECI).",
                    "example": "05"
                  }
                }
              },
              "customerData": {
                "type": "object",
                "description": "Additional customer details necessary to meet local authentication, as required by country-specific regulations. Currently, this object is used solely for domestic transactions in South Korea and applicable to `card/plain`, `card/token` and `card/checkout` instruments only.",
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/southKorea_personalAuth"
                  },
                  {
                    "$ref": "#/components/schemas/southKorea_corporateAuth"
                  }
                ],
                "discriminator": {
                  "mapping": {
                    "southKorea/personal": "#/components/schemas/southKorea_personalAuth",
                    "southKorea/corporate": "#/components/schemas/southKorea_corporateAuth"
                  },
                  "propertyName": "type"
                }
              }
            }
          },
          "exemption": {
            "$ref": "#/components/schemas/exemption"
          },
          "shipping": {
            "$ref": "#/components/schemas/shipping"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "recipient": {
            "$ref": "#/components/schemas/recipient"
          },
          "customer": {
            "type": "object",
            "description": "Additional customer data.",
            "properties": {
              "documentReference": {
                "type": "string",
                "description": "Required for domestic processing in some Latin American countries.",
                "minLength": 1,
                "maxLength": 50
              },
              "reference": {
                "type": "string",
                "description": "Merchant-generated customer reference.",
                "minLength": 1,
                "maxLength": 17
              },
              "ipAddress": {
                "type": "string",
                "description": "Customer's IP address. Required for certain jurisdictions and/or MCCs.",
                "minLength": 1,
                "maxLength": 50,
                "pattern": "^[a-zA-Z0-9\\-:.]+$"
              },
              "emailAddress": {
                "type": "string",
                "description": "Customer's email address. If enabled, your customer will receive the transaction outcome to this email address.",
                "minLength": 1,
                "maxLength": 128
              }
            }
          },
          "industryData": {
            "$ref": "#/components/schemas/industryData"
          }
        }
      },
      "merchantInitiatedTransaction": {
        "required": [
          "transactionReference",
          "merchant",
          "instruction"
        ],
        "type": "object",
        "properties": {
          "transactionReference": {
            "$ref": "#/components/schemas/transactionReference"
          },
          "orderReference": {
            "$ref": "#/components/schemas/orderReference"
          },
          "merchant": {
            "required": [
              "entity"
            ],
            "type": "object",
            "description": "An object that contains information about the merchant.",
            "properties": {
              "entity": {
                "$ref": "#/components/schemas/entity"
              },
              "mcc": {
                "$ref": "#/components/schemas/mcc"
              },
              "paymentFacilitator": {
                "$ref": "#/components/schemas/paymentFacilitator"
              },
              "taxReference": {
                "$ref": "#/components/schemas/taxReference"
              }
            }
          },
          "instruction": {
            "required": [
              "value",
              "narrative",
              "paymentInstrument",
              "requestAutoSettlement",
              "customerAgreement"
            ],
            "type": "object",
            "description": "An object that contains all information related to the payment.",
            "properties": {
              "requestAutoSettlement": {
                "type": "object",
                "description": "Indicates whether the transaction should be sent for settlement now `true` or later `false`, at a time of your choosing.",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  }
                }
              },
              "value": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/value"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "acceptPartialAmount": {
                        "type": "boolean",
                        "description": "Set to `true` to accept partial authorization amount. The remainder of the amount can be charged using a different payment credential via a new authorization request. {% admonition type=\"info\" name=\"Note\" %} `requestAutoSettlement` must be `false` for partial authorizations.{% /admonition %}"
                      },
                      "surchargeAmount": {
                        "type": "integer",
                        "description": "The charging amount representing processing and service fees. Ensure that the `surchargeAmount` complies with local regulations and card network rules before applying. {% admonition type=\"info\" name=\"Note\" %} The `surchargeAmount` is included in the total transaction amount, e.g. if the `value.surchargeAmount` is $20 and the `value.amount` is $100, then the actual cost of goods/services is $80. {% /admonition %}"
                      },
                      "convenienceAmount": {
                        "type": "integer",
                        "description": "The charging amount representing the offer of a convenient payment method or channel (such as online booking fee). Ensure that the `convenienceAmount` complies with local regulations and card network rules before applying. {% admonition type=\"info\" name=\"Note\" %} The convenience fee is included in the total transaction amount, e.g. if the `value.convenienceAmount` is $20 and the `value.amount` is $100, then the actual cost of goods/services is $80. {% /admonition %}"
                      }
                    }
                  }
                ]
              },
              "narrative": {
                "$ref": "#/components/schemas/narrative"
              },
              "paymentInstrument": {
                "type": "object",
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/card_plain_mit"
                  },
                  {
                    "$ref": "#/components/schemas/card_token_mit"
                  },
                  {
                    "$ref": "#/components/schemas/card_networkToken"
                  },
                  {
                    "$ref": "#/components/schemas/card_networkToken_applepay"
                  },
                  {
                    "$ref": "#/components/schemas/card_networkToken_googlepay"
                  }
                ],
                "discriminator": {
                  "mapping": {
                    "card/plain": "#/components/schemas/card_plain_mit",
                    "card/token": "#/components/schemas/card_token_mit",
                    "card/networkToken": "#/components/schemas/card_networkToken",
                    "card/networkToken+applepay": "#/components/schemas/card_networkToken_applepay",
                    "card/networkToken+googlepay": "#/components/schemas/card_networkToken_googlepay"
                  },
                  "propertyName": "type"
                }
              },
              "customerAgreement": {
                "type": "object",
                "description": "Contains specific customer agreements for the transaction.",
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/mit_subscription"
                  },
                  {
                    "$ref": "#/components/schemas/mit_installment"
                  },
                  {
                    "$ref": "#/components/schemas/mit_unscheduled"
                  },
                  {
                    "$ref": "#/components/schemas/mit_reauthorization"
                  },
                  {
                    "$ref": "#/components/schemas/mit_resubmission"
                  },
                  {
                    "$ref": "#/components/schemas/mit_noShow"
                  },
                  {
                    "$ref": "#/components/schemas/mit_delayedCharge"
                  }
                ],
                "discriminator": {
                  "propertyName": "type",
                  "mapping": {
                    "subscription": "#/components/schemas/mit_subscription",
                    "installment": "#/components/schemas/mit_installment",
                    "unscheduled": "#/components/schemas/mit_unscheduled",
                    "reauthorization": "#/components/schemas/mit_reauthorization",
                    "resubmission": "#/components/schemas/mit_resubmission",
                    "noShow": "#/components/schemas/mit_noShow",
                    "delayedCharge": "#/components/schemas/mit_delayedCharge"
                  }
                }
              },
              "consumerBillPayment": {
                "$ref": "#/components/schemas/consumerBillPayment"
              },
              "requestAccountUpdater": {
                "$ref": "#/components/schemas/requestAccountUpdater"
              },
              "debtRepayment": {
                "$ref": "#/components/schemas/debtRepayment"
              },
              "fundsTransfer": {
                "$ref": "#/components/schemas/fundsTransfer"
              },
              "routing": {
                "$ref": "#/components/schemas/routing"
              }
            }
          },
          "recipient": {
            "$ref": "#/components/schemas/recipient"
          },
          "shipping": {
            "$ref": "#/components/schemas/shipping"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "customer": {
            "type": "object",
            "description": "Additional customer data.",
            "properties": {
              "documentReference": {
                "type": "string",
                "description": "Required for domestic processing in some Latin American countries.",
                "minLength": 1,
                "maxLength": 50
              },
              "reference": {
                "type": "string",
                "description": "Merchant-generated customer reference.",
                "minLength": 1,
                "maxLength": 17
              },
              "emailAddress": {
                "type": "string",
                "description": "Customer's email address. If enabled by your configuration, your customer will receive the transaction outcome at this email address.",
                "minLength": 1,
                "maxLength": 128
              }
            }
          },
          "industryData": {
            "$ref": "#/components/schemas/industryData"
          },
          "riskProfile": {
            "type": "string",
            "description": "Used to update the FraudSight data model to benefit future payments.",
            "example": "https://try.access.worldpay.com/riskProfile/{linkData}"
          }
        }
      },
      "card_plain": {
        "required": [
          "type",
          "cardNumber",
          "expiryDate"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "card/plain"
            ],
            "type": "string",
            "description": "An identifier for the `paymentInstrument` being used."
          },
          "cardNumber": {
            "$ref": "#/components/schemas/cardNumber"
          },
          "cardHolderName": {
            "$ref": "#/components/schemas/cardHolderName"
          },
          "expiryDate": {
            "$ref": "#/components/schemas/expiryDateCard"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/billingAddress"
          },
          "cvc": {
            "$ref": "#/components/schemas/cvc"
          }
        }
      },
      "card_token": {
        "required": [
          "type",
          "href"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "card/token"
            ],
            "type": "string",
            "description": "An identifier for the `paymentInstrument` being used."
          },
          "href": {
            "type": "string",
            "description": "An `http` address that contains your link to an Access Token."
          },
          "cvc": {
            "$ref": "#/components/schemas/cvc"
          }
        }
      },
      "card_plain_mit": {
        "required": [
          "type",
          "cardNumber",
          "expiryDate"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "card/plain"
            ],
            "type": "string",
            "description": "An identifier for the `paymentInstrument` being used."
          },
          "cardNumber": {
            "$ref": "#/components/schemas/cardNumber"
          },
          "cardHolderName": {
            "$ref": "#/components/schemas/cardHolderName"
          },
          "expiryDate": {
            "$ref": "#/components/schemas/expiryDateCard"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/billingAddress"
          }
        }
      },
      "card_token_mit": {
        "required": [
          "type",
          "href"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "card/token"
            ],
            "type": "string",
            "description": "An identifier for the `paymentInstrument` being used."
          },
          "href": {
            "type": "string",
            "description": "An `http` address that contains your link to an Access Token."
          }
        }
      },
      "card_networkToken": {
        "required": [
          "type",
          "tokenNumber",
          "expiryDate"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "card/networkToken"
            ],
            "type": "string",
            "description": "An identifier for the `paymentInstrument` being used."
          },
          "tokenNumber": {
            "$ref": "#/components/schemas/tokenNumber"
          },
          "expiryDate": {
            "$ref": "#/components/schemas/expiryDateToken"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/billingAddress"
          },
          "cardHolderName": {
            "$ref": "#/components/schemas/cardHolderName"
          }
        }
      },
      "card_checkout": {
        "required": [
          "type",
          "tokenHref"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "card/checkout"
            ],
            "type": "string"
          },
          "tokenHref": {
            "type": "string"
          },
          "cvcHref": {
            "type": "string"
          }
        }
      },
      "card_wallet_applepay": {
        "required": [
          "type",
          "walletToken"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "card/wallet+applepay"
            ],
            "type": "string"
          },
          "walletToken": {
            "type": "string",
            "description": "The encrypted wallet token returned by Apple",
            "example": "{\"version\": \"EC_v1\",\"data\": \"kdHd..GQ==\",\"signature\": \"MIAGCSqGSIb3DQEH...AAA\",\"header\": {\"transactionId\": \"d3b28af..f8\",\"ephemeralPublicKey\": \"MFkwE..Q==\",\"publicKeyHash\": \"dxCK..6o=\"}}"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/billingAddress"
          }
        }
      },
      "card_wallet_googlepay": {
        "required": [
          "type",
          "walletToken"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "card/wallet+googlepay"
            ],
            "type": "string"
          },
          "walletToken": {
            "type": "string",
            "description": "The encrypted wallet token returned by Google",
            "example": "{\"protocolVersion\":\"ECv1\",\"signature\":\"MEQCIH6Q4OwQ0jAceFEkGF0JID6sJNXxOEi4r+mA7biRxqBQAiAondqoUpU/bdsrAOpZIsrHQS9nwiiNwOrr24RyPeHA0Q\\u003d\\u003d\",\"signedMessage\":\"{\\\"tag\\\":\\\"jpGz1F1Bcoi/fCNxI9n7Qrsw7i7KHrGtTf3NrRclt+U\\\\u003d\\\",\\\"ephemeralPublicKey\\\":\\\"BJatyFvFPPD21l8/uLP46Ta1hsKHndf8Z+tAgk+DEPQgYTkhHy19cF3h/bXs0tWTmZtnNm+vlVrKbRU9K8+7cZs\\\\u003d\\\",\\\"encryptedMessage\\\":\\\"mKOoXwi8OavZ\\\"}\"}"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/billingAddress"
          }
        }
      },
      "card_networkToken_applepay": {
        "required": [
          "type",
          "tokenNumber",
          "expiryDate"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "card/networkToken+applepay"
            ],
            "type": "string"
          },
          "tokenNumber": {
            "$ref": "#/components/schemas/tokenNumber"
          },
          "expiryDate": {
            "$ref": "#/components/schemas/expiryDateToken"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/billingAddress"
          },
          "cardHolderName": {
            "$ref": "#/components/schemas/cardHolderName"
          }
        }
      },
      "card_networkToken_googlepay": {
        "required": [
          "type",
          "tokenNumber",
          "expiryDate"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "card/networkToken+googlepay"
            ],
            "type": "string"
          },
          "tokenNumber": {
            "$ref": "#/components/schemas/tokenNumber"
          },
          "expiryDate": {
            "$ref": "#/components/schemas/expiryDateToken"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/billingAddress"
          },
          "cardHolderName": {
            "$ref": "#/components/schemas/cardHolderName"
          }
        }
      },
      "southKorea_personalAuth": {
        "required": [
          "type",
          "firstTwoOfPin",
          "dateOfBirth"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Personal card issued in South Korea.",
            "enum": [
              "southKorea/personal"
            ]
          },
          "firstTwoOfPin": {
            "type": "string",
            "description": "The first two characters of the card's PIN.",
            "minLength": 2,
            "maxLength": 2,
            "example": "34"
          },
          "dateOfBirth": {
            "type": "object",
            "description": "Cardholder's date of birth.",
            "required": [
              "day",
              "month",
              "year"
            ],
            "properties": {
              "day": {
                "type": "integer",
                "example": 1
              },
              "month": {
                "type": "integer",
                "example": 1
              },
              "year": {
                "type": "integer",
                "example": 1900
              }
            }
          }
        }
      },
      "southKorea_corporateAuth": {
        "required": [
          "firstTwoOfPin",
          "businessRegistrationNumber",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Corporate card issued in South Korea.",
            "enum": [
              "southKorea/corporate"
            ]
          },
          "firstTwoOfPin": {
            "type": "string",
            "description": "The first two characters of the card's PIN.",
            "minLength": 2,
            "maxLength": 2,
            "example": "34"
          },
          "businessRegistrationNumber": {
            "type": "string",
            "description": "A unique identifier assigned to businesses when they register with the Korean tax authorities.",
            "minLength": 6,
            "maxLength": 10
          }
        }
      },
      "updatedPaymentInstrument": {
        "type": "object",
        "description": "Details of the updated payment instrument.",
        "properties": {
          "appliedNetworkToken": {
            "type": "boolean",
            "description": "Returned if the payment instrument was swapped for a network token."
          },
          "accountUpdaterMessage": {
            "type": "string",
            "description": "Details on the type of payment instrument update.",
            "enum": [
              "The merchant is not registered in the update program",
              "The account number was changed",
              "The account was closed",
              "TThe expiration date was changed",
              "The issuing bank does not participate in the update program",
              "Contact the cardholder for updated information",
              "No match found",
              "No changes found"
            ],
            "x-enumDescriptions": {
              "The account number was changed": "A new card has been issued with a change in the card number. Returned for both Real-Time and Managed Account Updater.",
              "The account was closed": "The account is closed and the card is no longer valid. Ask your customer for an alternative payment method. Returned for both Real-Time and Managed Account Updater.",
              "The expiration date was changed": "A new card has been issued with an updated expiry date. In most cases the card number remains unchanged. Returned for both Real-Time and Managed Account Updater.",
              "The issuing bank does not participate in the update program": "It is not known whether an account update is available. Returned for Managed Account Updater only.",
              "Contact the cardholder for updated information": "A match was found but you may need to contact the cardholder for updated card details. This could be due to cardholder opt-out or other reasons. Returned for both Real-Time and Managed Account Updater."
            },
            "example": "The account number was changed"
          },
          "type": {
            "type": "string",
            "example": "card/plain+masked"
          },
          "cardBin": {
            "pattern": "^[0-9*]+$",
            "type": "string",
            "description": "The updated card BIN (Bank Identification Number).",
            "example": "444433"
          },
          "lastFour": {
            "pattern": "^[0-9*]+$",
            "type": "string",
            "description": "The four digits of the updated card. Some characters may be obfuscated with a `*` if the PAN length is less than 16 characters.",
            "example": 1111
          },
          "cardNumber": {
            "type": "string",
            "description": "The full card number of the updated card. Returned only for merchants configured to receive card numbers that are not obfuscated.",
            "maxLength": 19,
            "minLength": 12,
            "pattern": "^[0-9]+$"
          },
          "expiryDate": {
            "type": "object",
            "properties": {
              "month": {
                "type": "integer"
              },
              "year": {
                "type": "integer"
              }
            }
          },
          "cardBrand": {
            "type": "string",
            "description": "The brand of the updated card. In rare circumstances a card may be reissued under a different brand."
          },
          "countryCode": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2,
            "pattern": "^[A-Z]*$",
            "description": "Country code of the updated card in [ISO 3166-1 Alpha-2 format](/products/reference/supported-countries-currencies#iso-country-codes).",
            "example": "GB"
          },
          "fundingType": {
            "type": "string",
            "description": "How the card is funded."
          }
        }
      },
      "amounts": {
        "type": "object",
        "description": "An object containing transaction amounts. Returned for partial authorizations.",
        "properties": {
          "requested": {
            "type": "integer",
            "description": "The requested amount.",
            "example": 1000
          },
          "totalAuthorized": {
            "type": "integer",
            "description": "The total amount authorized by the card issuer.",
            "example": 700
          },
          "currency": {
            "maxLength": 3,
            "minLength": 3,
            "type": "string",
            "pattern": "^[A-Z]$",
            "description": "The three character currency code. See list of [supported currencies](/products/reference/supported-countries-currencies#iso-currency-codes).",
            "example": "GBP"
          },
          "partialAuthorization": {
            "type": "boolean",
            "description": "Indicates that the authorized amount is less than what was requested."
          }
        }
      },
      "riskFactors": {
        "type": "array",
        "items": {
          "required": [
            "type",
            "risk"
          ],
          "type": "object",
          "properties": {
            "type": {
              "enum": [
                "avs",
                "cvc",
                "riskProfile"
              ],
              "type": "string"
            },
            "risk": {
              "enum": [
                "notChecked",
                "notMatched",
                "notSupplied",
                "verificationFailed"
              ],
              "type": "string",
              "description": "Result of the verification."
            },
            "detail": {
              "enum": [
                "address",
                "postcode"
              ],
              "type": "string"
            }
          }
        },
        "description": "Any risk factors which have been identified for the authorization. This section will not appear if no risks are identified."
      },
      "scheme": {
        "required": [
          "reference"
        ],
        "type": "object",
        "description": "An object containing information returned by the card scheme.",
        "properties": {
          "reference": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "The reference returned by the scheme for this particular payment authorization. The scheme reference returned in a customer initiated transaction should be provided in all subsequent merchant initiated transactions.",
            "example": "MCCOLXT1C0104  "
          }
        }
      },
      "issuer": {
        "required": [
          "authorizationCode"
        ],
        "type": "object",
        "description": "An object containing information returned by the issuer.",
        "properties": {
          "authorizationCode": {
            "pattern": "^[a-zA-Z0-9]+$",
            "type": "string",
            "description": "A code returned by the card issuer for a successful authorization. Used in reconciliation and dispute management.",
            "example": "T31306"
          }
        }
      },
      "responsePaymentInstrument": {
        "type": "object",
        "description": "Details of the paymentInstrument used.",
        "properties": {
          "type": {
            "type": "string"
          },
          "cardBin": {
            "pattern": "^[0-9*]+$",
            "type": "string",
            "description": "The card BIN (Bank Identification Number) is the first 6 or 8 digits of the card number, and can be used to identify the card issuer, the card brand(s) (eg Visa, Cartes Bancaires), and the country. Card BINs are used to route transactions, check card capabilities, and in fraud assessments.",
            "example": "444433"
          },
          "lastFour": {
            "pattern": "^[0-9*]+$",
            "type": "string",
            "description": "The last four digits of the card. Some characters may be obfuscated with a `*` if the PAN length is less than 16 characters.",
            "example": "1111"
          },
          "category": {
            "type": "string",
            "description": "Whether the card is classed as a consumer card or a card for commercial use.",
            "enum": [
              "commercial",
              "consumer"
            ]
          },
          "countryCode": {
            "maxLength": 2,
            "minLength": 2,
            "pattern": "^[A-Z]+$",
            "type": "string",
            "description": "The [ISO 3166-1 Alpha-2 format](/products/reference/supported-countries-currencies#iso-country-codes) country code that the card was issued in. May return `N/A` where the country is unknown.",
            "example": "GB"
          },
          "issuerName": {
            "type": "string",
            "description": "The name of the card issuer.",
            "example": "AN ISSUING BANK LTD"
          },
          "fundingType": {
            "type": "string",
            "description": "How the card is funded.",
            "enum": [
              "credit",
              "debit",
              "prepaid",
              "chargeCard",
              "deferredDebit",
              "unknown"
            ]
          },
          "cardBrand": {
            "type": "string",
            "description": "The card brand that the transaction was processed with. Sometimes referred to as the network or scheme.",
            "enum": [
              "visa",
              "mastercard",
              "amex",
              "maestro",
              "visaElectron",
              "diners",
              "discover",
              "jcb",
              "argencard",
              "cabal",
              "carteBleue",
              "cartesBancaires",
              "carnet",
              "cencosud",
              "coopeplus",
              "credimas",
              "dankort",
              "elo",
              "eftposAU",
              "hipercard",
              "italcred",
              "naranja",
              "nativa",
              "nevada",
              "nexo",
              "tarjeta",
              "unionPay"
            ]
          },
          "paymentAccountReference": {
            "type": "string",
            "description": "The payment account reference (PAR) is a non-financial reference that uniquely identifies the underlying cardholder account. This allows you to correlate payments made from the same account with differing instruments (e.g. `card/plain` and `card/wallet+applepay`), where the same account funds the transaction. A PAR cannot be used to initiate a payment.",
            "example": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
          },
          "expiryDate": {
            "type": "object",
            "description": "The expiry date of the card or network token (where the supplied paymentInstrument was `card/wallet+applepay`, `card/wallet+googlepay`, `card/networkToken`, `card/networkToken+applepay` or `card/networkToken+googlepay`)",
            "properties": {
              "month": {
                "type": "integer"
              },
              "year": {
                "type": "integer"
              }
            }
          },
          "debitNetwork": {
            "type": "string",
            "description": "The debit network that the transaction was routed through. Returned optionally for subscribing merchants.",
            "enum": [
              "accel",
              "affn",
              "alaskaOption",
              "ath",
              "culiancePrime",
              "culiance",
              "interlink",
              "jeanie",
              "maestro",
              "nyce",
              "pavd",
              "pulse",
              "shazam",
              "star",
              "starAccess"
            ]
          }
        }
      },
      "advice": {
        "type": "object",
        "description": "Advice on the outcome of this request.",
        "properties": {
          "code": {
            "type": "string",
            "description": "An advice code returned by the card scheme (currently supported: `mastercard`, `maestro`)"
          }
        },
        "required": [
          "code"
        ]
      },
      "exemptionOutcome": {
        "required": [
          "result",
          "reason"
        ],
        "type": "object",
        "description": "An exemption result and reason if either a risk profile was included in your authorization request, or if you included the `exemption` object in the request.",
        "properties": {
          "result": {
            "enum": [
              "honored",
              "outOfScope",
              "rejected"
            ],
            "type": "string",
            "description": "The result of the requested exemption."
          },
          "reason": {
            "enum": [
              "highRisk",
              "invalid",
              "issuerHonored",
              "issuerRejected",
              "notSubscribed",
              "oneLegOut",
              "unsupportedAcquirer"
            ],
            "x-enumDescriptions": {
              "highRisk": "The transaction is deemed high risk by our TRA (Transaction Risk Assessment), and therefore the acquirer exemption cannot be applied.",
              "invalid": "The exemption is invalid. For example, a `lowValue` exemption was requested for a requested authorization value greater than 30 EUR.",
              "issuerHonored": "The issuer has accepted the exemption.",
              "issuerRejected": "The issuer has rejected the exemption. You may retry the authorization in certain circumstances (for example if you receive `refusalCode` 65, you can retry the transaction with valid 3DS `authentication` data).",
              "notSubscribed": "You are not subscribed to the exemption service. Please contact your Implementation Manager.",
              "oneLegOut": "Either the issuer or the acquirer are located in a region where Strong Customer Authentication is not required. An exemption is not required.",
              "unsupportedAcquirer": "Exemption processing is not currently supported through the selected acquirer."
            },
            "type": "string",
            "description": "The reason for the exemption outcome. \n"
          }
        }
      },
      "commandId": {
        "maxLength": 36,
        "minLength": 21,
        "pattern": "^[A-Za-z0-9_-]+$",
        "type": "string",
        "description": "Unique identifier generated by us for a single instance of an interaction (command) with the Worldpay API.",
        "example": "cmdRvD-OxCyXgJLQ9_jbqXAC0"
      },
      "paymentId": {
        "maxLength": 36,
        "minLength": 21,
        "pattern": "^[A-Za-z0-9_-]+$",
        "type": "string",
        "description": "Unique identifier generated by us for a single payment. Generated at authorization, and maintained through successive payment actions.",
        "example": "payI-dUcet9fk4_X4qZU0hpU0"
      },
      "payments_links_list_authorized": {
        "type": "object",
        "properties": {
          "cardPayments:cancel": {
            "type": "object",
            "description": "An action link to cancel the full authorized amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to cancel the full authorized amount.",
                "example": "https://try.access.worldpay.com/payments/authorizations/cancellations/{linkData}"
              }
            }
          },
          "cardPayments:partialCancel": {
            "type": "object",
            "description": "An action link to cancel a portion of the authorized amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to cancel a portion of the authorized amount.",
                "example": "https://try.access.worldpay.com/payments/authorizations/cancellations/partials/{linkData}"
              }
            }
          },
          "cardPayments:settle": {
            "type": "object",
            "description": "An action link to send the full authorized amount for settlement.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to send the full authorized amount for settlement.",
                "example": "https://try.access.worldpay.com/payments/settlements/full/{linkData}"
              }
            }
          },
          "cardPayments:partialSettle": {
            "type": "object",
            "description": "An action link to send a portion of the authorized amount for settlement.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to send a portion of the authorized amount for settlement.",
                "example": "https://try.access.worldpay.com/payments/settlements/partials/{linkData}"
              }
            }
          },
          "cardPayments:reverse": {
            "type": "object",
            "description": "An action link to cancel or refund the full amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to cancel or refund the full amount.",
                "example": "https://try.access.worldpay.com/payments/authorizations/reversals/{linkData}"
              }
            }
          },
          "cardPayments:events": {
            "type": "object",
            "description": "An action link to retrieve the last event of the payment.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to retrieve the last event of the payment.",
                "example": "https://try.access.worldpay.com/payments/events/{linkData}"
              }
            }
          }
        }
      },
      "payments_links_list_increaseAuthorizedAmount": {
        "type": "object",
        "properties": {
          "cardPayments:increaseAuthorizedAmount": {
            "type": "object",
            "description": "An action link to increase the authorized amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to cancel the full authorized amount.",
                "example": "https://try.access.worldpay.com/payments/authorizations/incrementalAuthorizations/{linkData}"
              }
            }
          },
          "cardPayments:cancel": {
            "type": "object",
            "description": "An action link to cancel the full authorized amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to cancel the full authorized amount.",
                "example": "https://try.access.worldpay.com/payments/authorizations/cancellations/{linkData}"
              }
            }
          },
          "cardPayments:partialCancel": {
            "type": "object",
            "description": "An action link to cancel a portion of the authorized amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to cancel a portion of the authorized amount.",
                "example": "https://try.access.worldpay.com/payments/authorizations/cancellations/partials/{linkData}"
              }
            }
          },
          "cardPayments:settle": {
            "type": "object",
            "description": "An action link to send the full authorized amount for settlement.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to send the full authorized amount for settlement.",
                "example": "https://try.access.worldpay.com/payments/settlements/full/{linkData}"
              }
            }
          },
          "cardPayments:partialSettle": {
            "type": "object",
            "description": "An action link to send a portion of the authorized amount for settlement.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to send a portion of the authorized amount for settlement.",
                "example": "https://try.access.worldpay.com/payments/settlements/partials/{linkData}"
              }
            }
          },
          "cardPayments:events": {
            "type": "object",
            "description": "An action link to retrieve the last event of the payment.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to retrieve the last event of the payment.",
                "example": "https://try.access.worldpay.com/payments/events/{linkData}"
              }
            }
          }
        }
      },
      "payments_links_list_sentForSettlement": {
        "type": "object",
        "properties": {
          "cardPayments:refund": {
            "type": "object",
            "description": "An action link to refund the full settled amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to refund the full settled amount.",
                "example": "https://try.access.worldpay.com/payments/settlements/refunds/full/{linkData}"
              }
            }
          },
          "cardPayments:partialRefund": {
            "type": "object",
            "description": "An action link to refund a portion of the settled amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to refund a portion of the settled amount.",
                "example": "https://try.access.worldpay.com/payments/settlements/refunds/partials/{linkData}"
              }
            }
          },
          "cardPayments:reverse": {
            "type": "object",
            "description": "An action link to cancel or refund the full amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to cancel or refund the full amount.",
                "example": "https://try.access.worldpay.com/payments/sales/reversals/{linkData}"
              }
            }
          },
          "cardPayments:events": {
            "type": "object",
            "description": "An action link to retrieve the last event of the payment.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to retrieve the last event of the payment.",
                "example": "https://try.access.worldpay.com/payments/events/{linkData}"
              }
            }
          }
        }
      },
      "payments_links_list_partialSettle": {
        "type": "object",
        "properties": {
          "cardPayments:refund": {
            "type": "object",
            "description": "An action link to refund the full settled amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to refund the full settled amount.",
                "example": "https://try.access.worldpay.com/payments/settlements/refunds/full/{linkData}"
              }
            }
          },
          "cardPayments:partialRefund": {
            "type": "object",
            "description": "An action link to refund a portion of the settled amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to refund a portion of the settled amount.",
                "example": "https://try.access.worldpay.com/payments/settlements/refunds/partials/{linkData}"
              }
            }
          },
          "cardPayments:partialSettle": {
            "type": "object",
            "description": "An action link to send a portion of the authorized amount for settlement.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to send a portion of the authorized amount for settlement.",
                "example": "https://try.access.worldpay.com/payments/settlements/partials/{linkData}"
              }
            }
          },
          "cardPayments:cancel": {
            "type": "object",
            "description": "An action link to cancel the full authorized amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to cancel the full authorized amount.",
                "example": "https://try.access.worldpay.com/payments/authorizations/cancellations/{linkData}"
              }
            }
          },
          "cardPayments:reverse": {
            "type": "object",
            "description": "An action link to cancel or refund the full amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to cancel or refund the full amount.",
                "example": "https://try.access.worldpay.com/payments/sales/reversals/{linkData}"
              }
            }
          },
          "cardPayments:events": {
            "type": "object",
            "description": "An action link to retrieve the last event of the payment.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to retrieve the last event of the payment.",
                "example": "https://try.access.worldpay.com/payments/events/{linkData}"
              }
            }
          }
        }
      },
      "payments_links_list_fullSettle": {
        "type": "object",
        "properties": {
          "cardPayments:refund": {
            "type": "object",
            "description": "An action link to refund the full settled amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to refund the full settled amount.",
                "example": "https://try.access.worldpay.com/payments/settlements/refunds/full/{linkData}"
              }
            }
          },
          "cardPayments:partialRefund": {
            "type": "object",
            "description": "An action link to refund a portion of the settled amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to refund a portion of the settled amount.",
                "example": "https://try.access.worldpay.com/payments/settlements/refunds/partials/{linkData}"
              }
            }
          },
          "cardPayments:reverse": {
            "type": "object",
            "description": "An action link to cancel or refund the full amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to cancel or refund the full amount.",
                "example": "https://try.access.worldpay.com/payments/sales/reversals/{linkData}"
              }
            }
          },
          "cardPayments:events": {
            "type": "object",
            "description": "An action link to retrieve the last event of the payment.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to retrieve the last event of the payment.",
                "example": "https://try.access.worldpay.com/payments/events/{linkData}"
              }
            }
          }
        }
      },
      "payments_links_list_partialRefund": {
        "type": "object",
        "properties": {
          "cardPayments:partialRefund": {
            "type": "object",
            "description": "An action link to refund a portion of the settled amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to refund a portion of the settled amount.",
                "example": "https://try.access.worldpay.com/payments/settlements/refunds/partials/{linkData}"
              }
            }
          },
          "cardPayments:events": {
            "type": "object",
            "description": "An action link to retrieve the last event of the payment.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to retrieve the last event of the payment.",
                "example": "https://try.access.worldpay.com/payments/events/{linkData}"
              }
            }
          }
        }
      },
      "payments_links_list_fullRefund": {
        "type": "object",
        "properties": {
          "cardPayments:events": {
            "type": "object",
            "description": "An action link to retrieve the last event of the payment.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to retrieve the last event of the payment.",
                "example": "https://try.access.worldpay.com/payments/events/{linkData}"
              }
            }
          }
        }
      },
      "payments_links_list_partialCancel": {
        "type": "object",
        "properties": {
          "cardPayments:cancel": {
            "type": "object",
            "description": "An action link to cancel the full authorized amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to cancel the full authorized amount.",
                "example": "https://try.access.worldpay.com/payments/authorizations/cancellations/{linkData}"
              }
            }
          },
          "cardPayments:partialCancel": {
            "type": "object",
            "description": "An action link to cancel a portion of the authorized amount.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to cancel a portion of the authorized amount.",
                "example": "https://try.access.worldpay.com/payments/authorizations/cancellations/partials/{linkData}"
              }
            }
          },
          "cardPayments:settle": {
            "type": "object",
            "description": "An action link to send the full authorized amount for settlement.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to send the full authorized amount for settlement.",
                "example": "https://try.access.worldpay.com/payments/settlements/full/{linkData}"
              }
            }
          },
          "cardPayments:partialSettle": {
            "type": "object",
            "description": "An action link to send a portion of the authorized amount for settlement.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to send a portion of the authorized amount for settlement.",
                "example": "https://try.access.worldpay.com/payments/settlements/partials/{linkData}"
              }
            }
          },
          "cardPayments:events": {
            "type": "object",
            "description": "An action link to retrieve the last event of the payment.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to retrieve the last event of the payment.",
                "example": "https://try.access.worldpay.com/payments/events/{linkData}"
              }
            }
          }
        }
      },
      "payments_links_list_fullCancel": {
        "type": "object",
        "properties": {
          "cardPayments:events": {
            "type": "object",
            "description": "An action link to retrieve the last event of the payment.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to retrieve the last event of the payment.",
                "example": "https://try.access.worldpay.com/payments/events/{linkData}"
              }
            }
          }
        }
      },
      "payments_links_list_reversal": {
        "type": "object",
        "properties": {
          "cardPayments:events": {
            "type": "object",
            "description": "An action link to retrieve the last event of the payment.",
            "properties": {
              "href": {
                "type": "string",
                "description": "An action link to retrieve the last event of the payment.",
                "example": "https://try.access.worldpay.com/payments/events/{linkData}"
              }
            }
          }
        }
      },
      "payments_authorize_201_response": {
        "required": [
          "outcome"
        ],
        "type": "object",
        "properties": {
          "outcome": {
            "type": "string",
            "description": "Outcome of the request. `Sent for Settlement` returned only if `requestAutoSettlement` is enabled in the request."
          },
          "paymentId": {
            "$ref": "#/components/schemas/paymentId"
          },
          "commandId": {
            "$ref": "#/components/schemas/commandId"
          },
          "exemption": {
            "$ref": "#/components/schemas/exemptionOutcome"
          },
          "issuer": {
            "$ref": "#/components/schemas/issuer"
          },
          "paymentInstrument": {
            "$ref": "#/components/schemas/responsePaymentInstrument"
          },
          "updatedPaymentInstrument": {
            "$ref": "#/components/schemas/updatedPaymentInstrument"
          },
          "amounts": {
            "$ref": "#/components/schemas/amounts"
          },
          "riskFactors": {
            "$ref": "#/components/schemas/riskFactors"
          },
          "scheme": {
            "$ref": "#/components/schemas/scheme"
          },
          "_links": {
            "$ref": "#/components/schemas/payments_links_list_authorized"
          }
        }
      },
      "payments_sentForSettlement_201_response": {
        "required": [
          "outcome"
        ],
        "type": "object",
        "properties": {
          "outcome": {
            "type": "string",
            "description": "Outcome of the request. `Sent for Settlement` returned only if `requestAutoSettlement` is enabled in the request."
          },
          "paymentId": {
            "$ref": "#/components/schemas/paymentId"
          },
          "commandId": {
            "$ref": "#/components/schemas/commandId"
          },
          "exemption": {
            "$ref": "#/components/schemas/exemptionOutcome"
          },
          "issuer": {
            "$ref": "#/components/schemas/issuer"
          },
          "paymentInstrument": {
            "$ref": "#/components/schemas/responsePaymentInstrument"
          },
          "updatedPaymentInstrument": {
            "$ref": "#/components/schemas/updatedPaymentInstrument"
          },
          "riskFactors": {
            "$ref": "#/components/schemas/riskFactors"
          },
          "scheme": {
            "$ref": "#/components/schemas/scheme"
          },
          "_links": {
            "$ref": "#/components/schemas/payments_links_list_sentForSettlement"
          }
        }
      },
      "payments_authorize_201_refusal": {
        "required": [
          "outcome"
        ],
        "type": "object",
        "properties": {
          "outcome": {
            "type": "string",
            "description": "Outcome of the request."
          },
          "paymentId": {
            "$ref": "#/components/schemas/paymentId"
          },
          "commandId": {
            "$ref": "#/components/schemas/commandId"
          },
          "exemption": {
            "$ref": "#/components/schemas/exemptionOutcome"
          },
          "refusalCode": {
            "type": "string",
            "description": "Response code for the payment authorization request."
          },
          "gatewayRefusalCode": {
            "type": "string",
            "description": "Extended refusal code generated by us, returned only for merchants configured to receive raw scheme response codes in the `refusalCode` field."
          },
          "refusalDescription": {
            "type": "string",
            "description": "Additional context on the refusal."
          },
          "riskFactors": {
            "$ref": "#/components/schemas/riskFactors"
          },
          "advice": {
            "$ref": "#/components/schemas/advice"
          },
          "paymentInstrument": {
            "$ref": "#/components/schemas/responsePaymentInstrument"
          },
          "updatedPaymentInstrument": {
            "$ref": "#/components/schemas/updatedPaymentInstrument"
          }
        }
      },
      "payments_authorize_201_response_mit": {
        "required": [
          "outcome"
        ],
        "type": "object",
        "properties": {
          "outcome": {
            "type": "string",
            "description": "Outcome of the request. `Sent for Settlement` returned only if `requestAutoSettlement` is enabled in the request."
          },
          "paymentId": {
            "$ref": "#/components/schemas/paymentId"
          },
          "commandId": {
            "$ref": "#/components/schemas/commandId"
          },
          "issuer": {
            "$ref": "#/components/schemas/issuer"
          },
          "paymentInstrument": {
            "$ref": "#/components/schemas/responsePaymentInstrument"
          },
          "updatedPaymentInstrument": {
            "$ref": "#/components/schemas/updatedPaymentInstrument"
          },
          "amounts": {
            "$ref": "#/components/schemas/amounts"
          },
          "riskFactors": {
            "$ref": "#/components/schemas/riskFactors"
          },
          "scheme": {
            "$ref": "#/components/schemas/scheme"
          },
          "_links": {
            "$ref": "#/components/schemas/payments_links_list_authorized"
          }
        }
      },
      "payments_sentForSettlement_201_response_mit": {
        "required": [
          "outcome"
        ],
        "type": "object",
        "properties": {
          "outcome": {
            "type": "string",
            "description": "Outcome of the request. `Sent for Settlement` returned only if `requestAutoSettlement` is enabled in the request."
          },
          "paymentId": {
            "$ref": "#/components/schemas/paymentId"
          },
          "commandId": {
            "$ref": "#/components/schemas/commandId"
          },
          "issuer": {
            "$ref": "#/components/schemas/issuer"
          },
          "paymentInstrument": {
            "$ref": "#/components/schemas/responsePaymentInstrument"
          },
          "updatedPaymentInstrument": {
            "$ref": "#/components/schemas/updatedPaymentInstrument"
          },
          "riskFactors": {
            "$ref": "#/components/schemas/riskFactors"
          },
          "scheme": {
            "$ref": "#/components/schemas/scheme"
          },
          "_links": {
            "$ref": "#/components/schemas/payments_links_list_sentForSettlement"
          }
        }
      },
      "payments_authorize_201_refusal_mit": {
        "required": [
          "outcome"
        ],
        "type": "object",
        "properties": {
          "outcome": {
            "type": "string",
            "description": "Outcome of the request."
          },
          "paymentId": {
            "$ref": "#/components/schemas/paymentId"
          },
          "commandId": {
            "$ref": "#/components/schemas/commandId"
          },
          "refusalCode": {
            "type": "string",
            "description": "Response code for the payment authorization request."
          },
          "gatewayRefusalCode": {
            "type": "string",
            "description": "Extended refusal code generated by us, returned only for merchants configured to receive raw scheme response codes in the `refusalCode` field."
          },
          "refusalDescription": {
            "type": "string",
            "description": "Additional context on the refusal."
          },
          "riskFactors": {
            "$ref": "#/components/schemas/riskFactors"
          },
          "advice": {
            "$ref": "#/components/schemas/advice"
          },
          "paymentInstrument": {
            "$ref": "#/components/schemas/responsePaymentInstrument"
          },
          "updatedPaymentInstrument": {
            "$ref": "#/components/schemas/updatedPaymentInstrument"
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "errorName": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        }
      },
      "ValidationErrorResponse": {
        "type": "object",
        "properties": {
          "errorName": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "validationErrors": {
            "type": "array",
            "description": "Further error details",
            "items": {
              "type": "object",
              "properties": {
                "errorName": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "jsonPath": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "payments_partialSettle": {
        "required": [
          "value",
          "reference"
        ],
        "type": "object",
        "properties": {
          "reference": {
            "type": "string",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[-A-Za-z0-9]*$",
            "description": "A reference generated by you to identify a payment throughout its lifecycle.",
            "example": "partial-settle-reference"
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/value"
              },
              {
                "type": "object",
                "properties": {
                  "surchargeAmount": {
                    "type": "integer",
                    "description": "The charging amount representing the processing and service fees. Ensure that the `surchargeAmount` complies with local regulations and card network rules before applying. {% admonition type=\"info\" name=\"Note\" %} The `surchargeAmount` is included in the partial settlement amount, e.g. if the `value.surchargeAmount` is $20 and the `value.amount` is $100, then the actual cost of goods/services is $80. {% /admonition %}"
                  }
                }
              }
            ]
          },
          "merchant": {
            "type": "object",
            "description": "Contains information about the merchant.",
            "properties": {
              "taxReference": {
                "type": "string",
                "description": "Merchant's tax reference."
              },
              "marketplace": {
                "type": "object",
                "description": "Supply additional data for marketplace use cases.",
                "properties": {
                  "sellerCountryCode": {
                    "maxLength": 2,
                    "minLength": 2,
                    "pattern": "^[A-Z]{2}$",
                    "type": "string",
                    "description": "Your seller's country code in [ISO 3166-1 Alpha-2 format](/products/reference/supported-countries-currencies#iso-country-codes). Required if the seller is located in a different country to the marketplace's domicile.",
                    "example": "FR"
                  },
                  "splitFundingReference": {
                    "maxLength": 256,
                    "minLength": 1,
                    "pattern": "^[-A-Za-z0-9_!@#$%()*=.:;?\\[\\]{}~`/+]*$",
                    "type": "string",
                    "description": "A reference that you can use to split acquiring funding into your secondary bank account. Available for marketplaces and other merchant types. Not available for North America or Latin America payments. Contact your Implementation Manager to enable."
                  }
                }
              }
            }
          },
          "customer": {
            "type": "object",
            "description": "Additional customer data.",
            "properties": {
              "reference": {
                "type": "string",
                "description": "Merchant-generated customer reference."
              }
            }
          },
          "shipping": {
            "$ref": "#/components/schemas/shipping"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "industryData": {
            "$ref": "#/components/schemas/industryData"
          },
          "sequence": {
            "type": "object",
            "required": [
              "number",
              "total"
            ],
            "description": "The sequence number and total number of expected partial settlement requests for the payment.",
            "properties": {
              "number": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              }
            }
          }
        }
      },
      "payments_settle": {
        "type": "object",
        "properties": {
          "reference": {
            "type": "string",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[-A-Za-z0-9]*$",
            "description": "A reference generated by you to identify a payment throughout its lifecycle.",
            "example": "full-settle-reference"
          },
          "value": {
            "type": "object",
            "description": "An object that contains information about the value of the payment.",
            "properties": {
              "surchargeAmount": {
                "type": "integer",
                "description": "The charging amount representing processing and service fees. Ensure that the `surchargeAmount` complies with local regulations and card network rules before applying. {% admonition type=\"info\" name=\"Note\" %} The surcharge fee is included in the total transaction amount, e.g. if the `value.surchargeAmount` is $20 and the total authorization amount was $100, then the actual cost of goods/services is 80. {% /admonition %}"
              }
            }
          },
          "merchant": {
            "type": "object",
            "description": "Contains information about the merchant.",
            "properties": {
              "taxReference": {
                "type": "string",
                "description": "Merchant's tax reference."
              }
            }
          },
          "customer": {
            "type": "object",
            "description": "Additional customer data.",
            "properties": {
              "reference": {
                "type": "string",
                "description": "Merchant-generated customer reference."
              }
            }
          },
          "shipping": {
            "$ref": "#/components/schemas/shipping"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "industryData": {
            "$ref": "#/components/schemas/industryData"
          }
        }
      },
      "payments_partialSettle_response": {
        "type": "object",
        "properties": {
          "paymentId": {
            "$ref": "#/components/schemas/paymentId"
          },
          "commandId": {
            "$ref": "#/components/schemas/commandId"
          },
          "_links": {
            "$ref": "#/components/schemas/payments_links_list_partialSettle"
          }
        }
      },
      "payments_fullSettle_response": {
        "type": "object",
        "properties": {
          "paymentId": {
            "$ref": "#/components/schemas/paymentId"
          },
          "commandId": {
            "$ref": "#/components/schemas/commandId"
          },
          "_links": {
            "$ref": "#/components/schemas/payments_links_list_fullSettle"
          }
        }
      },
      "payments_partialRefund_response": {
        "type": "object",
        "properties": {
          "paymentId": {
            "$ref": "#/components/schemas/paymentId"
          },
          "commandId": {
            "$ref": "#/components/schemas/commandId"
          },
          "_links": {
            "$ref": "#/components/schemas/payments_links_list_partialRefund"
          }
        }
      },
      "payments_fullRefund_response": {
        "type": "object",
        "properties": {
          "paymentId": {
            "$ref": "#/components/schemas/paymentId"
          },
          "commandId": {
            "$ref": "#/components/schemas/commandId"
          },
          "_links": {
            "$ref": "#/components/schemas/payments_links_list_fullRefund"
          }
        }
      },
      "payments_partialCancel_response": {
        "type": "object",
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/payments_links_list_partialCancel"
          }
        }
      },
      "payments_fullCancel_response": {
        "type": "object",
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/payments_links_list_fullCancel"
          }
        }
      },
      "payments_reversal_response": {
        "type": "object",
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/payments_links_list_reversal"
          }
        }
      },
      "payments_increaseAuthorize": {
        "required": [
          "value"
        ],
        "type": "object",
        "properties": {
          "value": {
            "$ref": "#/components/schemas/value"
          }
        }
      },
      "payments_increaseAuthorize_response": {
        "type": "object",
        "properties": {
          "outcome": {
            "type": "string",
            "description": "Outcome of the request.",
            "example": "authorized"
          },
          "amounts": {
            "type": "object",
            "description": "An object containing transaction amounts.",
            "properties": {
              "totalAuthorized": {
                "type": "integer",
                "description": "The total amount authorized. The sum of the original estimated authorization and all subsequent successful requests to increase the authorized amount."
              },
              "currency": {
                "type": "string",
                "maxLength": 3,
                "minLength": 3,
                "pattern": "^[A-Z]$",
                "description": "The three character currency code. See list of <a href=\"/products/reference/supported-countries-currencies#iso-currency-codes\">supported currencies</a>. ",
                "example": "USD"
              }
            }
          },
          "issuer": {
            "$ref": "#/components/schemas/issuer"
          },
          "scheme": {
            "$ref": "#/components/schemas/scheme"
          },
          "_links": {
            "$ref": "#/components/schemas/payments_links_list_increaseAuthorizedAmount"
          }
        }
      },
      "payments_increaseAuthorize_response_refused": {
        "type": "object",
        "properties": {
          "outcome": {
            "type": "string",
            "description": "Outcome of the request."
          },
          "refusalCode": {
            "type": "string",
            "description": "Response code for the request to increase the authorized amount."
          },
          "refusalDescription": {
            "type": "string",
            "description": "Additional context on the refusal.",
            "example": "Insufficient Funds"
          }
        }
      },
      "payments_cancel": {
        "type": "object",
        "properties": {
          "reference": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[-A-Za-z0-9]*$",
            "description": "A reference generated by you to identify a payment throughout its lifecycle.",
            "example": "full-cancellation-reference"
          }
        }
      },
      "payments_partialCancel": {
        "required": [
          "value",
          "reference"
        ],
        "type": "object",
        "properties": {
          "reference": {
            "type": "string",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[-A-Za-z0-9]*$",
            "description": "A reference generated by you to identify a payment throughout its lifecycle.",
            "example": "partial-cancellation-reference"
          },
          "value": {
            "$ref": "#/components/schemas/value"
          }
        }
      },
      "payments_refund": {
        "type": "object",
        "properties": {
          "reference": {
            "type": "string",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[-A-Za-z0-9]*$",
            "description": "An optional reference generated by you to identify a payment throughout its lifecycle.",
            "example": "refund-reference"
          },
          "fastRefund": {
            "type": "object",
            "description": "Allows you to request a faster refund.",
            "required": [
              "enabled"
            ],
            "properties": {
              "enabled": {
                "type": "boolean",
                "description": "Set to `true` to request fast refund."
              },
              "fallbackToStandard": {
                "type": "boolean",
                "description": "Fall back to standard refund processing in case the fast refund fails. Must be present if fast refund is set to `true`."
              }
            }
          }
        }
      },
      "payments_partialRefund": {
        "required": [
          "value",
          "reference"
        ],
        "type": "object",
        "properties": {
          "reference": {
            "type": "string",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[-A-Za-z0-9]*$",
            "description": "A reference generated by you to identify a payment throughout its lifecycle.",
            "example": "partial-refund-reference"
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/value"
              },
              {
                "type": "object",
                "properties": {
                  "surchargeAmount": {
                    "type": "integer",
                    "description": "The charging amount representing processing and service fees of the original transaction. {% admonition type=\"info\" name=\"Note\" %} The surcharge fee is included in the partial refund amount, e.g. if the `value.surchargeAmount` was $20 and the `value.amount` was $100, then the actual cost of goods/services was $80. {% /admonition %}"
                  },
                  "convenienceAmount": {
                    "type": "integer",
                    "description": "The charging amount representing the offer of a convenient payment method or channel (such as online booking fee) of the original transaction. {% admonition type=\"info\" name=\"Note\" %} Convenience fee is included in the partial refund amount, e.g. if the `value.convenienceAmount` was $20 and the `value.amount` was $100, then the actual cost of goods/services was $80. {% /admonition %}"
                  }
                }
              }
            ]
          },
          "merchant": {
            "type": "object",
            "description": "Contains information about the merchant.",
            "properties": {
              "marketplace": {
                "type": "object",
                "description": "Supply additional data for marketplace use cases.",
                "properties": {
                  "splitFundingReference": {
                    "maxLength": 256,
                    "minLength": 1,
                    "pattern": "^[-A-Za-z0-9_!@#$%()*=.:;?\\[\\]{}~`/+]*$",
                    "type": "string",
                    "description": "A reference that you can use to split acquiring funding into your secondary bank account. Available for marketplaces and other merchant types. Not available for North America or Latin America payments. Contact your Implementation Manager to enable."
                  }
                }
              }
            }
          },
          "fastRefund": {
            "type": "object",
            "description": "Allows you to request a faster refund.",
            "required": [
              "enabled"
            ],
            "properties": {
              "enabled": {
                "type": "boolean",
                "description": "Set to `true` to request fast refund."
              },
              "fallbackToStandard": {
                "type": "boolean",
                "description": "Request to fall back to standard refund processing in case the fast refund fails. Must be present if fast refund is set to `true`."
              }
            }
          }
        }
      },
      "payments_events_200_response": {
        "required": [
          "lastEvent"
        ],
        "type": "object",
        "properties": {
          "lastEvent": {
            "type": "string",
            "enum": [
              "Authorized",
              "Refused",
              "Sent for Settlement",
              "Sent for Refund",
              "Sent for Cancellation",
              "Refund failed",
              "Settlement failed",
              "Settled",
              "Refunded",
              "Error",
              "Expired"
            ],
            "x-enumDescriptions": {
              "Authorized": "The payment has been approved and the funds have been reserved in your customer's account.",
              "Refused": "Your payment request has been declined.",
              "Sent for Settlement": "A request has been made to move the reserved funds in your customer's account and transfer them to your Worldpay account.",
              "Sent for Refund": "A request has been made to send funds back to your customer's account.",
              "Sent for Cancellation": "A request has been made to cancel the payment without sending it for settlement.",
              "Refund failed": "A refund request couldn't be processed and the funds were returned to your account.",
              "Settlement failed": "A settlement request couldn't be processed. Funds have not been transferred to your Worldpay account.",
              "Settled": "We have received the funds and are preparing to transfer them to your bank account. This event is only available in certain use cases.",
              "Refunded": "The card issuer has received the refund request and they will return the funds to your customer's account. This event is only available in certain use cases.",
              "Error": "The payment wasn't completed. You may want to reattempt the payment.",
              "Expired": "The authorization validity period ended before a settlement or cancel request was made."
            }
          }
        }
      },
      "payments_events_recovery_200_response": {
        "required": [
          "lastEvent"
        ],
        "type": "object",
        "properties": {
          "lastEvent": {
            "type": "string",
            "enum": [
              "Authorized",
              "Refused",
              "Sent for Settlement",
              "Sent for Refund",
              "Send for Cancellation",
              "Refund failed",
              "Settlement failed",
              "Settled",
              "Refunded",
              "Error",
              "Expired"
            ],
            "x-enumDescriptions": {
              "Authorized": "The payment has been approved and the funds have been reserved in your customer's account.",
              "Refused": "Your payment request has been declined.",
              "Sent for Settlement": "A request has been made to move the reserved funds in your customer's account and transfer them to your Worldpay account.",
              "Sent for Refund": "A request has been made to send funds back to your customer's account.",
              "Sent for Cancelation": "A request has been made to cancel the payment without sending it for settlement.",
              "Refund failed": "A refund request couldn't be processed and the funds were returned to your account.",
              "Settlement failed": "A settlement request couldn't be processed. Funds have not been transferred to your Worldpay account.",
              "Settled": "We have received the funds and are preparing to transfer them to your bank account. This event is only available in certain use cases.",
              "Refunded": "The card issuer has received the refund request and they will return the funds to your customer's account. This event is only available in certain use cases.",
              "Error": "The payment wasn't completed. You may want to reattempt the payment.",
              "Expired": "The authorization validity period ended before a settlement or cancel request was made."
            }
          }
        }
      },
      "cit_subscription": {
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "The processing arrangement agreed with your customer. A subscription plan occurs at fixed time intervals."
          },
          "storedCardUsage": {
            "type": "string",
            "description": "Must be set to `first` to begin a new subscription.",
            "enum": [
              "first"
            ]
          }
        }
      },
      "mit_subscription": {
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "The processing arrangement agreed with your customer. A subscription plan occurs at fixed time intervals."
          },
          "schemeReference": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Used by card schemes to link merchant initiated transactions (MITs) to the original customer initiated transaction (CIT). Supply the value returned by the card scheme in the original CIT.",
            "example": "MCCNDUVST1002  "
          }
        }
      },
      "cit_installment": {
        "type": "object",
        "required": [
          "type",
          "installmentType"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "The processing arrangement agreed with your customer."
          },
          "installmentType": {
            "type": "string",
            "description": "Defines the type of installments service",
            "enum": [
              "merchant",
              "latinAmerica"
            ]
          },
          "installmentPlan": {
            "type": "object",
            "description": "Required only for `latinAmerica` installment type.",
            "required": [
              "numberOfInstallments"
            ],
            "properties": {
              "numberOfInstallments": {
                "type": "integer",
                "description": "Number of installments that the requested amount should be broken into."
              }
            }
          },
          "storedCardUsage": {
            "type": "string",
            "description": "Specifies the card on file agreement. Must be set to `first` to begin a new merchant installment (optional for `latinAmerica` installments).",
            "enum": [
              "first",
              "subsequent"
            ]
          }
        }
      },
      "mit_installment": {
        "required": [
          "type",
          "installmentType"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "The processing arrangement agreed with your customer."
          },
          "schemeReference": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Used by card schemes to link merchant initiated transactions (MITs) to the original customer initiated transaction (CIT). Supply the value returned by the card scheme in the original CIT.",
            "example": "MCCNDUVST1002  "
          },
          "installmentType": {
            "type": "string",
            "description": "Defines the type of installments service.",
            "enum": [
              "merchant"
            ]
          }
        }
      },
      "mit_unscheduled": {
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "The processing arrangement agreed with your customer."
          },
          "schemeReference": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Used by card schemes to link merchant initiated transactions (MITs) to the original customer initiated transaction (CIT). Supply the value returned by the card scheme in the original CIT.",
            "example": "MCCNDUVST1002  "
          }
        }
      },
      "cit_cardOnFile": {
        "required": [
          "type",
          "storedCardUsage"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "The processing arrangement agreed with your customer."
          },
          "storedCardUsage": {
            "type": "string",
            "description": "Set to `first` to store a card or `subsequent` to use a previously stored card.",
            "enum": [
              "first",
              "subsequent"
            ]
          }
        }
      },
      "mit_reauthorization": {
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "The processing arrangement agreed with your customer."
          },
          "schemeReference": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Used by card schemes to link merchant initiated transactions (MITs) to the original customer initiated transaction (CIT). Supply the value returned by the card scheme in the original CIT.",
            "example": "MCCNDUVST1002  "
          },
          "storedCardUsage": {
            "type": "string",
            "description": "Set to `subsequent` if the transaction is using a stored card.",
            "enum": [
              "subsequent"
            ]
          }
        }
      },
      "mit_resubmission": {
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "The processing arrangement agreed with your customer."
          },
          "schemeReference": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Used by card schemes to link merchant initiated transactions (MITs) to the original customer initiated transaction (CIT). Supply the value returned by the card scheme in the original CIT.",
            "example": "MCCNDUVST1002  "
          },
          "storedCardUsage": {
            "type": "string",
            "description": "Set to `subsequent` if the transaction is using a stored card.",
            "enum": [
              "subsequent"
            ]
          }
        }
      },
      "mit_noShow": {
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "The processing arrangement agreed with your customer."
          },
          "schemeReference": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Used by card schemes to link merchant initiated transactions (MITs) to the original customer initiated transaction (CIT). Supply the value returned by the card scheme in the original CIT.",
            "example": "MCCNDUVST1002  "
          },
          "storedCardUsage": {
            "type": "string",
            "description": "Set to `subsequent` if the transaction is using a stored card.",
            "enum": [
              "subsequent"
            ]
          }
        }
      },
      "mit_delayedCharge": {
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "The processing arrangement agreed with your customer."
          },
          "schemeReference": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Used by card schemes to link merchant initiated transactions (MITs) to the original customer initiated transaction (CIT). Supply the value returned by the card scheme in the original CIT.",
            "example": "MCCNDUVST1002  "
          },
          "storedCardUsage": {
            "type": "string",
            "description": "Set to `subsequent` if the transaction is using a stored card.",
            "enum": [
              "subsequent"
            ]
          }
        }
      },
      "exemption": {
        "type": "object",
        "required": [
          "type"
        ],
        "description": "An object for applying exemptions. If you are applying a TRA (Transaction Risk Assessment) exemption granted by us, use the `riskProfile` object",
        "oneOf": [
          {
            "$ref": "#/components/schemas/exemption_external"
          },
          {
            "$ref": "#/components/schemas/exemption_authentication-outage"
          }
        ],
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "external": "#/components/schemas/exemption_external",
            "authenticationOutage": "#/components/schemas/exemption_authentication-outage"
          }
        }
      },
      "exemption_external": {
        "allOf": [
          {
            "$ref": "#/components/schemas/exemption"
          }
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/exemption_type"
          },
          "request": {
            "type": "object",
            "description": "The type of exemption to apply",
            "properties": {
              "placement": {
                "enum": [
                  "authorization",
                  "authentication"
                ],
                "x-enumDescriptions": {
                  "authorization": "Apply the exemption in the payment authorization",
                  "authentication": "The exemption has been applied in 3DS authentication"
                },
                "type": "string",
                "description": "Indicates whether the exemption should be placed in a payment authorization or 3DS authentication. \n"
              },
              "type": {
                "enum": [
                  "lowValue",
                  "lowRisk"
                ],
                "x-enumDescriptions": {
                  "lowValue": "Apply a lowValue exemption (authorization exemption only)",
                  "lowRisk": "Apply a lowRisk exemption"
                },
                "type": "string",
                "description": "The type of exemption to apply."
              }
            }
          }
        }
      },
      "exemption_authentication-outage": {
        "allOf": [
          {
            "$ref": "#/components/schemas/exemption"
          }
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/exemption_type"
          }
        }
      },
      "exemption_type": {
        "type": "string",
        "x-enumDescriptions": {
          "external": "TRA (Transaction Risk Assessment) exemption provided by a 3rd party provider",
          "authenticationOutage": "Apply an exemption for recognized downstream 3DS authentication failures. This will increase the likelihood of receiving a successful authorization, but will not provide liability shift."
        }
      },
      "fundsTransfer": {
        "type": "object",
        "description": "Contains details of the funds transfer request, which is a money movement for a reason other than the purchase of goods or services (also known as Account Funding Transaction (AFT)).",
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "description": "Specifies the type of the funds transfer. {% admonition type=\"warning\" name=\"Note\" %} You may only submit the `fundsTransfer.type` values that relate to the use cases that you have been approved for by the schemes.{% /admonition %}",
            "enum": [
              "accountToAccount",
              "cash",
              "disbursement",
              "personToPerson",
              "purchase",
              "topUp",
              "walletLoad"
            ],
            "type": "string",
            "x-enumDescriptions": {
              "accountToAccount": "Move funds to another financial institution account owned by the same person",
              "cash": "A card is used to fund a transfer where funds are given to the recipient in cash",
              "disbursement": "A card is used as the source of funds for a disbursement",
              "personToPerson": "Move funds to an account owned by another person (eg gifts)",
              "purchase": "For the initial purchase of a reloadable account (such as prepaid or gift card), or direct crypto & liquid asset purchases without an intermediary wallet load",
              "topUp": "Top up a pre-paid or debit card",
              "walletLoad": "Move funds to a digital wallet owned by the same person"
            }
          },
          "purpose": {
            "description": "Specifies the purpose of the funds transfer. Required for some regions and use cases (eg crypto).",
            "enum": [
              "businessToBusiness",
              "creditCardRepayment",
              "crypto",
              "crowdLending",
              "debitCard",
              "education",
              "emergency",
              "familySupport",
              "gift",
              "giftCard",
              "gaming",
              "highRiskSecurities",
              "liquidAssets",
              "medical",
              "payroll",
              "prepaidCard",
              "salary",
              "savings",
              "travel",
              "other"
            ],
            "type": "string"
          },
          "recipient": {
            "type": "object",
            "description": "An object containing details about the recipient of funds, including name and address information, as well as recipient account details. In many use cases, the recipient is the same person as the sender (for example if your customer uses their card to load funds into their own crypto exchange or investment account). __Although an optional object in the API schema, `recipient` is required for some regions and use cases.__",
            "properties": {
              "account": {
                "type": "object",
                "description": "An object for the account details of the recipient.",
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/fundsTransfer_bankAccount"
                  },
                  {
                    "$ref": "#/components/schemas/fundsTransfer_card"
                  },
                  {
                    "$ref": "#/components/schemas/fundsTransfer_wallet"
                  },
                  {
                    "$ref": "#/components/schemas/fundsTransfer_storedValueWallet"
                  },
                  {
                    "$ref": "#/components/schemas/fundsTransfer_stagedDigitalWallet"
                  },
                  {
                    "$ref": "#/components/schemas/fundsTransfer_merchantWallet"
                  },
                  {
                    "$ref": "#/components/schemas/fundsTransfer_email"
                  },
                  {
                    "$ref": "#/components/schemas/fundsTransfer_phone"
                  },
                  {
                    "$ref": "#/components/schemas/fundsTransfer_socialNetwork"
                  }
                ],
                "discriminator": {
                  "propertyName": "type",
                  "mapping": {
                    "bankAccount": "#/components/schemas/fundsTransfer_bankAccount",
                    "card": "#/components/schemas/fundsTransfer_card",
                    "wallet": "#/components/schemas/fundsTransfer_wallet",
                    "storedValueWallet": "#/components/schemas/fundsTransfer_storedValueWallet",
                    "stagedDigitalWallet": "#/components/schemas/fundsTransfer_stagedDigitalWallet",
                    "merchantWallet": "#/components/schemas/fundsTransfer_merchantWallet",
                    "email": "#/components/schemas/fundsTransfer_email",
                    "phone": "#/components/schemas/fundsTransfer_phone",
                    "socialNetwork": "#/components/schemas/fundsTransfer_socialNetwork"
                  }
                }
              },
              "firstName": {
                "maxLength": 35,
                "minLength": 1,
                "pattern": "^[-A-Za-z0-9_!@#$%()*=.:;?\\[\\]{}~`/+]*$",
                "type": "string",
                "description": "Recipient's first name. Must be supplied if `lastName` or `middleName` are provided."
              },
              "middleName": {
                "maxLength": 35,
                "minLength": 1,
                "pattern": "^[-A-Za-z0-9_!@#$%()*=.:;?\\[\\]{}~`/+]*$",
                "type": "string",
                "description": "Recipient's middle name."
              },
              "lastName": {
                "maxLength": 35,
                "minLength": 1,
                "pattern": "^[-A-Za-z0-9_!@#$%()*=.:;?\\[\\]{}~`/+]*$",
                "type": "string",
                "description": "Recipient's last name. Must be supplied if `firstName` or `middleName` are provided."
              },
              "address": {
                "type": "object",
                "description": "The recipient's address.",
                "properties": {
                  "address1": {
                    "maxLength": 255,
                    "minLength": 1,
                    "pattern": "^[a-zA-Z0-9 ]*$",
                    "type": "string",
                    "description": "Must be supplied if `city` is provided."
                  },
                  "address2": {
                    "maxLength": 255,
                    "minLength": 1,
                    "pattern": "^[a-zA-Z0-9 ]*$",
                    "type": "string"
                  },
                  "city": {
                    "maxLength": 100,
                    "minLength": 1,
                    "pattern": "^[a-zA-Z0-9 ]*$",
                    "type": "string",
                    "description": "Must be supplied if `address1` is provided."
                  },
                  "postalCode": {
                    "maxLength": 10,
                    "minLength": 1,
                    "pattern": "^[a-zA-Z0-9 ]*$",
                    "type": "string"
                  },
                  "state": {
                    "maxLength": 3,
                    "minLength": 1,
                    "pattern": "^[a-zA-Z0-9]*$",
                    "type": "string",
                    "description": "1-3 alphanumeric characters and spaces."
                  },
                  "countryCode": {
                    "maxLength": 2,
                    "minLength": 2,
                    "pattern": "^[A-Z]*$",
                    "type": "string",
                    "description": "Country code in [ISO 3166-1 Alpha-2 format](/products/reference/supported-countries-currencies#iso-country-codes)."
                  }
                },
                "required": [
                  "countryCode"
                ]
              },
              "dateOfBirth": {
                "type": "object",
                "description": "Recipient's date of birth.",
                "properties": {
                  "day": {
                    "type": "integer"
                  },
                  "month": {
                    "type": "integer"
                  },
                  "year": {
                    "type": "integer"
                  }
                },
                "required": [
                  "day",
                  "month",
                  "year"
                ]
              },
              "phoneNumber": {
                "type": "string",
                "description": "Recipient's phone number."
              },
              "documentReference": {
                "maxLength": 25,
                "minLength": 1,
                "type": "string",
                "description": "Recipient's document reference (e.g. Tax ID)."
              }
            }
          },
          "sender": {
            "type": "object",
            "description": "An object containing details about the sender of funds, including name and address information. The sender account is always the card account declared within `instruction.paymentInstrument`. __Although an optional object in the API schema, `sender` is required for some regions and use cases.__",
            "properties": {
              "firstName": {
                "maxLength": 35,
                "minLength": 1,
                "pattern": "^[-A-Za-z0-9_!@#$%()*=.:;?\\[\\]{}~`/+]*$",
                "type": "string",
                "description": "Sender's first name. Must be supplied if `lastName` or `middleName` are provided."
              },
              "middleName": {
                "maxLength": 35,
                "minLength": 1,
                "pattern": "^[-A-Za-z0-9_!@#$%()*=.:;?\\[\\]{}~`/+]*$",
                "type": "string",
                "description": "Sender's middle name."
              },
              "lastName": {
                "maxLength": 35,
                "minLength": 1,
                "pattern": "^[-A-Za-z0-9_!@#$%()*=.:;?\\[\\]{}~`/+]*$",
                "type": "string",
                "description": "Sender's last name. Must be supplied if `firstName` or `middleName` are provided."
              },
              "address": {
                "type": "object",
                "description": "The sender's address.",
                "properties": {
                  "address1": {
                    "maxLength": 255,
                    "minLength": 1,
                    "pattern": "^[a-zA-Z0-9 ]*$",
                    "type": "string",
                    "description": "Must be supplied if `city` is provided."
                  },
                  "address2": {
                    "maxLength": 255,
                    "minLength": 1,
                    "pattern": "^[a-zA-Z0-9 ]*$",
                    "type": "string"
                  },
                  "city": {
                    "maxLength": 100,
                    "minLength": 1,
                    "pattern": "^[a-zA-Z0-9 ]*$",
                    "type": "string",
                    "description": "Must be supplied if `address1` is provided."
                  },
                  "postalCode": {
                    "maxLength": 10,
                    "minLength": 1,
                    "pattern": "^[a-zA-Z0-9 ]*$",
                    "type": "string"
                  },
                  "state": {
                    "maxLength": 3,
                    "minLength": 1,
                    "pattern": "^[a-zA-Z0-9]*$",
                    "type": "string",
                    "description": "1-3 alphanumeric characters and spaces."
                  },
                  "countryCode": {
                    "maxLength": 2,
                    "minLength": 2,
                    "pattern": "^[A-Z]*$",
                    "type": "string",
                    "description": "Country code in [ISO 3166-1 Alpha-2 format](/products/reference/supported-countries-currencies#iso-country-codes)."
                  }
                },
                "required": [
                  "countryCode"
                ]
              },
              "dateOfBirth": {
                "type": "object",
                "description": "Sender's date of birth.",
                "properties": {
                  "day": {
                    "type": "integer"
                  },
                  "month": {
                    "type": "integer"
                  },
                  "year": {
                    "type": "integer"
                  }
                },
                "required": [
                  "day",
                  "month",
                  "year"
                ]
              },
              "documentReference": {
                "maxLength": 25,
                "minLength": 1,
                "type": "string",
                "description": "Sender's document reference (e.g. Tax ID)."
              }
            }
          }
        }
      },
      "fundsTransfer_bankAccount": {
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "bankAccount"
            ],
            "type": "string"
          },
          "identifierType": {
            "type": "string",
            "enum": [
              "iban",
              "swift",
              "routingNumber",
              "accountNumber"
            ]
          },
          "iban": {
            "maxLength": 34,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9]*$",
            "type": "string",
            "description": "The International Bank Account Number (IBAN) of the recipient. Required if `identifierType` is `iban`.",
            "example": "IE12BOFI90000112345678"
          },
          "accountNumber": {
            "maxLength": 39,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9]*$",
            "type": "string",
            "description": "The account number of the recipient. Required if `identifierType` is `routingNumber`, `swift` or `accountNumber`. Visa requires the value to be a maximum of 34 characters. ",
            "example": "01234567"
          },
          "swiftBic": {
            "maxLength": 11,
            "minLength": 8,
            "pattern": "^[a-zA-Z0-9]*$",
            "type": "string",
            "description": "The SWIFT Bank Identification Code (BIC) of the recipient. Required if `identifierType` is `swift`. Must be either 8 or 11 alphanumeric characters.",
            "example": "BEASUS33xxx"
          },
          "routingNumber": {
            "maxLength": 9,
            "minLength": 9,
            "pattern": "^[0-9]*$",
            "type": "string",
            "description": "The ABA (American Bankers Association) Routing Transit Number (RTN). Identifies the Financial Insititution of the recipient's account. Required if `identifierType` is `routingNumber`. Must be 9 numeric characters.",
            "example": "111000025"
          }
        },
        "required": [
          "type",
          "identifierType"
        ]
      },
      "fundsTransfer_card": {
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "card"
            ],
            "type": "string"
          },
          "cardNumber": {
            "maxLength": 19,
            "minLength": 12,
            "pattern": "^[0-9]*$",
            "type": "string",
            "description": "Recipient's card number."
          }
        },
        "required": [
          "type",
          "cardNumber"
        ]
      },
      "fundsTransfer_email": {
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "email"
            ],
            "type": "string"
          },
          "emailAddress": {
            "maxLength": 40,
            "minLength": 1,
            "type": "string",
            "description": "Recipient's email address. Visa requires the value to be a maximum of 34 characters."
          }
        },
        "required": [
          "type",
          "emailAddress"
        ]
      },
      "fundsTransfer_phone": {
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "phone"
            ],
            "type": "string"
          },
          "phoneNumber": {
            "maxLength": 20,
            "minLength": 3,
            "type": "string",
            "description": "Recipient's phone number."
          }
        },
        "required": [
          "type",
          "phoneNumber"
        ]
      },
      "fundsTransfer_wallet": {
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "wallet"
            ],
            "type": "string"
          },
          "walletReference": {
            "maxLength": 50,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9@!£$*#)(+\\-_=.,/:;\"]*$",
            "type": "string",
            "description": "A reference identifying the destination wallet. Visa requires the value to be a maximum of 34 characters."
          }
        },
        "required": [
          "type",
          "walletReference"
        ]
      },
      "fundsTransfer_storedValueWallet": {
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "storedValueWallet"
            ],
            "type": "string"
          },
          "walletReference": {
            "maxLength": 50,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9]*$",
            "type": "string",
            "description": "A reference identifying the destination wallet. Visa requires the value to be a maximum of 34 characters."
          }
        },
        "required": [
          "type",
          "walletReference"
        ]
      },
      "fundsTransfer_stagedDigitalWallet": {
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "stagedDigitalWallet"
            ],
            "type": "string"
          },
          "walletReference": {
            "maxLength": 50,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9]*$",
            "type": "string",
            "description": "A reference identifying the destination wallet. Visa requires the value to be a maximum of 34 characters."
          }
        },
        "required": [
          "type",
          "walletReference"
        ]
      },
      "fundsTransfer_merchantWallet": {
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "merchantWallet"
            ],
            "type": "string"
          },
          "walletReference": {
            "maxLength": 50,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9]*$",
            "type": "string",
            "description": "A reference identifying the destination wallet. Visa requires the value to be a maximum of 34 characters."
          }
        },
        "required": [
          "type",
          "walletReference"
        ]
      },
      "fundsTransfer_socialNetwork": {
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "socialNetwork"
            ],
            "type": "string"
          },
          "socialNetworkReference": {
            "maxLength": 50,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9]*$",
            "type": "string",
            "description": "A reference identifying recipient's social network account. Visa requires the value to be a maximum of 34 characters."
          }
        },
        "required": [
          "type",
          "socialNetworkReference"
        ]
      }
    },
    "securitySchemes": {
      "BasicAuth": {
        "type": "http",
        "scheme": "basic"
      }
    }
  },
  "security": [
    {
      "BasicAuth": []
    }
  ]
}