{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/PaymentSystemsResponse",
  "title": "PaymentSystemsResponse",
  "required": [
    "id",
    "name",
    "requiresDocument",
    "implementation",
    "connectorImplementation",
    "antifraudConnectorImplementation",
    "groupName",
    "redirect",
    "isCustom",
    "isSelfAuthorized",
    "requiresAuthentication",
    "allowInstallments",
    "allowBinExclusion",
    "allowMultiple",
    "allowIssuer",
    "allowCountry",
    "allowCommercialPolicy",
    "allowCommercialCondition",
    "allowPeriod",
    "isAvailable",
    "description",
    "supportRecurrence",
    "validator",
    "appDependencies",
    "displayDocument",
    "dueDate",
    "allowNotification",
    "affiliationId",
    "availablePayments",
    "dueDateMinutes"
  ],
  "type": "object",
  "description": "Available payment methods response body information.",
  "properties": {
    "id": {
      "type": "number",
      "description": "Payment method identification."
    },
    "name": {
      "type": "string",
      "description": "Payment method name."
    },
    "requiresDocument": {
      "type": "boolean",
      "description": "Indicates whether a document is required."
    },
    "implementation": {
      "type": "string",
      "description": "Payment method implementation class name."
    },
    "connectorImplementation": {
      "type": "string",
      "description": "Connector (payment provider) implementation class name."
    },
    "antifraudConnectorImplementation": {
      "type": "string",
      "description": "Connector (anti-fraud provider) implementation class name.",
      "nullable": true
    },
    "groupName": {
      "type": "string",
      "description": "Payment group name."
    },
    "redirect": {
      "type": "boolean",
      "description": "Indicates whether the payment method allows redirection."
    },
    "isCustom": {
      "type": "boolean",
      "description": "Indicates whether it is custom."
    },
    "isSelfAuthorized": {
      "type": "boolean",
      "description": "Indicates whether the payment is automatically authorized."
    },
    "requiresAuthentication": {
      "type": "boolean",
      "description": "Indicates whether it is necessary to log in to make the payment."
    },
    "allowInstallments": {
      "type": "boolean",
      "description": "Indicates whether the payment method allows installments."
    },
    "allowBinExclusion": {
      "type": "boolean",
      "description": "Indicates whether it is possible to restrict the use of specific BIN codes (only applicable for cards)."
    },
    "allowMultiple": {
      "type": "boolean",
      "description": "Indicates whether the method allows multiple payments. Example of `false`: debit card."
    },
    "allowIssuer": {
      "type": "boolean",
      "description": "Indicates whether it is possible to identify the name of the bank responsible for issuing the card."
    },
    "allowCountry": {
      "type": "boolean",
      "description": "Indicates whether it is possible to restrict a payment rule by the country where the purchase is made."
    },
    "allowCommercialPolicy": {
      "type": "boolean",
      "description": "Indicates whether to restrict a payment rule by commercial policy type."
    },
    "allowCommercialCondition": {
      "type": "boolean",
      "description": "Indicates whether to restrict a payment rule by commercial condition type."
    },
    "allowPeriod": {
      "type": "boolean",
      "description": "Indicates whether it is possible to restrict a period for making the payment."
    },
    "isAvailable": {
      "type": "boolean",
      "description": "Indicates whether the payment method is available for use."
    },
    "description": {
      "type": "string",
      "description": "Description of the payment method.",
      "nullable": true
    },
    "supportRecurrence": {
      "type": "boolean",
      "description": "Indicates whether the payment method supports recurrence."
    },
    "validator": {
      "$ref": "#/components/schemas/Validator"
    },
    "appDependencies": {
      "type": "string",
      "description": "App dependencies information.",
      "nullable": true
    },
    "displayDocument": {
      "type": "boolean",
      "description": "Indicates whether a document is shown."
    },
    "dueDate": {
      "type": "string",
      "description": "Payment due date."
    },
    "allowNotification": {
      "type": "boolean",
      "description": "Indicates the possibility of payment notification (used by bank invoices and notes payable)."
    },
    "affiliationId": {
      "type": "string",
      "description": "Affiliation connector (payment provider) identification.",
      "nullable": true
    },
    "availablePayments": {
      "type": "string",
      "description": "Information about payment availability.",
      "nullable": true
    },
    "dueDateMinutes": {
      "type": "number",
      "description": "Amount of time (in minutes) until the payment date (`dueDate`)."
    }
  }
}