{
  "openapi": "3.1.0",
  "info": {
    "title": "Processing API",
    "version": "dev",
    "description": "Server-to-server API"
  },
  "servers": [
    {
      "url": "https://sandbox.wltpay.pro/paynet",
      "description": "Current server"
    }
  ],
  "paths": {
    "/api/3ds/v1/upload-cres-result/{endpointId}": {
      "post": {
        "description": "Uploads the CRes (Challenge Response) returned by the issuer ACS at the end of a 3DS 2.x challenge flow back to Payneteasy.\n\ncontrol \u003d SHA-1(getLogin + getClientOrderId + getOrderId + merchant_control_key)\n\n\nRequestOperation: TDS_UPLOAD_CRES_RESULT.\n\ncontrol \u003d SHA-1(login + client-order-id + orderid + merchant_control_key)",
        "operationId": "/api/3ds/v1/upload-cres-result",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/TdsCResResultRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/3ds/v1/upload-method-url-result/{endpointId}": {
      "post": {
        "description": "Uploads the result of the 3DS 2.x `3DS Method` step (browser fingerprinting in a hidden iframe) back to Payneteasy. Includes browser fingerprint fields and the `threeDSCompInd` indicator (`Y` \u003d completed, `N` \u003d not completed within 10s, `U` \u003d method URL was not provided).\n\ncontrol \u003d SHA-1(getLogin + getClientOrderId + getOrderId + merchant_control_key)\n\n\nRequestOperation: TDS_UPLOAD_METHOD_URL_RESULT.\n\ncontrol \u003d SHA-1(login + client-order-id + orderid + merchant_control_key)",
        "operationId": "/api/3ds/v1/upload-method-url-result",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/TdsMethodUrlResultRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/3ds/v1/upload-pares-result/{endpointId}": {
      "post": {
        "description": "Uploads the PaRes (Payer Authentication Response) returned by the issuer ACS at the end of a 3DS 1.0.2 flow back to Payneteasy.\n\ncontrol \u003d SHA-1(getLogin + getClientOrderId + getOrderId + merchant_control_key)\n\n\nRequestOperation: TDS_UPLOAD_PARES_RESULT.\n\ncontrol \u003d SHA-1(login + client-order-id + orderid + merchant_control_key)",
        "operationId": "/api/3ds/v1/upload-pares-result",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/TdsPaResResultRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/account-verification-form/{endpointId}": {
      "post": {
        "description": "Account verification flow where Payneteasy collects card data on its hosted page.\n\ncontrol \u003d SHA-1($ENDPOINT_ID + getClientOrderId + getEmail + merchant_control_key)\n\n\nRequestOperation: ACCOUNT_VERIFICATION_FORM.\n\ncontrol \u003d SHA-1(endpointId + client_orderid + email + merchant_control_key)",
        "operationId": "/api/v2/account-verification-form",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/AccountVerificationFormRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncCheckoutFormRedirect"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/account-verification/{endpointId}": {
      "post": {
        "description": "Issues a Zero-Dollar Authorization to confirm the card account is in good standing without actually charging the card. Commonly used to validate card details before tokenization or future recurring use.\n\ncontrol \u003d SHA-1($ENDPOINT_ID + getClientOrderId + getEmail + merchant_control_key)\n\n\nRequestOperation: ACCOUNT_VERIFICATION.\n\ncontrol \u003d SHA-1(endpointId + client_orderid + email + merchant_control_key)",
        "operationId": "/api/v2/account-verification",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/AccountVerificationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/capture/{endpointId}": {
      "post": {
        "description": "Captures (settles) funds that were previously authorized via Preauth. Reference the original transaction by `orderid`. Partial capture is supported by supplying `amount` (and the corresponding `currency`).\n\ncontrol \u003d SHA-1(getLogin + getClientOrderId + getOrderId + getAmount + getCurrency + merchant_control_key)\n\n\nRequestOperation: CAPTURE.\n\ncontrol \u003d SHA-1(login + client_orderid + orderid + amount + currency + merchant_control_key). amount is in cents (e.g. 10.00 → 1000)",
        "operationId": "/api/v2/capture",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CaptureRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/create-card-ref/{endpointId}": {
      "post": {
        "description": "Tokenizes cardholder data into a `card-ref-id` that can be used in subsequent Rebill or Sale-by-ref calls without re-collecting card details.\n\ncontrol \u003d SHA-1(getLogin + getClientOrderId + getOrderId + merchant_control_key)\n\n\nRequestOperation: CARDREF.\n\ncontrol \u003d SHA-1(login + client_orderid + orderid + merchant_control_key)",
        "operationId": "/api/v2/create-card-ref",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CreateCardRefRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/CardRefAsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/get-card-info/{endpointId}": {
      "post": {
        "description": "Returns information about a previously stored card (BIN, brand, masked PAN, expiration) identified by `cardrefid`.\n\n\nRequestOperation: CARDINFO.",
        "operationId": "/api/v2/get-card-info",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/GetCardInfoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/CardInfoAsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/make-rebill/{endpointId}": {
      "post": {
        "description": "Initiates a payment against a previously tokenized card identified by `cardrefid`. Used for recurring/subsequent charges in scenarios where the cardholder is not present.\n\ncontrol \u003d SHA-1(getLogin + getClientOrderId + getCardRefId + getAmount + getCurrency + merchant_control_key)\n\n\nRequestOperation: REBILL.\n\ncontrol \u003d SHA-1(login + client_orderid + cardrefid + amount + currency + merchant_control_key). amount is in cents (e.g. 10.00 → 1000)",
        "operationId": "/api/v2/make-rebill",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/RebillRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/payment-form/{endpointId}": {
      "post": {
        "description": "Universal hosted payment form. Use when neither Sale-form nor Preauth-form fits the integration scenario.\n\n\nRequestOperation: PAYMENTFORM.",
        "operationId": "/api/v2/payment-form",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PaymentFormRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncCheckoutFormRedirect"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/payout-form/{endpointId}": {
      "post": {
        "description": "Payout flow with the recipient\u0027s destination data collected via the Payneteasy hosted form. See `/api/v2/payout/{endpointId}` for the underlying semantics.\n\n\nRequestOperation: PAYOUTFORM.",
        "operationId": "/api/v2/payout-form",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PayoutFormRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncCheckoutFormRedirect"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/payout/{endpointId}": {
      "post": {
        "description": "Initiates an outgoing funds transfer from the merchant account to a customer\u0027s card, bank account, ewallet or other supported destination (including SBP / Faster Payments System by phone).\n\nSigned with OAuth 1.0a, signature method: HMAC-SHA1. All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (HMAC-SHA1), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).\n\n\nRequestOperation: PAYOUT.\n\nSigned with OAuth 1.0a, signature method: HMAC-SHA1 (profile: hmac-sha1). All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (HMAC-SHA1), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).",
        "operationId": "/api/v2/payout",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PayoutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        },
        "x-pne-oauth1": {
          "version": "1.0",
          "profile": "hmac-sha1",
          "signature_method": "HMAC-SHA1",
          "transport": "authorization-header",
          "oauth_parameters": [
            "oauth_consumer_key",
            "oauth_signature_method",
            "oauth_signature",
            "oauth_timestamp",
            "oauth_nonce",
            "oauth_version"
          ],
          "consumer_key": {
            "source": "merchant-login"
          },
          "signing_key": {
            "type": "hmac-shared-secret",
            "source": "merchant_control_key"
          },
          "base_string": {
            "spec": "RFC 5849 §3.4.1",
            "method_and_url": "HTTP method + normalized URL (no default ports)",
            "parameters": "oauth_* + URL query + application/x-www-form-urlencoded body"
          }
        }
      }
    },
    "/api/v2/preauth-form/{endpointId}": {
      "post": {
        "description": "Preauth (DMS) flow where Payneteasy collects card data on its hosted page. See `/api/v2/preauth/{endpointId}` for the underlying semantics.\n\ncontrol \u003d SHA-1($ENDPOINT_ID + getClientOrderId + getAmount + getEmail + merchant_control_key)\n\n\nRequestOperation: PREAUTHFORM.\n\ncontrol \u003d SHA-1(endpointId + client_orderid + amount + email + merchant_control_key). amount is in cents (e.g. 10.00 → 1000)",
        "operationId": "/api/v2/preauth-form",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/AuthFormRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncCheckoutFormRedirect"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/preauth/{endpointId}": {
      "post": {
        "description": "Reserves (authorizes) funds on the cardholder account without immediate settlement. Funds remain on hold until the merchant either captures them via `/api/v2/capture/{endpointId}` or releases them via `/api/v2/void/{endpointId}`.\n\ncontrol \u003d SHA-1($ENDPOINT_ID + getClientOrderId + getAmount + getEmail + merchant_control_key)\n\n\nRequestOperation: PREAUTH.\n\ncontrol \u003d SHA-1(endpointId + client_orderid + amount + email + merchant_control_key). amount is in cents (e.g. 10.00 → 1000)",
        "operationId": "/api/v2/preauth",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/AuthRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/return/{endpointId}": {
      "post": {
        "description": "Returns funds to the cardholder. Behaviour depends on the original transaction stage:\n* for a Preauth — issues a Cancel (releases the hold);\n* for a Sale or Capture — issues a Reversal/Refund.\n\nPartial returns are supported by supplying `amount` and `currency`; omit them for a full reversal. Returns are only allowed when the original transaction is in a final successful status.\n\ncontrol \u003d SHA-1(getLogin + getClientOrderId + getOrderId + getAmount + getCurrency + merchant_control_key)\n\n\nRequestOperation: RETURN.\n\ncontrol \u003d SHA-1(login + client_orderid + orderid + amount + currency + merchant_control_key). amount is in cents (e.g. 10.00 → 1000)",
        "operationId": "/api/v2/return",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/ReturnRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/sale-form/{endpointId}": {
      "post": {
        "description": "Initiates a Sale where Payneteasy collects cardholder data on its own hosted page. The synchronous response contains the redirect URL — the merchant must redirect the customer there to enter card details and complete the payment. Use when the merchant must stay out of PCI DSS scope.\n\ncontrol \u003d SHA-1($ENDPOINT_ID + getClientOrderId + getAmount + getEmail + merchant_control_key)\n\n\nRequestOperation: SALEFORM.\n\ncontrol \u003d SHA-1(endpointId + client_orderid + amount + email + merchant_control_key). amount is in cents (e.g. 10.00 → 1000)",
        "operationId": "/api/v2/sale-form",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/SaleFormRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncCheckoutFormRedirect"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/sale/{endpointId}": {
      "post": {
        "description": "Initiates a Sale (SMS) transaction — authorization and capture combined in a single request. Use this when goods or services are delivered to the customer immediately at the point of sale.\n\nSupports both non-3DS and 3DS flows. For 3DS the customer is redirected via `redirect_url` to the issuer ACS and back. Final outcome is delivered via the Status API (`/api/v2/status/{endpointId}`) or `server_callback_url`.\n\ncontrol \u003d SHA-1($ENDPOINT_ID + getClientOrderId + getAmount + getEmail + merchant_control_key)\n\n\nRequestOperation: SALE.\n\ncontrol \u003d SHA-1(endpointId + client_orderid + amount + email + merchant_control_key). amount is in cents (e.g. 10.00 → 1000)",
        "operationId": "/api/v2/sale",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/SaleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/status/{endpointId}": {
      "post": {
        "description": "Returns the current status of a previously initiated transaction. Used both for polling asynchronous transactions and for fetching the final outcome of a server callback. Identify the transaction by `orderid` (Payneteasy ID), or by `client_orderid` if `orderid` is unavailable.\n\ncontrol \u003d SHA-1(getLogin + getClientOrderId + getOrderIdOrEmptyString + merchant_control_key)\n\n\nRequestOperation: STATUS.\n\ncontrol \u003d SHA-1(login + client_orderid + orderid + merchant_control_key)",
        "operationId": "/api/v2/status",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/StatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/void/{endpointId}": {
      "post": {
        "description": "Cancels a transaction that has been authorized but not yet settled. Unlike Return, void does not support partial amount.\n\ncontrol \u003d SHA-1(getLogin + getClientOrderId + getOrderId + merchant_control_key)\n\n\nRequestOperation: VOID.\n\ncontrol \u003d SHA-1(login + client_orderid + orderid + merchant_control_key)",
        "operationId": "/api/v2/void",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/VoidRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v4/create-card-ref/{endpointId}": {
      "post": {
        "description": "Tokenizes cardholder data, v4 endpoint signed with OAuth 1.0a / RSA-SHA256. See `/api/v2/create-card-ref/{endpointId}` for semantics.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256. All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).\n\n\nRequestOperation: CARDREF_V4.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256 (profile: rsa-sha256). All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).",
        "operationId": "/api/v4/create-card-ref",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CreateCardRefV4Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/CardRefV4AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        },
        "x-pne-oauth1": {
          "version": "1.0",
          "profile": "rsa-sha256",
          "signature_method": "RSA-SHA256",
          "transport": "authorization-header",
          "oauth_parameters": [
            "oauth_consumer_key",
            "oauth_signature_method",
            "oauth_signature",
            "oauth_timestamp",
            "oauth_nonce",
            "oauth_version"
          ],
          "consumer_key": {
            "source": "merchant-login"
          },
          "signing_key": {
            "type": "rsa-private-key",
            "format": "PEM",
            "min_strength_bits": 2048,
            "server_verifies_with": "rsa-public-key"
          },
          "base_string": {
            "spec": "RFC 5849 §3.4.1",
            "method_and_url": "HTTP method + normalized URL (no default ports)",
            "parameters": "oauth_* + URL query + application/x-www-form-urlencoded body"
          }
        }
      }
    },
    "/api/v4/create-recurring-payment/{endpointId}": {
      "post": {
        "description": "Creates a recurring payment subscription. Defines the schedule (`period`, `interval`), amount and customer details. Returns a `recurring-payment-id` to be used in subsequent process/update calls.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256. All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).\n\n\nRequestOperation: CREATE_RP_V4.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256 (profile: rsa-sha256). All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).",
        "operationId": "/api/v4/create-recurring-payment",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/RecurringPaymentForCreation"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateRecurringPaymentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        },
        "x-pne-oauth1": {
          "version": "1.0",
          "profile": "rsa-sha256",
          "signature_method": "RSA-SHA256",
          "transport": "authorization-header",
          "oauth_parameters": [
            "oauth_consumer_key",
            "oauth_signature_method",
            "oauth_signature",
            "oauth_timestamp",
            "oauth_nonce",
            "oauth_version"
          ],
          "consumer_key": {
            "source": "merchant-login"
          },
          "signing_key": {
            "type": "rsa-private-key",
            "format": "PEM",
            "min_strength_bits": 2048,
            "server_verifies_with": "rsa-public-key"
          },
          "base_string": {
            "spec": "RFC 5849 §3.4.1",
            "method_and_url": "HTTP method + normalized URL (no default ports)",
            "parameters": "oauth_* + URL query + application/x-www-form-urlencoded body"
          }
        }
      }
    },
    "/api/v4/payout-check/{endpointId}": {
      "post": {
        "description": "First step of a two-step Payout flow: validates the recipient and registers the payout request without releasing funds. Followed by `/api/v4/payout-pay/{endpointId}` to actually execute the payout.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256. All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).\n\n\nRequestOperation: PAYOUT_V4_CHECK.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256 (profile: rsa-sha256). All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).",
        "operationId": "/api/v4/payout-check",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PayoutCheckRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        },
        "x-pne-oauth1": {
          "version": "1.0",
          "profile": "rsa-sha256",
          "signature_method": "RSA-SHA256",
          "transport": "authorization-header",
          "oauth_parameters": [
            "oauth_consumer_key",
            "oauth_signature_method",
            "oauth_signature",
            "oauth_timestamp",
            "oauth_nonce",
            "oauth_version"
          ],
          "consumer_key": {
            "source": "merchant-login"
          },
          "signing_key": {
            "type": "rsa-private-key",
            "format": "PEM",
            "min_strength_bits": 2048,
            "server_verifies_with": "rsa-public-key"
          },
          "base_string": {
            "spec": "RFC 5849 §3.4.1",
            "method_and_url": "HTTP method + normalized URL (no default ports)",
            "parameters": "oauth_* + URL query + application/x-www-form-urlencoded body"
          }
        }
      }
    },
    "/api/v4/payout-pay/{endpointId}": {
      "post": {
        "description": "Second step of a two-step Payout: confirms and executes a Payout previously registered via `/api/v4/payout-check/{endpointId}`.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256. All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).\n\n\nRequestOperation: PAYOUT_V4_PAY.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256 (profile: rsa-sha256). All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).",
        "operationId": "/api/v4/payout-pay",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PayoutPayRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        },
        "x-pne-oauth1": {
          "version": "1.0",
          "profile": "rsa-sha256",
          "signature_method": "RSA-SHA256",
          "transport": "authorization-header",
          "oauth_parameters": [
            "oauth_consumer_key",
            "oauth_signature_method",
            "oauth_signature",
            "oauth_timestamp",
            "oauth_nonce",
            "oauth_version"
          ],
          "consumer_key": {
            "source": "merchant-login"
          },
          "signing_key": {
            "type": "rsa-private-key",
            "format": "PEM",
            "min_strength_bits": 2048,
            "server_verifies_with": "rsa-public-key"
          },
          "base_string": {
            "spec": "RFC 5849 §3.4.1",
            "method_and_url": "HTTP method + normalized URL (no default ports)",
            "parameters": "oauth_* + URL query + application/x-www-form-urlencoded body"
          }
        }
      }
    },
    "/api/v4/payout/{endpointId}": {
      "post": {
        "description": "Outgoing funds transfer, v4 endpoint signed with OAuth 1.0a / RSA-SHA256. See `/api/v2/payout/{endpointId}` for semantics.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256. All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).\n\n\nRequestOperation: PAYOUT_V4.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256 (profile: rsa-sha256). All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).",
        "operationId": "/api/v4/payout",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PayoutV4Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        },
        "x-pne-oauth1": {
          "version": "1.0",
          "profile": "rsa-sha256",
          "signature_method": "RSA-SHA256",
          "transport": "authorization-header",
          "oauth_parameters": [
            "oauth_consumer_key",
            "oauth_signature_method",
            "oauth_signature",
            "oauth_timestamp",
            "oauth_nonce",
            "oauth_version"
          ],
          "consumer_key": {
            "source": "merchant-login"
          },
          "signing_key": {
            "type": "rsa-private-key",
            "format": "PEM",
            "min_strength_bits": 2048,
            "server_verifies_with": "rsa-public-key"
          },
          "base_string": {
            "spec": "RFC 5849 §3.4.1",
            "method_and_url": "HTTP method + normalized URL (no default ports)",
            "parameters": "oauth_* + URL query + application/x-www-form-urlencoded body"
          }
        }
      }
    },
    "/api/v4/process-recurring-payment/{endpointId}": {
      "post": {
        "description": "Triggers processing of a recurring payment — charges the next instalment for the subscription identified by `recurring-payment-id`.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256. All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).\n\n\nRequestOperation: PROCESS_RP_V4.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256 (profile: rsa-sha256). All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).",
        "operationId": "/api/v4/process-recurring-payment",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/RecurringPaymentToProcess"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcessRecurringPaymentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        },
        "x-pne-oauth1": {
          "version": "1.0",
          "profile": "rsa-sha256",
          "signature_method": "RSA-SHA256",
          "transport": "authorization-header",
          "oauth_parameters": [
            "oauth_consumer_key",
            "oauth_signature_method",
            "oauth_signature",
            "oauth_timestamp",
            "oauth_nonce",
            "oauth_version"
          ],
          "consumer_key": {
            "source": "merchant-login"
          },
          "signing_key": {
            "type": "rsa-private-key",
            "format": "PEM",
            "min_strength_bits": 2048,
            "server_verifies_with": "rsa-public-key"
          },
          "base_string": {
            "spec": "RFC 5849 §3.4.1",
            "method_and_url": "HTTP method + normalized URL (no default ports)",
            "parameters": "oauth_* + URL query + application/x-www-form-urlencoded body"
          }
        }
      }
    },
    "/api/v4/status/{endpointId}": {
      "post": {
        "description": "Order status query, v4 endpoint signed with OAuth 1.0a / RSA-SHA256. See `/api/v2/status/{endpointId}` for semantics.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256. All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).\n\n\nRequestOperation: STATUS.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256 (profile: rsa-sha256). All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).",
        "operationId": "/api/v4/status",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/StatusV4Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        },
        "x-pne-oauth1": {
          "version": "1.0",
          "profile": "rsa-sha256",
          "signature_method": "RSA-SHA256",
          "transport": "authorization-header",
          "oauth_parameters": [
            "oauth_consumer_key",
            "oauth_signature_method",
            "oauth_signature",
            "oauth_timestamp",
            "oauth_nonce",
            "oauth_version"
          ],
          "consumer_key": {
            "source": "merchant-login"
          },
          "signing_key": {
            "type": "rsa-private-key",
            "format": "PEM",
            "min_strength_bits": 2048,
            "server_verifies_with": "rsa-public-key"
          },
          "base_string": {
            "spec": "RFC 5849 §3.4.1",
            "method_and_url": "HTTP method + normalized URL (no default ports)",
            "parameters": "oauth_* + URL query + application/x-www-form-urlencoded body"
          }
        }
      }
    },
    "/api/v4/transfer-by-ref/{endpointId}": {
      "post": {
        "description": "Card-to-card transfer where one or both cards are referenced by a previously stored `card-ref-id` rather than by full PAN. Reduces PCI DSS exposure for repeat transfer flows.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256. All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).\n\n\nRequestOperation: TRANSFER_V4.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256 (profile: rsa-sha256). All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).",
        "operationId": "/api/v4/transfer-by-ref",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/TransferByRefV4Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        },
        "x-pne-oauth1": {
          "version": "1.0",
          "profile": "rsa-sha256",
          "signature_method": "RSA-SHA256",
          "transport": "authorization-header",
          "oauth_parameters": [
            "oauth_consumer_key",
            "oauth_signature_method",
            "oauth_signature",
            "oauth_timestamp",
            "oauth_nonce",
            "oauth_version"
          ],
          "consumer_key": {
            "source": "merchant-login"
          },
          "signing_key": {
            "type": "rsa-private-key",
            "format": "PEM",
            "min_strength_bits": 2048,
            "server_verifies_with": "rsa-public-key"
          },
          "base_string": {
            "spec": "RFC 5849 §3.4.1",
            "method_and_url": "HTTP method + normalized URL (no default ports)",
            "parameters": "oauth_* + URL query + application/x-www-form-urlencoded body"
          }
        }
      }
    },
    "/api/v4/transfer/{endpointId}": {
      "post": {
        "description": "Card-to-card transfer (MasterCard MoneySend / Visa Money Transfer). The source card is identified by full PAN (`credit_card_number`) and the destination by `destination-card-no`. Signed with OAuth 1.0a / RSA-SHA256.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256. All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).\n\n\nRequestOperation: TRANSFER_V4.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256 (profile: rsa-sha256). All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).",
        "operationId": "/api/v4/transfer",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/TransferV4Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        },
        "x-pne-oauth1": {
          "version": "1.0",
          "profile": "rsa-sha256",
          "signature_method": "RSA-SHA256",
          "transport": "authorization-header",
          "oauth_parameters": [
            "oauth_consumer_key",
            "oauth_signature_method",
            "oauth_signature",
            "oauth_timestamp",
            "oauth_nonce",
            "oauth_version"
          ],
          "consumer_key": {
            "source": "merchant-login"
          },
          "signing_key": {
            "type": "rsa-private-key",
            "format": "PEM",
            "min_strength_bits": 2048,
            "server_verifies_with": "rsa-public-key"
          },
          "base_string": {
            "spec": "RFC 5849 §3.4.1",
            "method_and_url": "HTTP method + normalized URL (no default ports)",
            "parameters": "oauth_* + URL query + application/x-www-form-urlencoded body"
          }
        }
      }
    },
    "/api/v4/update-recurring-payment/{endpointId}": {
      "post": {
        "description": "Updates parameters of an existing recurring payment subscription.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256. All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).\n\n\nRequestOperation: UPDATE_RP_V4.\n\nSigned with OAuth 1.0a, signature method: RSA-SHA256 (profile: rsa-sha256). All oauth_* parameters are sent in the Authorization header, not in the form body. Required parameters: oauth_consumer_key (merchant login), oauth_signature_method (RSA-SHA256), oauth_signature, oauth_timestamp, oauth_nonce, oauth_version (1.0).",
        "operationId": "/api/v4/update-recurring-payment",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "description": "Endpoint identifier (also accepted as endpoint group identifier depending on the service method).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Client must request application/vnd.pay+json explicitly.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "application/vnd.pay+json"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/RecurringPaymentForUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateRecurringPaymentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/vnd.pay+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerErrorResponse"
                }
              }
            }
          }
        },
        "x-pne-oauth1": {
          "version": "1.0",
          "profile": "rsa-sha256",
          "signature_method": "RSA-SHA256",
          "transport": "authorization-header",
          "oauth_parameters": [
            "oauth_consumer_key",
            "oauth_signature_method",
            "oauth_signature",
            "oauth_timestamp",
            "oauth_nonce",
            "oauth_version"
          ],
          "consumer_key": {
            "source": "merchant-login"
          },
          "signing_key": {
            "type": "rsa-private-key",
            "format": "PEM",
            "min_strength_bits": 2048,
            "server_verifies_with": "rsa-public-key"
          },
          "base_string": {
            "spec": "RFC 5849 §3.4.1",
            "method_and_url": "HTTP method + normalized URL (no default ports)",
            "parameters": "oauth_* + URL query + application/x-www-form-urlencoded body"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccountVerificationFormRequest": {
        "properties": {
          "account_number": {
            "type": "string",
            "maxLength": 32,
            "description": "This element should contain the customer\u0027s bank account number."
          },
          "address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Sender address line 1, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "bank_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank code"
          },
          "bank_phone": {
            "type": "string",
            "maxLength": 32
          },
          "birthday": {
            "type": "string",
            "maxLength": 30,
            "description": "Sender date of birth, in the format `MMDDYY`, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "card_insurance_agreement_amount": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_bonus": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_end_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_number": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_sell_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_start_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_printed_name": {
            "type": "string",
            "description": "Customer\u0027s full name, as printed on the card"
          },
          "card_recurring_payment_id": {
            "type": "integer",
            "format": "int64",
            "description": "Sender’s tokenized cardholder\u0027s data ID. Send either `card_recurring_payment_id` or combination of `credit_card_number`, `card_printed_name`, `expire_month` and `expire_year`, not all. To create `card_recurring_payment_id` see v2_create-card-ref. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "cardrefid": {
            "type": "integer",
            "maximum": 12,
            "format": "int64",
            "description": "Previously created tokenized card reference. It can be sent instead of cardholder data (`credit_card_number`, `card_printed_name`, `expire_month`, `expire_year`). `cvv2` parameter necessity depends on the acquiring channel and necessity of it must be clarified with Tech Support. If `cardrefid` is used, other customer data (`address1`, `first_name`, `last_name`, etc.) can be skipped in the request - it will be gathered from the tokenized transaction. If customer data is sent in request with `cardrefid`, it will overwrite the data from the tokenized transaction for this request. The following parameters remain mandatory for request with `cardrefid`: `email`, `ipaddress`, `client_orderid`, `order_desc`, `control`"
          },
          "cell_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international cell phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "city": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender city, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "control": {
            "type": "string",
            "description": "control \u003d SHA-1(endpointId + client_orderid + email + merchant_control_key)",
            "x-control-hash": {
              "algorithm": "SHA-1",
              "encoding": "hex-lowercase",
              "parts": [
                {
                  "source": "path",
                  "name": "endpointId"
                },
                {
                  "source": "field",
                  "name": "client_orderid"
                },
                {
                  "source": "field",
                  "name": "email"
                },
                {
                  "source": "secret",
                  "name": "merchant_control_key"
                }
              ]
            }
          },
          "country": {
            "type": "string",
            "maxLength": 3,
            "description": "Sender country(two-letter country code). Please see reference for a list of valid country codes, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "credit_card_number": {
            "type": "string",
            "pattern": "^\\d+$",
            "description": "Customer\u0027s credit card number. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "currency": {
            "type": "string",
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer_accept": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer Browser Accept Header\n\nAliases: customer_browser_accept_header."
          },
          "customer_accept_language": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer browser accept language\n\nAliases: customer_browser_accept_language."
          },
          "customer_browser_color_depth": {
            "type": "integer",
            "maximum": 2,
            "minimum": 1,
            "format": "int32",
            "description": "Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Obtained from Cardholder browser using the screen.colorDepth property."
          },
          "customer_browser_info": {
            "type": "boolean",
            "description": "If true, then the fields below must be present"
          },
          "customer_browser_java_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute Java. Value is returned from the navigator.javaEnabled property."
          },
          "customer_browser_javascript_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute JavaScript."
          },
          "customer_browser_screen_height": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total height of the Cardholder’s screen in pixels. Value is returned from the screen.height property."
          },
          "customer_browser_screen_width": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total width of the cardholder’s screen in pixels. Value is returned from screen.width property."
          },
          "customer_browser_time_zone": {
            "type": "integer",
            "maximum": 5,
            "minimum": 1,
            "format": "int32",
            "description": "Time-zone offset in minutes between UTC and the Cardholder browser local time. Note that the offset is positive if the local time zone is behind UTC and negative if it is ahead."
          },
          "customer_csid": {
            "type": "string",
            "maxLength": 16384
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "customer_localtime": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer Localtime"
          },
          "customer_screen_size": {
            "type": "string",
            "maxLength": 32,
            "description": "Customer Screen Size\n\nAliases: customer_screen."
          },
          "customer_user_agent": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer User Agent Info\n\nAliases: customer_agent, customer_browser_user_agent."
          },
          "cvv2": {
            "type": "string",
            "description": "Customer\u0027s CVV2 code for source card. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. May be empty or absent if bank gateway supports processing without CVV2, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "device_imei": {
            "type": "string",
            "maxLength": 32,
            "description": "Aliases: dapi_imei."
          },
          "device_sn": {
            "type": "string",
            "maxLength": 64,
            "description": "Aliases: dapi_dsn."
          },
          "driver_license": {
            "type": "string",
            "maxLength": 128
          },
          "email": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender email address, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "expire_month": {
            "type": "string",
            "description": "Sender credit card\u0027s month of expiration."
          },
          "expire_year": {
            "type": "string",
            "description": "Sender credit card\u0027s year of expiration."
          },
          "first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender first name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "insurance_amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$"
          },
          "insured_person_birthday": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issue_date": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issuer_code": {
            "type": "string",
            "maxLength": 32
          },
          "insured_person_document_issuer_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_number": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_series": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_email": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_first_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_last_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_middle_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_phone": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_registration_address": {
            "type": "string",
            "maxLength": 256
          },
          "ipaddress": {
            "type": "string",
            "maxLength": 45,
            "minLength": 7,
            "description": "The customer\u0027s IP address, include for fraud screening purposes. NB: 45 is for IPv4 tunneling like 0000:0000:0000:0000:0000:0000:192.168.100.101"
          },
          "last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender last name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "maxmind_phone_code": {
            "type": "string",
            "maxLength": 4
          },
          "maxmind_phone_id": {
            "type": "string",
            "maxLength": 128
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Any additional information for this transaction which may be useful in Merchant\u0027s external systems, e.g. `VIP customer`, `TV promo campaign lead`. Will be returned in Status response and Merchant Callback."
          },
          "merchant_form_data": {
            "type": "string",
            "description": "Parameters sent in merchant_form_data API parameter are parsed into macros with the same name, the parameter is url-encoded, example: `testparam%3Dtest1%26mynewparam%3Dtest2` and is parsed into `$MFD_testparam \u003d test1` and `$MFD_mynewparam \u003d test2` macros in the form. Parameter name characters[a-zA-Z0-9], parameter value characters[a-zA-Z0-9], control characters [\u003d\u0026], 2MB max size. For example, this parameter can be used to display payment form in light/dark mode depending on the value passed by Connecting Party (e.g. pass `merchant_form_data\u003dtheme%3Ddark` in request and `$MFD_theme` macro placeholder on payment form will be changed to `dark`."
          },
          "middle_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender middle name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "description": "Brief order description."
          },
          "payment_method": {
            "type": "string",
            "maxLength": 256
          },
          "phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "preferred_language": {
            "type": "string",
            "maxLength": 2,
            "description": "Customer\u0027s two-letter language code for multi-language payment forms"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system.\n\nAliases: destination."
          },
          "redirect_fail_url": {
            "type": "string",
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `declined` or `filtered`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_success_url": {
            "type": "string",
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `approved`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_url": {
            "type": "string",
            "maxLength": 1024
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "site_url": {
            "type": "string",
            "maxLength": 100,
            "description": "URL the original Account verification is made from"
          },
          "ssn": {
            "type": "string",
            "maxLength": 32,
            "description": "Last four digits of the Sender\u0027s social security number, not used for Transfer from account transactions if `destination-card-no` is used. Mandatory for some acquirers for cross-country transfers."
          },
          "state": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender\u0027s state . Please see reference for a list of valid state codes, not used for Transfer from account transactions if `destination-card-no` is used.  Mandatory for USA, Canada and Australia."
          },
          "tds_areq_notification_url": {
            "type": "string",
            "maxLength": 256,
            "minLength": 11,
            "description": "Fully qualified URL of merchant system that will receive the CRes message or Error Message. The CRes message is posted by the ACS through the Cardholder browser at the end of the challenge.\n\nAliases: tds_creq_notification_url, tds_cres_notification_url."
          },
          "tds_authentication_result_authentication_type": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2
          },
          "tds_authentication_result_authentication_value": {
            "type": "string",
            "maxLength": 28,
            "minLength": 19
          },
          "tds_authentication_result_message_version": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5
          },
          "tds_authentication_result_transaction_id": {
            "type": "string",
            "maxLength": 36,
            "minLength": 19
          },
          "tds_authentication_result_transaction_status": {
            "type": "string",
            "maxLength": 1,
            "minLength": 1
          },
          "tds_authentication_result_type": {
            "type": "string",
            "maxLength": 6,
            "minLength": 6
          },
          "tds_challenge_window_size": {
            "type": "string",
            "maxLength": 11,
            "minLength": 2
          },
          "temporary_card_record_id": {
            "type": "string",
            "maxLength": 36
          },
          "zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender ZIP code, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          }
        },
        "type": "object",
        "required": [
          "client_orderid",
          "control",
          "ipaddress",
          "order_desc"
        ],
        "description": "Parameters for an Account Verification via the hosted payment form. See `/api/v2/account-verification-form/{endpointId}`."
      },
      "AccountVerificationRequest": {
        "properties": {
          "account_number": {
            "type": "string",
            "maxLength": 32,
            "description": "This element should contain the customer\u0027s bank account number.\n\nRequired if all of these are empty: credit_card_number, cardrefid, temporary_card_record_id, card_recurring_payment_id, phone."
          },
          "address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Sender address line 1, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: cardrefid, phone."
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "bank_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank code"
          },
          "bank_phone": {
            "type": "string",
            "maxLength": 32
          },
          "birthday": {
            "type": "string",
            "maxLength": 30,
            "description": "Sender date of birth, in the format `MMDDYY`, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "card_insurance_agreement_amount": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_bonus": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_end_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_number": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_sell_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_start_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_printed_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer\u0027s full name, as printed on the card\n\nRequired if all of these are empty: account_number, cardrefid, phone."
          },
          "card_recurring_payment_id": {
            "type": "integer",
            "format": "int64",
            "description": "Sender’s tokenized cardholder\u0027s data ID. Send either `card_recurring_payment_id` or combination of `credit_card_number`, `card_printed_name`, `expire_month` and `expire_year`, not all. To create `card_recurring_payment_id` see v2_create-card-ref. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`\n\nRequired if all of these are empty: credit_card_number, account_number, cardrefid, temporary_card_record_id, phone."
          },
          "cardrefid": {
            "type": "integer",
            "maximum": 10,
            "format": "int64",
            "description": "Previously created tokenized card reference. It can be sent instead of cardholder data (`credit_card_number`, `card_printed_name`, `expire_month`, `expire_year`). `cvv2` parameter necessity depends on the acquiring channel and necessity of it must be clarified with Tech Support. If `cardrefid` is used, other customer data (`address1`, `first_name`, `last_name`, etc.) can be skipped in the request - it will be gathered from the tokenized transaction. If customer data is sent in request with `cardrefid`, it will overwrite the data from the tokenized transaction for this request. The following parameters remain mandatory for request with `cardrefid`: `email`, `ipaddress`, `client_orderid`, `order_desc`, `control`\n\nRequired if all of these are empty: credit_card_number, account_number, temporary_card_record_id, card_recurring_payment_id, phone."
          },
          "cell_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international cell phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "city": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender city, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: cardrefid, phone."
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "control": {
            "type": "string",
            "description": "control \u003d SHA-1(endpointId + client_orderid + email + merchant_control_key)",
            "x-control-hash": {
              "algorithm": "SHA-1",
              "encoding": "hex-lowercase",
              "parts": [
                {
                  "source": "path",
                  "name": "endpointId"
                },
                {
                  "source": "field",
                  "name": "client_orderid"
                },
                {
                  "source": "field",
                  "name": "email"
                },
                {
                  "source": "secret",
                  "name": "merchant_control_key"
                }
              ]
            }
          },
          "country": {
            "type": "string",
            "maxLength": 3,
            "description": "Sender country(two-letter country code). Please see reference for a list of valid country codes, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: cardrefid, phone."
          },
          "credit_card_number": {
            "type": "string",
            "maxLength": 19,
            "pattern": "^\\d+$",
            "description": "Customer\u0027s credit card number. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`\n\nRequired if all of these are empty: account_number, cardrefid, temporary_card_record_id, card_recurring_payment_id, phone."
          },
          "currency": {
            "type": "string",
            "maxLength": 3,
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer_accept": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer Browser Accept Header\n\nAliases: customer_browser_accept_header."
          },
          "customer_accept_language": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer browser accept language\n\nAliases: customer_browser_accept_language."
          },
          "customer_browser_color_depth": {
            "type": "integer",
            "maximum": 2,
            "minimum": 1,
            "format": "int32",
            "description": "Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Obtained from Cardholder browser using the screen.colorDepth property."
          },
          "customer_browser_info": {
            "type": "boolean",
            "description": "If true, then the fields below must be present"
          },
          "customer_browser_java_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute Java. Value is returned from the navigator.javaEnabled property."
          },
          "customer_browser_javascript_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute JavaScript."
          },
          "customer_browser_screen_height": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total height of the Cardholder’s screen in pixels. Value is returned from the screen.height property."
          },
          "customer_browser_screen_width": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total width of the cardholder’s screen in pixels. Value is returned from screen.width property."
          },
          "customer_browser_time_zone": {
            "type": "integer",
            "maximum": 5,
            "minimum": 1,
            "format": "int32",
            "description": "Time-zone offset in minutes between UTC and the Cardholder browser local time. Note that the offset is positive if the local time zone is behind UTC and negative if it is ahead."
          },
          "customer_csid": {
            "type": "string",
            "maxLength": 16384
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "customer_localtime": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer Localtime"
          },
          "customer_screen_size": {
            "type": "string",
            "maxLength": 32,
            "description": "Customer Screen Size\n\nAliases: customer_screen."
          },
          "customer_user_agent": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer User Agent Info\n\nAliases: customer_agent, customer_browser_user_agent."
          },
          "cvv2": {
            "type": "string",
            "maxLength": 4,
            "minLength": 3,
            "description": "Customer\u0027s CVV2 code for source card. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. May be empty or absent if bank gateway supports processing without CVV2, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: cardrefid, account_number, temporary_card_record_id, card_recurring_payment_id, phone."
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "device_imei": {
            "type": "string",
            "maxLength": 32,
            "description": "Aliases: dapi_imei.\n\nAliases: dapi_imei."
          },
          "device_sn": {
            "type": "string",
            "maxLength": 64,
            "description": "Aliases: dapi_dsn.\n\nAliases: dapi_dsn."
          },
          "driver_license": {
            "type": "string",
            "maxLength": 128
          },
          "email": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender email address, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "expire_month": {
            "type": "string",
            "maxLength": 2,
            "description": "Sender credit card\u0027s month of expiration.\n\nRequired if all of these are empty: account_number, cardrefid, phone."
          },
          "expire_year": {
            "type": "string",
            "maxLength": 4,
            "minLength": 2,
            "description": "Sender credit card\u0027s year of expiration.\n\nRequired if all of these are empty: account_number, cardrefid, phone."
          },
          "first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender first name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "insurance_amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$"
          },
          "insured_person_birthday": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issue_date": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issuer_code": {
            "type": "string",
            "maxLength": 32
          },
          "insured_person_document_issuer_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_number": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_series": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_email": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_first_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_last_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_middle_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_phone": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_registration_address": {
            "type": "string",
            "maxLength": 256
          },
          "ipaddress": {
            "type": "string",
            "maxLength": 45,
            "minLength": 7,
            "description": "The customer\u0027s IP address, include for fraud screening purposes. NB: 45 is for IPv4 tunneling like 0000:0000:0000:0000:0000:0000:192.168.100.101"
          },
          "last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender last name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "maxmind_phone_code": {
            "type": "string",
            "maxLength": 4
          },
          "maxmind_phone_id": {
            "type": "string",
            "maxLength": 128
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Any additional information for this transaction which may be useful in Merchant\u0027s external systems, e.g. `VIP customer`, `TV promo campaign lead`. Will be returned in Status response and Merchant Callback."
          },
          "middle_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender middle name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "description": "Brief order description."
          },
          "payment_method": {
            "type": "string",
            "maxLength": 256
          },
          "phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "preferred_language": {
            "type": "string",
            "maxLength": 2,
            "description": "Customer\u0027s two-letter language code for multi-language payment forms"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system.\n\nAliases: destination."
          },
          "redirect_fail_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `declined` or `filtered`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_success_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `approved`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_url": {
            "type": "string",
            "maxLength": 1024
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "site_url": {
            "type": "string",
            "maxLength": 100,
            "description": "URL the original Account verification is made from"
          },
          "ssn": {
            "type": "string",
            "maxLength": 32,
            "description": "Last four digits of the Sender\u0027s social security number, not used for Transfer from account transactions if `destination-card-no` is used. Mandatory for some acquirers for cross-country transfers."
          },
          "state": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender\u0027s state . Please see reference for a list of valid state codes, not used for Transfer from account transactions if `destination-card-no` is used.  Mandatory for USA, Canada and Australia."
          },
          "tds_areq_notification_url": {
            "type": "string",
            "maxLength": 256,
            "minLength": 11,
            "description": "Fully qualified URL of merchant system that will receive the CRes message or Error Message. The CRes message is posted by the ACS through the Cardholder browser at the end of the challenge.\n\nAliases: tds_creq_notification_url, tds_cres_notification_url."
          },
          "tds_authentication_result_authentication_type": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2
          },
          "tds_authentication_result_authentication_value": {
            "type": "string",
            "maxLength": 28,
            "minLength": 19
          },
          "tds_authentication_result_message_version": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5
          },
          "tds_authentication_result_transaction_id": {
            "type": "string",
            "maxLength": 36,
            "minLength": 19
          },
          "tds_authentication_result_transaction_status": {
            "type": "string",
            "maxLength": 1,
            "minLength": 1
          },
          "tds_authentication_result_type": {
            "type": "string",
            "maxLength": 6,
            "minLength": 6
          },
          "tds_challenge_window_size": {
            "type": "string",
            "maxLength": 11,
            "minLength": 2
          },
          "temporary_card_record_id": {
            "type": "string",
            "maxLength": 36,
            "description": "Required if all of these are empty: credit_card_number, account_number, cardrefid, card_recurring_payment_id, phone.\n\nRequired if all of these are empty: credit_card_number, account_number, cardrefid, card_recurring_payment_id, phone."
          },
          "zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender ZIP code, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: cardrefid, phone."
          }
        },
        "type": "object",
        "required": [
          "client_orderid",
          "control",
          "ipaddress",
          "order_desc"
        ],
        "description": "Parameters for an Account Verification (CVV check / Zero-Dollar Authorization) transaction. Confirms the card account is in good standing without charging it. See `/api/v2/account-verification/{endpointId}`."
      },
      "AsyncCheckoutFormRedirect": {
        "properties": {
          "end-point-id": {
            "type": "integer",
            "format": "int64",
            "description": "Entry point used for processing this transaction"
          },
          "merchant-order-id": {
            "type": "string",
            "description": "Merchant order id (same as `client-order-id`)"
          },
          "paynet-order-id": {
            "type": "integer",
            "format": "int64",
            "description": "Order id assigned to the order by payment gateway"
          },
          "serial-number": {
            "type": "string",
            "format": "uuid",
            "description": "Request serial number; echoed back from the request envelope."
          }
        },
        "type": "object",
        "required": [
          "serial-number"
        ],
        "description": "Async response for a hosted-form request — provides the `redirect-url` the merchant should send the customer to in order to complete payment on Payneteasy\u0027s hosted form."
      },
      "AsyncResponse": {
        "properties": {
          "end-point-id": {
            "type": "integer",
            "format": "int64",
            "description": "Entry point used for processing this transaction"
          },
          "merchant-order-id": {
            "type": "string",
            "description": "Merchant order id (same as `client-order-id`)"
          },
          "paynet-order-id": {
            "type": "integer",
            "format": "int64",
            "description": "Order id assigned to the order by payment gateway"
          },
          "serial-number": {
            "type": "string",
            "format": "uuid",
            "description": "Request serial number; echoed back from the request envelope."
          }
        },
        "type": "object",
        "required": [
          "serial-number"
        ],
        "description": "Common async response wrapper. Returned synchronously to indicate the request was accepted; the actual outcome is retrieved later via the Status API or server callback."
      },
      "AuthFormRequest": {
        "properties": {
          "address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Sender address line 1, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "bank_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank code"
          },
          "bank_phone": {
            "type": "string",
            "maxLength": 32
          },
          "birthday": {
            "type": "string",
            "maxLength": 30,
            "description": "Sender date of birth, in the format `MMDDYY`, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "card_insurance_agreement_amount": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_bonus": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_end_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_number": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_sell_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_start_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_printed_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer\u0027s full name, as printed on the card"
          },
          "card_recurring_payment_id": {
            "type": "integer",
            "format": "int64",
            "description": "Sender’s tokenized cardholder\u0027s data ID. Send either `card_recurring_payment_id` or combination of `credit_card_number`, `card_printed_name`, `expire_month` and `expire_year`, not all. To create `card_recurring_payment_id` see v2_create-card-ref. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "cardrefid": {
            "type": "integer",
            "maximum": 12,
            "format": "int64",
            "description": "Previously created tokenized card reference. It can be sent instead of cardholder data (`credit_card_number`, `card_printed_name`, `expire_month`, `expire_year`). `cvv2` parameter necessity depends on the acquiring channel and necessity of it must be clarified with Tech Support. If `cardrefid` is used, other customer data (`address1`, `first_name`, `last_name`, etc.) can be skipped in the request - it will be gathered from the tokenized transaction. If customer data is sent in request with `cardrefid`, it will overwrite the data from the tokenized transaction for this request. The following parameters remain mandatory for request with `cardrefid`: `email`, `ipaddress`, `client_orderid`, `order_desc`, `control`"
          },
          "cell_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international cell phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "city": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender city, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "control": {
            "type": "string",
            "description": "control \u003d SHA-1(endpointId + client_orderid + amount + email + merchant_control_key). amount is in cents (e.g. 10.00 → 1000)",
            "x-control-hash": {
              "algorithm": "SHA-1",
              "encoding": "hex-lowercase",
              "parts": [
                {
                  "source": "path",
                  "name": "endpointId"
                },
                {
                  "source": "field",
                  "name": "client_orderid"
                },
                {
                  "source": "field",
                  "name": "amount",
                  "transform": "to-cents-integer"
                },
                {
                  "source": "field",
                  "name": "email"
                },
                {
                  "source": "secret",
                  "name": "merchant_control_key"
                }
              ]
            }
          },
          "country": {
            "type": "string",
            "maxLength": 3,
            "description": "Sender country(two-letter country code). Please see reference for a list of valid country codes, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "credit_card_number": {
            "type": "string",
            "pattern": "^\\d+$",
            "description": "Customer\u0027s credit card number. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "currency": {
            "type": "string",
            "maxLength": 4,
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer_accept": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer Browser Accept Header\n\nAliases: customer_browser_accept_header."
          },
          "customer_accept_language": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer browser accept language\n\nAliases: customer_browser_accept_language."
          },
          "customer_browser_color_depth": {
            "type": "integer",
            "maximum": 2,
            "minimum": 1,
            "format": "int32",
            "description": "Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Obtained from Cardholder browser using the screen.colorDepth property."
          },
          "customer_browser_info": {
            "type": "boolean",
            "description": "If true, then the fields below must be present"
          },
          "customer_browser_java_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute Java. Value is returned from the navigator.javaEnabled property."
          },
          "customer_browser_javascript_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute JavaScript."
          },
          "customer_browser_screen_height": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total height of the Cardholder’s screen in pixels. Value is returned from the screen.height property."
          },
          "customer_browser_screen_width": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total width of the cardholder’s screen in pixels. Value is returned from screen.width property."
          },
          "customer_browser_time_zone": {
            "type": "integer",
            "maximum": 5,
            "minimum": 1,
            "format": "int32",
            "description": "Time-zone offset in minutes between UTC and the Cardholder browser local time. Note that the offset is positive if the local time zone is behind UTC and negative if it is ahead."
          },
          "customer_csid": {
            "type": "string",
            "maxLength": 16384
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "customer_localtime": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer Localtime"
          },
          "customer_screen_size": {
            "type": "string",
            "maxLength": 32,
            "description": "Customer Screen Size\n\nAliases: customer_screen."
          },
          "customer_user_agent": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer User Agent Info\n\nAliases: customer_agent, customer_browser_user_agent."
          },
          "cvv2": {
            "type": "string",
            "maxLength": 4,
            "minLength": 3,
            "description": "Customer\u0027s CVV2 code for source card. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. May be empty or absent if bank gateway supports processing without CVV2, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "device_imei": {
            "type": "string",
            "maxLength": 32,
            "description": "Aliases: dapi_imei."
          },
          "device_sn": {
            "type": "string",
            "maxLength": 64,
            "description": "Aliases: dapi_dsn."
          },
          "driver_license": {
            "type": "string",
            "maxLength": 128
          },
          "email": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender email address, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "expire_month": {
            "type": "string",
            "maxLength": 2,
            "description": "Sender credit card\u0027s month of expiration."
          },
          "expire_year": {
            "type": "string",
            "maxLength": 4,
            "minLength": 2,
            "description": "Sender credit card\u0027s year of expiration."
          },
          "first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender first name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "insurance_amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$"
          },
          "insured_person_birthday": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issue_date": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issuer_code": {
            "type": "string",
            "maxLength": 32
          },
          "insured_person_document_issuer_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_number": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_series": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_email": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_first_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_last_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_middle_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_phone": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_registration_address": {
            "type": "string",
            "maxLength": 256
          },
          "ipaddress": {
            "type": "string",
            "maxLength": 45,
            "minLength": 7,
            "description": "The customer\u0027s IP address, include for fraud screening purposes. NB: 45 is for IPv4 tunneling like 0000:0000:0000:0000:0000:0000:192.168.100.101"
          },
          "last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender last name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "maximum-transaction-amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$"
          },
          "maxmind_phone_code": {
            "type": "string",
            "maxLength": 4
          },
          "maxmind_phone_id": {
            "type": "string",
            "maxLength": 128
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Any additional information for this transaction which may be useful in Merchant\u0027s external systems, e.g. `VIP customer`, `TV promo campaign lead`. Will be returned in Status response and Merchant Callback."
          },
          "merchant_form_data": {
            "type": "string",
            "description": "Parameters sent in merchant_form_data API parameter are parsed into macros with the same name, the parameter is url-encoded, example: `testparam%3Dtest1%26mynewparam%3Dtest2` and is parsed into `$MFD_testparam \u003d test1` and `$MFD_mynewparam \u003d test2` macros in the form. Parameter name characters[a-zA-Z0-9], parameter value characters[a-zA-Z0-9], control characters [\u003d\u0026], 2MB max size. For example, this parameter can be used to display payment form in light/dark mode depending on the value passed by Connecting Party (e.g. pass `merchant_form_data\u003dtheme%3Ddark` in request and `$MFD_theme` macro placeholder on payment form will be changed to `dark`."
          },
          "middle_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender middle name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "minimum-transaction-amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$"
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "description": "Brief order description."
          },
          "payment_method": {
            "type": "string",
            "maxLength": 256
          },
          "phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "preferred_language": {
            "type": "string",
            "maxLength": 2,
            "description": "Customer\u0027s two-letter language code for multi-language payment forms"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system.\n\nAliases: destination."
          },
          "redirect_fail_url": {
            "type": "string",
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `declined` or `filtered`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_success_url": {
            "type": "string",
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `approved`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_url": {
            "type": "string",
            "maxLength": 1024
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "site_url": {
            "type": "string",
            "maxLength": 100,
            "description": "URL the original Account verification is made from"
          },
          "ssn": {
            "type": "string",
            "maxLength": 32,
            "description": "Last four digits of the Sender\u0027s social security number, not used for Transfer from account transactions if `destination-card-no` is used. Mandatory for some acquirers for cross-country transfers."
          },
          "state": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender\u0027s state . Please see reference for a list of valid state codes, not used for Transfer from account transactions if `destination-card-no` is used.  Mandatory for USA, Canada and Australia."
          },
          "tds_areq_notification_url": {
            "type": "string",
            "maxLength": 256,
            "minLength": 11,
            "description": "Fully qualified URL of merchant system that will receive the CRes message or Error Message. The CRes message is posted by the ACS through the Cardholder browser at the end of the challenge.\n\nAliases: tds_creq_notification_url, tds_cres_notification_url."
          },
          "tds_authentication_result_authentication_type": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2
          },
          "tds_authentication_result_authentication_value": {
            "type": "string",
            "maxLength": 28,
            "minLength": 19
          },
          "tds_authentication_result_message_version": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5
          },
          "tds_authentication_result_transaction_id": {
            "type": "string",
            "maxLength": 36,
            "minLength": 19
          },
          "tds_authentication_result_transaction_status": {
            "type": "string",
            "maxLength": 1,
            "minLength": 1
          },
          "tds_authentication_result_type": {
            "type": "string",
            "maxLength": 6,
            "minLength": 6
          },
          "tds_challenge_window_size": {
            "type": "string",
            "maxLength": 11,
            "minLength": 2
          },
          "temporary_card_record_id": {
            "type": "string",
            "maxLength": 36
          },
          "zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender ZIP code, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          }
        },
        "type": "object",
        "required": [
          "amount",
          "client_orderid",
          "control",
          "currency",
          "ipaddress",
          "order_desc"
        ],
        "description": "Parameters for a hosted-payment-form Preauth — Payneteasy collects card data on its own page and reserves funds. See `/api/v2/preauth-form/{endpointId}`."
      },
      "AuthRequest": {
        "properties": {
          "address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Sender address line 1, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "bank_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank code"
          },
          "bank_phone": {
            "type": "string",
            "maxLength": 32
          },
          "birthday": {
            "type": "string",
            "maxLength": 30,
            "description": "Sender date of birth, in the format `MMDDYY`, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "card_insurance_agreement_amount": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_bonus": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_end_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_number": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_sell_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_start_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_printed_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer\u0027s full name, as printed on the card\n\nRequired if all of these are empty: payment_method, card_recurring_payment_id."
          },
          "card_recurring_payment_id": {
            "type": "integer",
            "format": "int64",
            "description": "Sender’s tokenized cardholder\u0027s data ID. Send either `card_recurring_payment_id` or combination of `credit_card_number`, `card_printed_name`, `expire_month` and `expire_year`, not all. To create `card_recurring_payment_id` see v2_create-card-ref. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "cell_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international cell phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "city": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender city, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "control": {
            "type": "string",
            "description": "control \u003d SHA-1(endpointId + client_orderid + amount + email + merchant_control_key). amount is in cents (e.g. 10.00 → 1000)",
            "x-control-hash": {
              "algorithm": "SHA-1",
              "encoding": "hex-lowercase",
              "parts": [
                {
                  "source": "path",
                  "name": "endpointId"
                },
                {
                  "source": "field",
                  "name": "client_orderid"
                },
                {
                  "source": "field",
                  "name": "amount",
                  "transform": "to-cents-integer"
                },
                {
                  "source": "field",
                  "name": "email"
                },
                {
                  "source": "secret",
                  "name": "merchant_control_key"
                }
              ]
            }
          },
          "country": {
            "type": "string",
            "maxLength": 3,
            "description": "Sender country(two-letter country code). Please see reference for a list of valid country codes, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "credit_card_number": {
            "type": "string",
            "maxLength": 19,
            "pattern": "^\\d+$",
            "description": "Customer\u0027s credit card number. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`\n\nRequired if all of these are empty: temporary_card_record_id, card_recurring_payment_id, payment_method."
          },
          "currency": {
            "type": "string",
            "maxLength": 4,
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer_accept": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer Browser Accept Header\n\nAliases: customer_browser_accept_header."
          },
          "customer_accept_language": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer browser accept language\n\nAliases: customer_browser_accept_language."
          },
          "customer_browser_color_depth": {
            "type": "integer",
            "maximum": 2,
            "minimum": 1,
            "format": "int32",
            "description": "Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Obtained from Cardholder browser using the screen.colorDepth property."
          },
          "customer_browser_info": {
            "type": "boolean",
            "description": "If true, then the fields below must be present"
          },
          "customer_browser_java_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute Java. Value is returned from the navigator.javaEnabled property."
          },
          "customer_browser_javascript_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute JavaScript."
          },
          "customer_browser_screen_height": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total height of the Cardholder’s screen in pixels. Value is returned from the screen.height property."
          },
          "customer_browser_screen_width": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total width of the cardholder’s screen in pixels. Value is returned from screen.width property."
          },
          "customer_browser_time_zone": {
            "type": "integer",
            "maximum": 5,
            "minimum": 1,
            "format": "int32",
            "description": "Time-zone offset in minutes between UTC and the Cardholder browser local time. Note that the offset is positive if the local time zone is behind UTC and negative if it is ahead."
          },
          "customer_csid": {
            "type": "string",
            "maxLength": 16384
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "customer_localtime": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer Localtime"
          },
          "customer_screen_size": {
            "type": "string",
            "maxLength": 32,
            "description": "Customer Screen Size\n\nAliases: customer_screen."
          },
          "customer_user_agent": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer User Agent Info\n\nAliases: customer_agent, customer_browser_user_agent."
          },
          "cvv2": {
            "type": "string",
            "maxLength": 4,
            "minLength": 3,
            "description": "Customer\u0027s CVV2 code for source card. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. May be empty or absent if bank gateway supports processing without CVV2, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: temporary_card_record_id, card_recurring_payment_id."
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "device_imei": {
            "type": "string",
            "maxLength": 32,
            "description": "Aliases: dapi_imei."
          },
          "device_sn": {
            "type": "string",
            "maxLength": 64,
            "description": "Aliases: dapi_dsn."
          },
          "driver_license": {
            "type": "string",
            "maxLength": 128
          },
          "email": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender email address, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "expire_month": {
            "type": "string",
            "maxLength": 2,
            "description": "Sender credit card\u0027s month of expiration.\n\nRequired if all of these are empty: payment_method, card_recurring_payment_id."
          },
          "expire_year": {
            "type": "string",
            "maxLength": 4,
            "minLength": 2,
            "description": "Sender credit card\u0027s year of expiration.\n\nRequired if all of these are empty: payment_method, card_recurring_payment_id."
          },
          "first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender first name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "insurance_amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$"
          },
          "insured_person_birthday": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issue_date": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issuer_code": {
            "type": "string",
            "maxLength": 32
          },
          "insured_person_document_issuer_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_number": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_series": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_email": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_first_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_last_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_middle_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_phone": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_registration_address": {
            "type": "string",
            "maxLength": 256
          },
          "ipaddress": {
            "type": "string",
            "maxLength": 45,
            "minLength": 7,
            "description": "The customer\u0027s IP address, include for fraud screening purposes. NB: 45 is for IPv4 tunneling like 0000:0000:0000:0000:0000:0000:192.168.100.101"
          },
          "last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender last name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "maxmind_phone_code": {
            "type": "string",
            "maxLength": 4
          },
          "maxmind_phone_id": {
            "type": "string",
            "maxLength": 128
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Any additional information for this transaction which may be useful in Merchant\u0027s external systems, e.g. `VIP customer`, `TV promo campaign lead`. Will be returned in Status response and Merchant Callback."
          },
          "middle_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender middle name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "description": "Brief order description."
          },
          "payment_method": {
            "type": "string",
            "maxLength": 256
          },
          "phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "preferred_language": {
            "type": "string",
            "maxLength": 2,
            "description": "Customer\u0027s two-letter language code for multi-language payment forms"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system.\n\nAliases: destination."
          },
          "redirect_fail_url": {
            "type": "string",
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `declined` or `filtered`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_success_url": {
            "type": "string",
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `approved`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_url": {
            "type": "string",
            "maxLength": 1024
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "site_url": {
            "type": "string",
            "maxLength": 100,
            "description": "URL the original Account verification is made from"
          },
          "ssn": {
            "type": "string",
            "maxLength": 32,
            "description": "Last four digits of the Sender\u0027s social security number, not used for Transfer from account transactions if `destination-card-no` is used. Mandatory for some acquirers for cross-country transfers."
          },
          "state": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender\u0027s state . Please see reference for a list of valid state codes, not used for Transfer from account transactions if `destination-card-no` is used.  Mandatory for USA, Canada and Australia."
          },
          "tds_areq_notification_url": {
            "type": "string",
            "maxLength": 256,
            "minLength": 11,
            "description": "Fully qualified URL of merchant system that will receive the CRes message or Error Message. The CRes message is posted by the ACS through the Cardholder browser at the end of the challenge.\n\nAliases: tds_creq_notification_url, tds_cres_notification_url."
          },
          "tds_authentication_result_authentication_type": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2
          },
          "tds_authentication_result_authentication_value": {
            "type": "string",
            "maxLength": 28,
            "minLength": 19
          },
          "tds_authentication_result_message_version": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5
          },
          "tds_authentication_result_transaction_id": {
            "type": "string",
            "maxLength": 36,
            "minLength": 19
          },
          "tds_authentication_result_transaction_status": {
            "type": "string",
            "maxLength": 1,
            "minLength": 1
          },
          "tds_authentication_result_type": {
            "type": "string",
            "maxLength": 6,
            "minLength": 6
          },
          "tds_challenge_window_size": {
            "type": "string",
            "maxLength": 11,
            "minLength": 2
          },
          "temporary_card_record_id": {
            "type": "string",
            "maxLength": 36
          },
          "zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender ZIP code, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          }
        },
        "type": "object",
        "required": [
          "amount",
          "client_orderid",
          "control",
          "currency",
          "ipaddress",
          "order_desc"
        ],
        "description": "Parameters for a Preauth (DMS) transaction — reserves funds on the cardholder account without immediate settlement. Funds are captured later via `/api/v2/capture/{endpointId}` or released via void. See `/api/v2/preauth/{endpointId}`."
      },
      "CaptureRequest": {
        "properties": {
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "Partial capture amount (optional)"
          },
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "control": {
            "type": "string",
            "description": "control \u003d SHA-1(login + client_orderid + orderid + amount + currency + merchant_control_key). amount is in cents (e.g. 10.00 → 1000)",
            "x-control-hash": {
              "algorithm": "SHA-1",
              "encoding": "hex-lowercase",
              "parts": [
                {
                  "source": "field",
                  "name": "login"
                },
                {
                  "source": "field",
                  "name": "client_orderid"
                },
                {
                  "source": "field",
                  "name": "orderid"
                },
                {
                  "source": "field",
                  "name": "amount",
                  "transform": "to-cents-integer"
                },
                {
                  "source": "field",
                  "name": "currency"
                },
                {
                  "source": "secret",
                  "name": "merchant_control_key"
                }
              ]
            }
          },
          "currency": {
            "type": "string",
            "description": "Required if amount specified"
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "login": {
            "type": "string",
            "description": "Merchant\u0027s login. Must be used as oauth_consumer_key in OAuth Authorization, not included in request as `login` parameter"
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Any additional information for this transaction which may be useful in Merchant\u0027s external systems, e.g. `VIP customer`, `TV promo campaign lead`. Will be returned in Status response and Merchant Callback."
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "orderid": {
            "type": "integer",
            "format": "int64",
            "description": "Payneteasy order ID from preauth"
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          }
        },
        "type": "object",
        "required": [
          "client_orderid",
          "control",
          "login",
          "orderid"
        ],
        "description": "Parameters for a Capture — finalize a previously authorized Preauth and transfer the funds. Reference the original order via `orderid`. Partial capture is supported when `amount` is supplied. See `/api/v2/capture/{endpointId}`."
      },
      "CardInfoAsyncResponse": {
        "properties": {
          "serial-number": {
            "type": "string",
            "format": "uuid",
            "description": "Request serial number; echoed back from the request envelope."
          }
        },
        "type": "object",
        "required": [
          "serial-number"
        ],
        "description": "Async response for a Get Card Info request — returns details (BIN, brand, masked PAN) about a previously stored card identified by `cardrefid`."
      },
      "CardRefAsyncResponse": {
        "properties": {
          "card-ref-id": {
            "type": "integer",
            "format": "int64",
            "description": "the `card-ref-id` created earlier using `create-card-ref` call that can be used to find the specific card that is needed"
          },
          "serial-number": {
            "type": "string",
            "format": "uuid",
            "description": "Request serial number; echoed back from the request envelope."
          },
          "unq-card-ref-id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique customer’s tokenized cardholder\u0027s data ID to each `PAN`. It can be used by Merchant for loyalty programs or fraud control."
          }
        },
        "type": "object",
        "required": [
          "serial-number"
        ],
        "description": "Async response for a create-card-ref request — returns the newly minted `card-ref-id` and `unq-card-ref-id` that the merchant can use for future tokenized payments."
      },
      "CardRefV4AsyncResponse": {
        "properties": {
          "card-ref-id": {
            "type": "integer",
            "format": "int64",
            "description": "the `card-ref-id` created earlier using `create-card-ref` call that can be used to find the specific card that is needed"
          },
          "dst-card-ref-id": {
            "type": "integer",
            "format": "int64",
            "description": "Customer’s tokenized cardholder\u0027s data ID. Can be used only in transfer APIs as a destination card."
          },
          "dst-recurring-payment-id": {
            "type": "integer",
            "format": "int64",
            "description": "Customer’s tokenized cardholder\u0027s data ID. Can be used only in transfer APIs as a destination card."
          },
          "dst-unq-card-ref-id": {
            "type": "integer",
            "format": "int64"
          },
          "recurring-payment-id": {
            "type": "integer",
            "format": "int64",
            "description": "Customer’s tokenized cardholder\u0027s data ID which is used in different set of APIs and also can be used in initiating automate transactions."
          },
          "serial-number": {
            "type": "string",
            "format": "uuid",
            "description": "Request serial number; echoed back from the request envelope."
          },
          "unq-card-ref-id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique customer’s tokenized cardholder\u0027s data ID to each `PAN`. It can be used by Merchant for loyalty programs or fraud control."
          }
        },
        "type": "object",
        "required": [
          "serial-number"
        ],
        "description": "Async response for a v4 create-card-ref / transfer-by-ref request — returns the source and destination card references and the resulting `recurring-payment-id` when applicable."
      },
      "CreateCardRefRequest": {
        "properties": {
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "control": {
            "type": "string",
            "description": "control \u003d SHA-1(login + client_orderid + orderid + merchant_control_key)",
            "x-control-hash": {
              "algorithm": "SHA-1",
              "encoding": "hex-lowercase",
              "parts": [
                {
                  "source": "field",
                  "name": "login"
                },
                {
                  "source": "field",
                  "name": "client_orderid"
                },
                {
                  "source": "field",
                  "name": "orderid"
                },
                {
                  "source": "secret",
                  "name": "merchant_control_key"
                }
              ]
            }
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "login": {
            "type": "string",
            "description": "Merchant\u0027s login. Must be used as oauth_consumer_key in OAuth Authorization, not included in request as `login` parameter"
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "orderid": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) order assigned by Payneteasy system and returned in the order_id response parameter. Please note that return can be made On a preauth transaction if the relative capture transaction has not taken place yet; or on a capture transaction. In the latter case, processing of a return on a preauth transaction is restricted. For cashier integration (Parallel form) send return request to master `ENDPOINTID` or `ENDPOINTGROUPID` with auxiliary `orderid` value in this parameter"
          },
          "rebill_count": {
            "type": "integer",
            "format": "int64"
          },
          "rebill_data": {
            "type": "string"
          },
          "rebill_interval": {
            "type": "string"
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          }
        },
        "type": "object",
        "required": [
          "client_orderid",
          "control",
          "login",
          "orderid"
        ],
        "description": "Parameters for creating a card reference (tokenizing cardholder data into a `card-ref-id`). The resulting reference is used in subsequent Rebill/Sale-by-ref calls. See `/api/v2/create-card-ref/{endpointId}`."
      },
      "CreateCardRefV4Request": {
        "properties": {
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "login": {
            "type": "string",
            "description": "Merchant\u0027s login. Must be used as oauth_consumer_key in OAuth Authorization, not included in request as `login` parameter"
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "orderid": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) order assigned by Payneteasy system and returned in the order_id response parameter. Please note that return can be made On a preauth transaction if the relative capture transaction has not taken place yet; or on a capture transaction. In the latter case, processing of a return on a preauth transaction is restricted. For cashier integration (Parallel form) send return request to master `ENDPOINTID` or `ENDPOINTGROUPID` with auxiliary `orderid` value in this parameter"
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          }
        },
        "type": "object",
        "required": [
          "client_orderid",
          "orderid"
        ],
        "description": "Parameters for creating a card reference, v4 (OAuth 1.0a / RSA-SHA256). See `/api/v4/create-card-ref/{endpointId}`."
      },
      "CreateRecurringPaymentResponse": {
        "properties": {
          "recurring-payment-id": {
            "type": "integer",
            "format": "int64",
            "description": "Customer’s tokenized cardholder\u0027s data ID which is used in different set of APIs and also can be used in initiating automate transactions."
          },
          "serial-number": {
            "type": "string",
            "format": "uuid",
            "description": "Request serial number; echoed back from the request envelope."
          }
        },
        "type": "object",
        "required": [
          "serial-number"
        ],
        "description": "Response to a create-recurring-payment v4 call. Returns the `recurring-payment-id` to be used in subsequent process/update calls."
      },
      "GetCardInfoRequest": {
        "properties": {
          "cardrefid": {
            "type": "integer",
            "format": "int64",
            "description": "card-ref-id from card registration"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter"
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "login": {
            "type": "string",
            "description": "Merchant\u0027s login. Must be used as oauth_consumer_key in OAuth Authorization, not included in request as `login` parameter"
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          }
        },
        "type": "object",
        "required": [
          "cardrefid",
          "login"
        ],
        "description": "Card Info"
      },
      "PaymentFormRequest": {
        "properties": {
          "address1": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender address line 1, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "bank_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank code"
          },
          "bank_phone": {
            "type": "string",
            "maxLength": 32
          },
          "birthday": {
            "type": "string",
            "maxLength": 30,
            "description": "Sender date of birth, in the format `MMDDYY`, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "card_insurance_agreement_amount": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_bonus": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_end_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_number": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_sell_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_start_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_printed_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer\u0027s full name, as printed on the card"
          },
          "card_recurring_payment_id": {
            "type": "integer",
            "format": "int64",
            "description": "Sender’s tokenized cardholder\u0027s data ID. Send either `card_recurring_payment_id` or combination of `credit_card_number`, `card_printed_name`, `expire_month` and `expire_year`, not all. To create `card_recurring_payment_id` see v2_create-card-ref. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "cardrefid": {
            "type": "integer",
            "maximum": 12,
            "format": "int64",
            "description": "Previously created tokenized card reference. It can be sent instead of cardholder data (`credit_card_number`, `card_printed_name`, `expire_month`, `expire_year`). `cvv2` parameter necessity depends on the acquiring channel and necessity of it must be clarified with Tech Support. If `cardrefid` is used, other customer data (`address1`, `first_name`, `last_name`, etc.) can be skipped in the request - it will be gathered from the tokenized transaction. If customer data is sent in request with `cardrefid`, it will overwrite the data from the tokenized transaction for this request. The following parameters remain mandatory for request with `cardrefid`: `email`, `ipaddress`, `client_orderid`, `order_desc`, `control`"
          },
          "cell_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international cell phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "city": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender city, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "country": {
            "type": "string",
            "maxLength": 3,
            "description": "Sender country(two-letter country code). Please see reference for a list of valid country codes, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "credit_card_number": {
            "type": "string",
            "pattern": "^\\d+$",
            "description": "Customer\u0027s credit card number. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "currency": {
            "type": "string",
            "maxLength": 4,
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer_accept": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer Browser Accept Header\n\nAliases: customer_browser_accept_header."
          },
          "customer_accept_language": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer browser accept language\n\nAliases: customer_browser_accept_language."
          },
          "customer_browser_color_depth": {
            "type": "integer",
            "maximum": 2,
            "minimum": 1,
            "format": "int32",
            "description": "Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Obtained from Cardholder browser using the screen.colorDepth property."
          },
          "customer_browser_info": {
            "type": "boolean",
            "description": "If true, then the fields below must be present"
          },
          "customer_browser_java_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute Java. Value is returned from the navigator.javaEnabled property."
          },
          "customer_browser_javascript_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute JavaScript."
          },
          "customer_browser_screen_height": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total height of the Cardholder’s screen in pixels. Value is returned from the screen.height property."
          },
          "customer_browser_screen_width": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total width of the cardholder’s screen in pixels. Value is returned from screen.width property."
          },
          "customer_browser_time_zone": {
            "type": "integer",
            "maximum": 5,
            "minimum": 1,
            "format": "int32",
            "description": "Time-zone offset in minutes between UTC and the Cardholder browser local time. Note that the offset is positive if the local time zone is behind UTC and negative if it is ahead."
          },
          "customer_csid": {
            "type": "string",
            "maxLength": 16384
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "customer_localtime": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer Localtime"
          },
          "customer_screen_size": {
            "type": "string",
            "maxLength": 32,
            "description": "Customer Screen Size\n\nAliases: customer_screen."
          },
          "customer_user_agent": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer User Agent Info\n\nAliases: customer_agent, customer_browser_user_agent."
          },
          "cvv2": {
            "type": "string",
            "maxLength": 4,
            "minLength": 3,
            "description": "Customer\u0027s CVV2 code for source card. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. May be empty or absent if bank gateway supports processing without CVV2, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "device_imei": {
            "type": "string",
            "maxLength": 32,
            "description": "Aliases: dapi_imei."
          },
          "device_sn": {
            "type": "string",
            "maxLength": 64,
            "description": "Aliases: dapi_dsn."
          },
          "driver_license": {
            "type": "string",
            "maxLength": 128
          },
          "email": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender email address, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "expire_month": {
            "type": "string",
            "maxLength": 2,
            "description": "Sender credit card\u0027s month of expiration."
          },
          "expire_year": {
            "type": "string",
            "maxLength": 4,
            "minLength": 2,
            "description": "Sender credit card\u0027s year of expiration."
          },
          "first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender first name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "insurance_amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$"
          },
          "insured_person_birthday": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issue_date": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issuer_code": {
            "type": "string",
            "maxLength": 32
          },
          "insured_person_document_issuer_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_number": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_series": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_email": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_first_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_last_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_middle_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_phone": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_registration_address": {
            "type": "string",
            "maxLength": 256
          },
          "ipaddress": {
            "type": "string",
            "maxLength": 45,
            "minLength": 7,
            "description": "The customer\u0027s IP address, include for fraud screening purposes. NB: 45 is for IPv4 tunneling like 0000:0000:0000:0000:0000:0000:192.168.100.101"
          },
          "last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender last name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "maxmind_phone_code": {
            "type": "string",
            "maxLength": 4
          },
          "maxmind_phone_id": {
            "type": "string",
            "maxLength": 128
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Any additional information for this transaction which may be useful in Merchant\u0027s external systems, e.g. `VIP customer`, `TV promo campaign lead`. Will be returned in Status response and Merchant Callback."
          },
          "merchant_form_data": {
            "type": "string",
            "description": "Parameters sent in merchant_form_data API parameter are parsed into macros with the same name, the parameter is url-encoded, example: `testparam%3Dtest1%26mynewparam%3Dtest2` and is parsed into `$MFD_testparam \u003d test1` and `$MFD_mynewparam \u003d test2` macros in the form. Parameter name characters[a-zA-Z0-9], parameter value characters[a-zA-Z0-9], control characters [\u003d\u0026], 2MB max size. For example, this parameter can be used to display payment form in light/dark mode depending on the value passed by Connecting Party (e.g. pass `merchant_form_data\u003dtheme%3Ddark` in request and `$MFD_theme` macro placeholder on payment form will be changed to `dark`."
          },
          "middle_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender middle name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "description": "Brief order description."
          },
          "payment_method": {
            "type": "string",
            "maxLength": 256
          },
          "phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "preferred_language": {
            "type": "string",
            "maxLength": 2,
            "description": "Customer\u0027s two-letter language code for multi-language payment forms"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system.\n\nAliases: destination."
          },
          "redirect_fail_url": {
            "type": "string",
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `declined` or `filtered`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_success_url": {
            "type": "string",
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `approved`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_url": {
            "type": "string",
            "maxLength": 1024
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "site_url": {
            "type": "string",
            "maxLength": 100,
            "description": "URL the original Account verification is made from"
          },
          "ssn": {
            "type": "string",
            "maxLength": 32,
            "description": "Last four digits of the Sender\u0027s social security number, not used for Transfer from account transactions if `destination-card-no` is used. Mandatory for some acquirers for cross-country transfers."
          },
          "state": {
            "type": "string",
            "maxLength": 4,
            "description": "Sender\u0027s state . Please see reference for a list of valid state codes, not used for Transfer from account transactions if `destination-card-no` is used.  Mandatory for USA, Canada and Australia."
          },
          "tds_areq_notification_url": {
            "type": "string",
            "maxLength": 256,
            "minLength": 11,
            "description": "Fully qualified URL of merchant system that will receive the CRes message or Error Message. The CRes message is posted by the ACS through the Cardholder browser at the end of the challenge.\n\nAliases: tds_creq_notification_url, tds_cres_notification_url."
          },
          "tds_authentication_result_authentication_type": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2
          },
          "tds_authentication_result_authentication_value": {
            "type": "string",
            "maxLength": 28,
            "minLength": 19
          },
          "tds_authentication_result_message_version": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5
          },
          "tds_authentication_result_transaction_id": {
            "type": "string",
            "maxLength": 36,
            "minLength": 19
          },
          "tds_authentication_result_transaction_status": {
            "type": "string",
            "maxLength": 1,
            "minLength": 1
          },
          "tds_authentication_result_type": {
            "type": "string",
            "maxLength": 6,
            "minLength": 6
          },
          "tds_challenge_window_size": {
            "type": "string",
            "maxLength": 11,
            "minLength": 2
          },
          "temporary_card_record_id": {
            "type": "string",
            "maxLength": 36
          },
          "zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender ZIP code, not used for Transfer from account transactions if `destination-card-no` is used"
          }
        },
        "type": "object",
        "required": [
          "amount",
          "client_orderid",
          "currency",
          "ipaddress",
          "order_desc"
        ],
        "description": "Parameters for a generic hosted payment form. See `/api/v2/payment-form/{endpointId}`."
      },
      "PayoutCheckRequest": {
        "properties": {
          "account_name": {
            "type": "string",
            "maxLength": 512,
            "description": "Bank account"
          },
          "account_number": {
            "type": "string",
            "maxLength": 64,
            "description": "This element should contain the customer\u0027s bank account number."
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "bank_address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Bank address"
          },
          "bank_area": {
            "type": "string",
            "maxLength": 128,
            "description": "Bank area"
          },
          "bank_bic": {
            "type": "string",
            "maxLength": 128,
            "description": "BIC of the recipient\u0027s bank"
          },
          "bank_branch": {
            "type": "string",
            "maxLength": 512,
            "description": "Bank Branch Name"
          },
          "bank_city": {
            "type": "string",
            "maxLength": 128,
            "description": "Bank city"
          },
          "bank_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank code"
          },
          "bank_name": {
            "type": "string",
            "maxLength": 512,
            "description": "This element should contain the customer\u0027s bank name."
          },
          "bank_province": {
            "type": "string",
            "maxLength": 128,
            "description": "Bank province"
          },
          "bank_zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank postal ZIP code"
          },
          "card_printed_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer\u0027s full name, as printed on the card"
          },
          "card_recurring_payment_id": {
            "type": "integer",
            "format": "int64",
            "description": "Sender’s tokenized cardholder\u0027s data ID. Send either `card_recurring_payment_id` or combination of `credit_card_number`, `card_printed_name`, `expire_month` and `expire_year`, not all. To create `card_recurring_payment_id` see v2_create-card-ref. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "credit_card_number": {
            "type": "string",
            "maxLength": 19,
            "pattern": "^\\d+$",
            "description": "Customer\u0027s credit card number. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "crypto_wallet_address": {
            "type": "string",
            "maxLength": 64,
            "description": "Address of crypto wallet"
          },
          "currency": {
            "type": "string",
            "maxLength": 4,
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "cvv2": {
            "type": "string",
            "maxLength": 4,
            "minLength": 3,
            "description": "Customer\u0027s CVV2 code for source card. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. May be empty or absent if bank gateway supports processing without CVV2, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "ewallet_type": {
            "type": "string",
            "maxLength": 64,
            "description": "Type of e-wallet"
          },
          "ewallet_wallet": {
            "type": "string",
            "maxLength": 128,
            "description": "E-wallet ID"
          },
          "expire_month": {
            "type": "string",
            "maxLength": 2,
            "description": "Sender credit card\u0027s month of expiration."
          },
          "expire_year": {
            "type": "string",
            "maxLength": 4,
            "minLength": 2,
            "description": "Sender credit card\u0027s year of expiration."
          },
          "ipaddress": {
            "type": "string",
            "maxLength": 45,
            "minLength": 7,
            "description": "The customer\u0027s IP address, include for fraud screening purposes. NB: 45 is for IPv4 tunneling like 0000:0000:0000:0000:0000:0000:192.168.100.101"
          },
          "legal_person_document_number": {
            "type": "string",
            "maxLength": 128,
            "description": "Number of legal document"
          },
          "legal_person_document_type": {
            "type": "string",
            "maxLength": 128
          },
          "legal_person_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Name on the legal document"
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Any additional information for this transaction which may be useful in Merchant\u0027s external systems, e.g. `VIP customer`, `TV promo campaign lead`. Will be returned in Status response and Merchant Callback."
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "description": "Brief order description."
          },
          "preferred_language": {
            "type": "string",
            "maxLength": 2,
            "description": "Customer\u0027s two-letter language code for multi-language payment forms"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system.\n\nAliases: destination."
          },
          "receiver_address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Receiver address, also can be sent as `address1`\n\nAliases: address1."
          },
          "receiver_birthday": {
            "type": "string",
            "maxLength": 30,
            "description": "Receiver birthday, also can be sent as `birthday`\n\nAliases: birthday."
          },
          "receiver_city": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver city, also can be sent as `city`\n\nAliases: city."
          },
          "receiver_country_code": {
            "type": "string",
            "maxLength": 3,
            "description": "Receiver country(two-letter country code). Please see Appendix B for a list of valid country codes\n\nAliases: country."
          },
          "receiver_email": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver E-mail, also can be sent as `email`\n\nAliases: email."
          },
          "receiver_first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver first name, also can be sent as `first_name`\n\nAliases: first_name."
          },
          "receiver_identity_document_id": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s identity document id. Possible values: `21` for Russian Federation passport or `31` for international passport\n\nAliases: identity_document_id."
          },
          "receiver_identity_document_number": {
            "type": "string",
            "maxLength": 16,
            "description": "Receiver\u0027s identity document number (e.g. 6 digits for Russian Federation passport)\n\nAliases: identity_document_number."
          },
          "receiver_last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver last name, also can be sent as `last_name`\n\nAliases: last_name."
          },
          "receiver_middle_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s middle name/patronym. Depends on Acquirer\u0027s side\n\nAliases: middle_name."
          },
          "receiver_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver full international cell phone number, including country code\n\nAliases: phone."
          },
          "receiver_state": {
            "type": "string",
            "maxLength": 4,
            "description": "Receiver state, should be provided for countries that have states (USA, Canada, Australia), also can be sent as `state`\n\nAliases: state."
          },
          "receiver_tin": {
            "type": "string",
            "maxLength": 128,
            "description": "Aliases: receiver_inn."
          },
          "receiver_zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Receiver zip code, also can be sent as `zip_code`\n\nAliases: zip_code."
          },
          "redirect_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected in any case, no matter whether the transaction is approved or declined. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. See more details at statuses. This parameter becomes Mandatory if both `redirect_success_url` and `redirect_fail_url` are missing"
          },
          "routing_number": {
            "type": "string",
            "maxLength": 32,
            "description": "This element should contain the customer\u0027s 9 digit bank routing number."
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "temporary_card_record_id": {
            "type": "string",
            "maxLength": 36
          }
        },
        "type": "object",
        "required": [
          "amount",
          "client_orderid",
          "currency"
        ],
        "description": "Parameters for the check phase of a two-step Payout — pre-validates the recipient and registers the payout request without releasing funds. Followed by a `/api/v4/payout-pay/{endpointId}` call."
      },
      "PayoutFormRequest": {
        "properties": {
          "account_name": {
            "type": "string",
            "maxLength": 512,
            "description": "Bank account"
          },
          "account_number": {
            "type": "string",
            "maxLength": 32,
            "description": "This element should contain the customer\u0027s bank account number."
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "bank_address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Bank address"
          },
          "bank_area": {
            "type": "string",
            "maxLength": 128,
            "description": "Bank area"
          },
          "bank_bic": {
            "type": "string",
            "maxLength": 128,
            "description": "BIC of the recipient\u0027s bank"
          },
          "bank_branch": {
            "type": "string",
            "maxLength": 512,
            "description": "Bank Branch Name"
          },
          "bank_cardno": {
            "type": "string",
            "maxLength": 128
          },
          "bank_city": {
            "type": "string",
            "maxLength": 128,
            "description": "Bank city"
          },
          "bank_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank code"
          },
          "bank_name": {
            "type": "string",
            "maxLength": 512,
            "description": "This element should contain the customer\u0027s bank name."
          },
          "bank_phone": {
            "type": "string",
            "maxLength": 32
          },
          "bank_province": {
            "type": "string",
            "maxLength": 128,
            "description": "Bank province"
          },
          "bank_zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank postal ZIP code"
          },
          "card_insurance_agreement_amount": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_bonus": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_end_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_number": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_sell_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_start_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_printed_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer\u0027s full name, as printed on the card"
          },
          "card_recurring_payment_id": {
            "type": "integer",
            "format": "int64",
            "description": "Sender’s tokenized cardholder\u0027s data ID. Send either `card_recurring_payment_id` or combination of `credit_card_number`, `card_printed_name`, `expire_month` and `expire_year`, not all. To create `card_recurring_payment_id` see v2_create-card-ref. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "cardrefid": {
            "type": "integer",
            "maximum": 12,
            "format": "int64",
            "description": "Previously created tokenized card reference. It can be sent instead of cardholder data (`credit_card_number`, `card_printed_name`, `expire_month`, `expire_year`). `cvv2` parameter necessity depends on the acquiring channel and necessity of it must be clarified with Tech Support. If `cardrefid` is used, other customer data (`address1`, `first_name`, `last_name`, etc.) can be skipped in the request - it will be gathered from the tokenized transaction. If customer data is sent in request with `cardrefid`, it will overwrite the data from the tokenized transaction for this request. The following parameters remain mandatory for request with `cardrefid`: `email`, `ipaddress`, `client_orderid`, `order_desc`, `control`"
          },
          "cell_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international cell phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "credit_card_number": {
            "type": "string",
            "pattern": "^\\d+$",
            "description": "Customer\u0027s credit card number. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "crypto_wallet_address": {
            "type": "string",
            "maxLength": 64,
            "description": "Address of crypto wallet"
          },
          "currency": {
            "type": "string",
            "maxLength": 4,
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer_accept": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer Browser Accept Header\n\nAliases: customer_browser_accept_header."
          },
          "customer_accept_language": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer browser accept language\n\nAliases: customer_browser_accept_language."
          },
          "customer_browser_color_depth": {
            "type": "integer",
            "maximum": 2,
            "minimum": 1,
            "format": "int32",
            "description": "Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Obtained from Cardholder browser using the screen.colorDepth property."
          },
          "customer_browser_info": {
            "type": "boolean",
            "description": "If true, then the fields below must be present"
          },
          "customer_browser_java_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute Java. Value is returned from the navigator.javaEnabled property."
          },
          "customer_browser_javascript_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute JavaScript."
          },
          "customer_browser_screen_height": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total height of the Cardholder’s screen in pixels. Value is returned from the screen.height property."
          },
          "customer_browser_screen_width": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total width of the cardholder’s screen in pixels. Value is returned from screen.width property."
          },
          "customer_browser_time_zone": {
            "type": "integer",
            "maximum": 5,
            "minimum": 1,
            "format": "int32",
            "description": "Time-zone offset in minutes between UTC and the Cardholder browser local time. Note that the offset is positive if the local time zone is behind UTC and negative if it is ahead."
          },
          "customer_csid": {
            "type": "string",
            "maxLength": 16384
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "customer_localtime": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer Localtime"
          },
          "customer_screen_size": {
            "type": "string",
            "maxLength": 32,
            "description": "Customer Screen Size\n\nAliases: customer_screen."
          },
          "customer_user_agent": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer User Agent Info\n\nAliases: customer_agent, customer_browser_user_agent."
          },
          "cvv2": {
            "type": "string",
            "maxLength": 4,
            "minLength": 3,
            "description": "Customer\u0027s CVV2 code for source card. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. May be empty or absent if bank gateway supports processing without CVV2, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "device_imei": {
            "type": "string",
            "maxLength": 32,
            "description": "Aliases: dapi_imei."
          },
          "device_sn": {
            "type": "string",
            "maxLength": 64,
            "description": "Aliases: dapi_dsn."
          },
          "driver_license": {
            "type": "string",
            "maxLength": 128
          },
          "ewallet_type": {
            "type": "string",
            "maxLength": 64,
            "description": "Type of e-wallet"
          },
          "ewallet_wallet": {
            "type": "string",
            "maxLength": 128,
            "description": "E-wallet ID"
          },
          "expire_month": {
            "type": "string",
            "maxLength": 2,
            "description": "Sender credit card\u0027s month of expiration."
          },
          "expire_year": {
            "type": "string",
            "maxLength": 4,
            "minLength": 2,
            "description": "Sender credit card\u0027s year of expiration."
          },
          "insurance_amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$"
          },
          "insured_person_birthday": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issue_date": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issuer_code": {
            "type": "string",
            "maxLength": 32
          },
          "insured_person_document_issuer_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_number": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_series": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_email": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_first_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_last_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_middle_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_phone": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_registration_address": {
            "type": "string",
            "maxLength": 256
          },
          "ipaddress": {
            "type": "string",
            "maxLength": 45,
            "minLength": 7,
            "description": "The customer\u0027s IP address, include for fraud screening purposes. NB: 45 is for IPv4 tunneling like 0000:0000:0000:0000:0000:0000:192.168.100.101"
          },
          "legal_person_document_number": {
            "type": "string",
            "maxLength": 128,
            "description": "Number of legal document"
          },
          "legal_person_document_type": {
            "type": "string",
            "maxLength": 128
          },
          "legal_person_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Name on the legal document"
          },
          "maxmind_phone_code": {
            "type": "string",
            "maxLength": 4
          },
          "maxmind_phone_id": {
            "type": "string",
            "maxLength": 128
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Any additional information for this transaction which may be useful in Merchant\u0027s external systems, e.g. `VIP customer`, `TV promo campaign lead`. Will be returned in Status response and Merchant Callback."
          },
          "merchant_form_data": {
            "type": "string",
            "description": "Parameters sent in merchant_form_data API parameter are parsed into macros with the same name, the parameter is url-encoded, example: `testparam%3Dtest1%26mynewparam%3Dtest2` and is parsed into `$MFD_testparam \u003d test1` and `$MFD_mynewparam \u003d test2` macros in the form. Parameter name characters[a-zA-Z0-9], parameter value characters[a-zA-Z0-9], control characters [\u003d\u0026], 2MB max size. For example, this parameter can be used to display payment form in light/dark mode depending on the value passed by Connecting Party (e.g. pass `merchant_form_data\u003dtheme%3Ddark` in request and `$MFD_theme` macro placeholder on payment form will be changed to `dark`."
          },
          "middle_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender middle name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "description": "Brief order description."
          },
          "payment_method": {
            "type": "string",
            "maxLength": 256
          },
          "preferred_language": {
            "type": "string",
            "maxLength": 2,
            "description": "Customer\u0027s two-letter language code for multi-language payment forms"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system.\n\nAliases: destination."
          },
          "receiver_address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Receiver address, also can be sent as `address1`\n\nAliases: address1."
          },
          "receiver_birthday": {
            "type": "string",
            "maxLength": 30,
            "description": "Receiver birthday, also can be sent as `birthday`\n\nAliases: birthday."
          },
          "receiver_city": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver city, also can be sent as `city`\n\nAliases: city."
          },
          "receiver_country_code": {
            "type": "string",
            "maxLength": 3,
            "description": "Receiver country(two-letter country code). Please see Appendix B for a list of valid country codes\n\nAliases: country."
          },
          "receiver_email": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver E-mail, also can be sent as `email`\n\nAliases: email."
          },
          "receiver_first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver first name, also can be sent as `first_name`\n\nAliases: first_name."
          },
          "receiver_identity_document_id": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s identity document id. Possible values: `21` for Russian Federation passport or `31` for international passport\n\nAliases: identity_document_id."
          },
          "receiver_identity_document_number": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s identity document number (e.g. 6 digits for Russian Federation passport)\n\nAliases: identity_document_number."
          },
          "receiver_last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver last name, also can be sent as `last_name`\n\nAliases: last_name."
          },
          "receiver_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver full international cell phone number, including country code\n\nAliases: phone."
          },
          "receiver_state": {
            "type": "string",
            "maxLength": 4,
            "description": "Receiver state, should be provided for countries that have states (USA, Canada, Australia), also can be sent as `state`\n\nAliases: state, receiver_state_code."
          },
          "receiver_tin": {
            "type": "string",
            "maxLength": 128,
            "description": "Aliases: receiver_inn."
          },
          "receiver_zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Receiver zip code, also can be sent as `zip_code`\n\nAliases: zip_code."
          },
          "redirect_fail_url": {
            "type": "string",
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `declined` or `filtered`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_success_url": {
            "type": "string",
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `approved`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_url": {
            "type": "string",
            "maxLength": 1024
          },
          "routing_number": {
            "type": "string",
            "maxLength": 32,
            "description": "This element should contain the customer\u0027s 9 digit bank routing number."
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "site_url": {
            "type": "string",
            "maxLength": 100,
            "description": "URL the original Account verification is made from"
          },
          "ssn": {
            "type": "string",
            "maxLength": 32,
            "description": "Last four digits of the Sender\u0027s social security number, not used for Transfer from account transactions if `destination-card-no` is used. Mandatory for some acquirers for cross-country transfers."
          },
          "tds_areq_notification_url": {
            "type": "string",
            "maxLength": 256,
            "minLength": 11,
            "description": "Fully qualified URL of merchant system that will receive the CRes message or Error Message. The CRes message is posted by the ACS through the Cardholder browser at the end of the challenge.\n\nAliases: tds_creq_notification_url, tds_cres_notification_url."
          },
          "tds_authentication_result_authentication_type": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2
          },
          "tds_authentication_result_authentication_value": {
            "type": "string",
            "maxLength": 28,
            "minLength": 19
          },
          "tds_authentication_result_message_version": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5
          },
          "tds_authentication_result_transaction_id": {
            "type": "string",
            "maxLength": 36,
            "minLength": 19
          },
          "tds_authentication_result_transaction_status": {
            "type": "string",
            "maxLength": 1,
            "minLength": 1
          },
          "tds_authentication_result_type": {
            "type": "string",
            "maxLength": 6,
            "minLength": 6
          },
          "tds_challenge_window_size": {
            "type": "string",
            "maxLength": 11,
            "minLength": 2
          },
          "temporary_card_record_id": {
            "type": "string",
            "maxLength": 36
          }
        },
        "type": "object",
        "required": [
          "amount",
          "client_orderid",
          "currency",
          "order_desc"
        ],
        "description": "Parameters for a Payout via the hosted payment form. See `/api/v2/payout-form/{endpointId}`."
      },
      "PayoutPayRequest": {
        "properties": {
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "login": {
            "type": "string",
            "description": "Merchant\u0027s login. Must be used as oauth_consumer_key in OAuth Authorization, not included in request as `login` parameter"
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "orderid": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) order assigned by Payneteasy system and returned in the order_id response parameter. Please note that return can be made On a preauth transaction if the relative capture transaction has not taken place yet; or on a capture transaction. In the latter case, processing of a return on a preauth transaction is restricted. For cashier integration (Parallel form) send return request to master `ENDPOINTID` or `ENDPOINTGROUPID` with auxiliary `orderid` value in this parameter"
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          }
        },
        "type": "object",
        "required": [
          "client_orderid",
          "login",
          "orderid"
        ],
        "description": "Parameters for the pay phase of a two-step Payout — confirms and executes a previously registered Payout. See `/api/v4/payout-pay/{endpointId}`."
      },
      "PayoutRequest": {
        "properties": {
          "account_name": {
            "type": "string",
            "maxLength": 512,
            "description": "Bank account"
          },
          "account_number": {
            "type": "string",
            "maxLength": 64,
            "description": "This element should contain the customer\u0027s bank account number."
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "bank_address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Bank address"
          },
          "bank_area": {
            "type": "string",
            "maxLength": 128,
            "description": "Bank area"
          },
          "bank_bic": {
            "type": "string",
            "maxLength": 128,
            "description": "BIC of the recipient\u0027s bank"
          },
          "bank_branch": {
            "type": "string",
            "maxLength": 512,
            "description": "Bank Branch Name"
          },
          "bank_city": {
            "type": "string",
            "maxLength": 128,
            "description": "Bank city"
          },
          "bank_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank code"
          },
          "bank_name": {
            "type": "string",
            "maxLength": 512,
            "description": "This element should contain the customer\u0027s bank name."
          },
          "bank_province": {
            "type": "string",
            "maxLength": 128,
            "description": "Bank province"
          },
          "bank_zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank postal ZIP code"
          },
          "card_printed_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer\u0027s full name, as printed on the card"
          },
          "card_recurring_payment_id": {
            "type": "integer",
            "format": "int64",
            "description": "Sender’s tokenized cardholder\u0027s data ID. Send either `card_recurring_payment_id` or combination of `credit_card_number`, `card_printed_name`, `expire_month` and `expire_year`, not all. To create `card_recurring_payment_id` see v2_create-card-ref. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "credit_card_number": {
            "type": "string",
            "maxLength": 19,
            "pattern": "^\\d+$",
            "description": "Customer\u0027s credit card number. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "crypto_wallet_address": {
            "type": "string",
            "maxLength": 64,
            "description": "Address of crypto wallet"
          },
          "currency": {
            "type": "string",
            "maxLength": 4,
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "cvv2": {
            "type": "string",
            "maxLength": 4,
            "minLength": 3,
            "description": "Customer\u0027s CVV2 code for source card. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. May be empty or absent if bank gateway supports processing without CVV2, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "ewallet_type": {
            "type": "string",
            "maxLength": 64,
            "description": "Type of e-wallet"
          },
          "ewallet_wallet": {
            "type": "string",
            "maxLength": 128,
            "description": "E-wallet ID"
          },
          "expire_month": {
            "type": "string",
            "maxLength": 2,
            "description": "Sender credit card\u0027s month of expiration."
          },
          "expire_year": {
            "type": "string",
            "maxLength": 4,
            "minLength": 2,
            "description": "Sender credit card\u0027s year of expiration."
          },
          "ipaddress": {
            "type": "string",
            "maxLength": 45,
            "minLength": 7,
            "description": "The customer\u0027s IP address, include for fraud screening purposes. NB: 45 is for IPv4 tunneling like 0000:0000:0000:0000:0000:0000:192.168.100.101"
          },
          "legal_person_document_number": {
            "type": "string",
            "maxLength": 128,
            "description": "Number of legal document"
          },
          "legal_person_document_type": {
            "type": "string",
            "maxLength": 128
          },
          "legal_person_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Name on the legal document"
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Any additional information for this transaction which may be useful in Merchant\u0027s external systems, e.g. `VIP customer`, `TV promo campaign lead`. Will be returned in Status response and Merchant Callback."
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "description": "Brief order description."
          },
          "preferred_language": {
            "type": "string",
            "maxLength": 2,
            "description": "Customer\u0027s two-letter language code for multi-language payment forms"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system.\n\nAliases: destination."
          },
          "receiver_address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Receiver address, also can be sent as `address1`\n\nAliases: address1."
          },
          "receiver_birthday": {
            "type": "string",
            "maxLength": 30,
            "description": "Receiver birthday, also can be sent as `birthday`\n\nAliases: birthday."
          },
          "receiver_city": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver city, also can be sent as `city`\n\nAliases: city."
          },
          "receiver_country_code": {
            "type": "string",
            "maxLength": 3,
            "description": "Receiver country(two-letter country code). Please see Appendix B for a list of valid country codes\n\nAliases: country."
          },
          "receiver_email": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver E-mail, also can be sent as `email`\n\nAliases: email."
          },
          "receiver_first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver first name, also can be sent as `first_name`\n\nAliases: first_name."
          },
          "receiver_identity_document_id": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s identity document id. Possible values: `21` for Russian Federation passport or `31` for international passport\n\nAliases: identity_document_id."
          },
          "receiver_identity_document_number": {
            "type": "string",
            "maxLength": 16,
            "description": "Receiver\u0027s identity document number (e.g. 6 digits for Russian Federation passport)\n\nAliases: identity_document_number."
          },
          "receiver_last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver last name, also can be sent as `last_name`\n\nAliases: last_name."
          },
          "receiver_middle_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s middle name/patronym. Depends on Acquirer\u0027s side\n\nAliases: middle_name."
          },
          "receiver_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver full international cell phone number, including country code\n\nAliases: phone."
          },
          "receiver_state": {
            "type": "string",
            "maxLength": 4,
            "description": "Receiver state, should be provided for countries that have states (USA, Canada, Australia), also can be sent as `state`\n\nAliases: state."
          },
          "receiver_tin": {
            "type": "string",
            "maxLength": 128,
            "description": "Aliases: receiver_inn."
          },
          "receiver_zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Receiver zip code, also can be sent as `zip_code`\n\nAliases: zip_code."
          },
          "redirect_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected in any case, no matter whether the transaction is approved or declined. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. See more details at statuses. This parameter becomes Mandatory if both `redirect_success_url` and `redirect_fail_url` are missing"
          },
          "routing_number": {
            "type": "string",
            "maxLength": 32,
            "description": "This element should contain the customer\u0027s 9 digit bank routing number."
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "temporary_card_record_id": {
            "type": "string",
            "maxLength": 36
          }
        },
        "type": "object",
        "required": [
          "amount",
          "client_orderid",
          "currency"
        ],
        "description": "Parameters for a Payout — outgoing funds transfer from the merchant account to a customer\u0027s card, bank account, or wallet. See `/api/v2/payout/{endpointId}`."
      },
      "PayoutV4Request": {
        "properties": {
          "account_name": {
            "type": "string",
            "maxLength": 512,
            "description": "Bank account"
          },
          "account_number": {
            "type": "string",
            "maxLength": 64,
            "description": "This element should contain the customer\u0027s bank account number."
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "bank_address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Bank address"
          },
          "bank_area": {
            "type": "string",
            "maxLength": 128,
            "description": "Bank area"
          },
          "bank_bic": {
            "type": "string",
            "maxLength": 128,
            "description": "BIC of the recipient\u0027s bank"
          },
          "bank_branch": {
            "type": "string",
            "maxLength": 512,
            "description": "Bank Branch Name"
          },
          "bank_city": {
            "type": "string",
            "maxLength": 128,
            "description": "Bank city"
          },
          "bank_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank code"
          },
          "bank_name": {
            "type": "string",
            "maxLength": 512,
            "description": "This element should contain the customer\u0027s bank name."
          },
          "bank_province": {
            "type": "string",
            "maxLength": 128,
            "description": "Bank province"
          },
          "bank_zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank postal ZIP code"
          },
          "card_printed_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer\u0027s full name, as printed on the card"
          },
          "card_recurring_payment_id": {
            "type": "integer",
            "format": "int64",
            "description": "Sender’s tokenized cardholder\u0027s data ID. Send either `card_recurring_payment_id` or combination of `credit_card_number`, `card_printed_name`, `expire_month` and `expire_year`, not all. To create `card_recurring_payment_id` see v2_create-card-ref. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "credit_card_number": {
            "type": "string",
            "maxLength": 19,
            "pattern": "^\\d+$",
            "description": "Customer\u0027s credit card number. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "crypto_wallet_address": {
            "type": "string",
            "maxLength": 64,
            "description": "Address of crypto wallet"
          },
          "currency": {
            "type": "string",
            "maxLength": 4,
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "cvv2": {
            "type": "string",
            "maxLength": 4,
            "minLength": 3,
            "description": "Customer\u0027s CVV2 code for source card. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. May be empty or absent if bank gateway supports processing without CVV2, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "ewallet_type": {
            "type": "string",
            "maxLength": 64,
            "description": "Type of e-wallet"
          },
          "ewallet_wallet": {
            "type": "string",
            "maxLength": 128,
            "description": "E-wallet ID"
          },
          "expire_month": {
            "type": "string",
            "maxLength": 2,
            "description": "Sender credit card\u0027s month of expiration."
          },
          "expire_year": {
            "type": "string",
            "maxLength": 4,
            "minLength": 2,
            "description": "Sender credit card\u0027s year of expiration."
          },
          "ipaddress": {
            "type": "string",
            "maxLength": 45,
            "minLength": 7,
            "description": "The customer\u0027s IP address, include for fraud screening purposes. NB: 45 is for IPv4 tunneling like 0000:0000:0000:0000:0000:0000:192.168.100.101"
          },
          "legal_person_document_number": {
            "type": "string",
            "maxLength": 128,
            "description": "Number of legal document"
          },
          "legal_person_document_type": {
            "type": "string",
            "maxLength": 128
          },
          "legal_person_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Name on the legal document"
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Any additional information for this transaction which may be useful in Merchant\u0027s external systems, e.g. `VIP customer`, `TV promo campaign lead`. Will be returned in Status response and Merchant Callback."
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "description": "Brief order description."
          },
          "preferred_language": {
            "type": "string",
            "maxLength": 2,
            "description": "Customer\u0027s two-letter language code for multi-language payment forms"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system.\n\nAliases: destination."
          },
          "receiver_address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Receiver address, also can be sent as `address1`\n\nAliases: address1."
          },
          "receiver_birthday": {
            "type": "string",
            "maxLength": 30,
            "description": "Receiver birthday, also can be sent as `birthday`\n\nAliases: birthday."
          },
          "receiver_city": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver city, also can be sent as `city`\n\nAliases: city."
          },
          "receiver_country_code": {
            "type": "string",
            "maxLength": 3,
            "description": "Receiver country(two-letter country code). Please see Appendix B for a list of valid country codes\n\nAliases: country."
          },
          "receiver_email": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver E-mail, also can be sent as `email`\n\nAliases: email."
          },
          "receiver_first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver first name, also can be sent as `first_name`\n\nAliases: first_name."
          },
          "receiver_identity_document_id": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s identity document id. Possible values: `21` for Russian Federation passport or `31` for international passport\n\nAliases: identity_document_id."
          },
          "receiver_identity_document_number": {
            "type": "string",
            "maxLength": 16,
            "description": "Receiver\u0027s identity document number (e.g. 6 digits for Russian Federation passport)\n\nAliases: identity_document_number."
          },
          "receiver_last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver last name, also can be sent as `last_name`\n\nAliases: last_name."
          },
          "receiver_middle_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s middle name/patronym. Depends on Acquirer\u0027s side\n\nAliases: middle_name."
          },
          "receiver_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver full international cell phone number, including country code\n\nAliases: phone."
          },
          "receiver_state": {
            "type": "string",
            "maxLength": 4,
            "description": "Receiver state, should be provided for countries that have states (USA, Canada, Australia), also can be sent as `state`\n\nAliases: state."
          },
          "receiver_tin": {
            "type": "string",
            "maxLength": 128,
            "description": "Aliases: receiver_inn."
          },
          "receiver_zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Receiver zip code, also can be sent as `zip_code`\n\nAliases: zip_code."
          },
          "redirect_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected in any case, no matter whether the transaction is approved or declined. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. See more details at statuses. This parameter becomes Mandatory if both `redirect_success_url` and `redirect_fail_url` are missing"
          },
          "routing_number": {
            "type": "string",
            "maxLength": 32,
            "description": "This element should contain the customer\u0027s 9 digit bank routing number."
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "temporary_card_record_id": {
            "type": "string",
            "maxLength": 36
          }
        },
        "type": "object",
        "required": [
          "amount",
          "client_orderid",
          "currency"
        ],
        "description": "Parameters for a Payout, v4 (OAuth 1.0a / RSA-SHA256). See `/api/v4/payout/{endpointId}`."
      },
      "ProcessRecurringPaymentResponse": {
        "properties": {
          "serial-number": {
            "type": "string",
            "format": "uuid",
            "description": "Request serial number; echoed back from the request envelope."
          }
        },
        "type": "object",
        "required": [
          "serial-number"
        ],
        "description": "Response to a process-recurring-payment v4 call."
      },
      "RebillRequest": {
        "properties": {
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "card_insurance_agreement_amount": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_bonus": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_end_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_number": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_sell_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_start_date": {
            "type": "string",
            "maxLength": 256
          },
          "cardrefid": {
            "type": "integer",
            "maximum": 10,
            "format": "int64",
            "description": "Previously created tokenized card reference. It can be sent instead of cardholder data (`credit_card_number`, `card_printed_name`, `expire_month`, `expire_year`). `cvv2` parameter necessity depends on the acquiring channel and necessity of it must be clarified with Tech Support. If `cardrefid` is used, other customer data (`address1`, `first_name`, `last_name`, etc.) can be skipped in the request - it will be gathered from the tokenized transaction. If customer data is sent in request with `cardrefid`, it will overwrite the data from the tokenized transaction for this request. The following parameters remain mandatory for request with `cardrefid`: `email`, `ipaddress`, `client_orderid`, `order_desc`, `control`"
          },
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "control": {
            "type": "string",
            "description": "control \u003d SHA-1(login + client_orderid + cardrefid + amount + currency + merchant_control_key). amount is in cents (e.g. 10.00 → 1000)",
            "x-control-hash": {
              "algorithm": "SHA-1",
              "encoding": "hex-lowercase",
              "parts": [
                {
                  "source": "field",
                  "name": "login"
                },
                {
                  "source": "field",
                  "name": "client_orderid"
                },
                {
                  "source": "field",
                  "name": "cardrefid"
                },
                {
                  "source": "field",
                  "name": "amount",
                  "transform": "to-cents-integer"
                },
                {
                  "source": "field",
                  "name": "currency"
                },
                {
                  "source": "secret",
                  "name": "merchant_control_key"
                }
              ]
            }
          },
          "currency": {
            "type": "string",
            "maxLength": 4,
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "cvv2": {
            "type": "string",
            "description": "Customer\u0027s CVV2 code for source card. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. May be empty or absent if bank gateway supports processing without CVV2, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "enumerate_amounts": {
            "type": "string",
            "description": "This parameter may comprise multiple amounts, separated with `,`. Payneteasy will cycle through the amounts of the list, try to make a payment on that amount, until there are no more amounts from the list, or not get approved."
          },
          "insured_person_birthday": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issue_date": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issuer_code": {
            "type": "string",
            "maxLength": 32
          },
          "insured_person_document_issuer_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_number": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_series": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_email": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_first_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_last_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_middle_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_phone": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_registration_address": {
            "type": "string",
            "maxLength": 256
          },
          "ipaddress": {
            "type": "string",
            "maxLength": 45,
            "minLength": 15,
            "description": "The customer\u0027s IP address, include for fraud screening purposes. NB: 45 is for IPv4 tunneling like 0000:0000:0000:0000:0000:0000:192.168.100.101"
          },
          "login": {
            "type": "string",
            "description": "Merchant\u0027s login. Must be used as oauth_consumer_key in OAuth Authorization, not included in request as `login` parameter"
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Any additional information for this transaction which may be useful in Merchant\u0027s external systems, e.g. `VIP customer`, `TV promo campaign lead`. Will be returned in Status response and Merchant Callback."
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "description": "Brief order description."
          },
          "preferred_language": {
            "type": "string",
            "maxLength": 2,
            "description": "Customer\u0027s two-letter language code for multi-language payment forms"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system.\n\nAliases: destination."
          },
          "recurrent_initiator": {
            "type": "string",
            "maxLength": 128,
            "description": "Initiator of the rebill transaction. Possible values: `CARDHOLDER` or `MERCHANT`. If this parameter is sent in the request, it will have priority over the same parameter specified on gate level. Only used for specific acquirers."
          },
          "recurrent_scenario": {
            "type": "string",
            "maxLength": 128,
            "description": "Type of the rebill transaction. Possible values: `REGULAR` or `IRREGULAR`. If this parameter is sent in the request, it will have priority over the same parameter specified on gate level. Only used for specific acquirers."
          },
          "redirect_url": {
            "type": "string",
            "maxLength": 1024
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "site_url": {
            "type": "string",
            "maxLength": 100,
            "description": "URL the original Account verification is made from"
          }
        },
        "type": "object",
        "required": [
          "amount",
          "cardrefid",
          "client_orderid",
          "control",
          "currency",
          "ipaddress",
          "login",
          "order_desc"
        ],
        "description": "Parameters for a Rebill — initiate a payment against a previously tokenized card (`cardrefid`). Used for recurring/subsequent charges where cardholder is not present. See `/api/v2/make-rebill/{endpointId}`."
      },
      "RecurringPaymentForCreation": {
        "properties": {
          "address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Sender address line 1, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "amount_from": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "Amount of currency must be the same as currency on the project assigned. Upon reaching finish date, Recurring  payment will go into stop status\n\nAliases: amount-from."
          },
          "amount_sequence": {
            "type": "string",
            "maxLength": 255,
            "description": "If amount sequence is chosen, client will be charged amounts from this list. Example of setting up amount sequence: `10.5, 24.6, 32.0`. If repeats number is higher than amount sequence number of elements, every new charge will be with last amount in amount sequence. In order for charges to begin from the first amount in the chain, current repeats number must be set as 0\n\nAliases: amount-sequence."
          },
          "amount_to": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "If amount from+amount to is chosen, every charge will be of random amount between these two numbers\n\nAliases: amount-to."
          },
          "birthday": {
            "type": "string",
            "description": "Sender date of birth, in the format `MMDDYY`, not used for Transfer from account transactions if `destination-card-no` is used\n\nDate format: dd.MM.yyyy."
          },
          "card_printed_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer\u0027s full name, as printed on the card\n\nAliases: card-printed-name."
          },
          "city": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender city, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-orderid, client-order-id."
          },
          "country": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2,
            "description": "Sender country(two-letter country code). Please see reference for a list of valid country codes, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "credit_card_number": {
            "type": "string",
            "maxLength": 19,
            "minLength": 13,
            "pattern": "^\\d+$",
            "description": "Customer\u0027s credit card number. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`\n\nAliases: credit-card-number."
          },
          "currency": {
            "type": "string",
            "maxLength": 3,
            "minLength": 3,
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_ip": {
            "type": "string",
            "maxLength": 45,
            "minLength": 7,
            "description": "Clients IP address\n\nAliases: customer-ip."
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "cvv2": {
            "type": "string",
            "maxLength": 4,
            "minLength": 3,
            "pattern": "^\\d+$",
            "description": "Customer\u0027s CVV2 code for source card. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. May be empty or absent if bank gateway supports processing without CVV2, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "email": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender email address, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "expire_month": {
            "type": "integer",
            "maximum": 2,
            "minimum": 1,
            "format": "int32",
            "description": "Sender credit card\u0027s month of expiration.\n\nAliases: expire-month."
          },
          "expire_year": {
            "type": "integer",
            "maximum": 4,
            "minimum": 4,
            "format": "int32",
            "description": "Sender credit card\u0027s year of expiration.\n\nAliases: expire-year."
          },
          "finish_date": {
            "type": "string",
            "description": "Date, when the client will be charged last time\n\nAliases: finish-date. Date format: dd.MM.yyyy."
          },
          "first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender first name, not used for Transfer from account transactions if `destination-card-no` is used\n\nAliases: first-name."
          },
          "interval": {
            "type": "integer",
            "format": "int32",
            "description": "Interval is a multiplier applied to the period. For example, if interval of 2 and period ‘Daily’ is selected, client will be charged once every 2 days"
          },
          "last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender last name, not used for Transfer from account transactions if `destination-card-no` is used\n\nAliases: last-name."
          },
          "max_repeats_number": {
            "type": "integer",
            "format": "int32",
            "description": "Index of recurring transaction, first charge will hold the index of 0. Current repeats number increases even if a charge was unsuccessful. When current repeats number reaches max repeats number, Recurring  payment goes into stop status and client is charged no more. If a charge was made automatically, no additional charges will be made(unless done manually), even if a recurring payment is stopped and rescheduled again\n\nAliases: max-repeats-number."
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "notify_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "maxLength": 65535,
            "description": "Brief order description.\n\nAliases: payment-description."
          },
          "period": {
            "type": "string",
            "maxLength": 32,
            "description": "Period can be day, week and month. In case if daily is chosen, client will be charged every day. If week - every 7 days. If monthly is chosen, client will be charged on the same date of the month, from the starting date, no matter how many days there are in a month"
          },
          "phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system."
          },
          "rp_card_type": {
            "type": "string",
            "description": "none"
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "ssn": {
            "type": "string",
            "maxLength": 32,
            "description": "Last four digits of the Sender\u0027s social security number, not used for Transfer from account transactions if `destination-card-no` is used. Mandatory for some acquirers for cross-country transfers."
          },
          "start_date": {
            "type": "string",
            "description": "Date, when first charge is scheduled. If start date is set as a current date and type is set as auto, first charge will be made today\n\nAliases: start-date. Date format: dd.MM.yyyy."
          },
          "state": {
            "type": "string",
            "maxLength": 3,
            "minLength": 2,
            "description": "Sender\u0027s state . Please see reference for a list of valid state codes, not used for Transfer from account transactions if `destination-card-no` is used.  Mandatory for USA, Canada and Australia."
          },
          "zip_code": {
            "type": "string",
            "maxLength": 10,
            "description": "Sender ZIP code, not used for Transfer from account transactions if `destination-card-no` is used\n\nAliases: zip-code."
          }
        },
        "type": "object",
        "required": [
          "client_orderid",
          "rp_card_type"
        ],
        "description": "Parameters for creating a recurring payment subscription, v4. Sets up the schedule (`period`, `interval`), amount, and customer details. See `/api/v4/create-recurring-payment/{endpointId}`."
      },
      "RecurringPaymentForUpdate": {
        "properties": {
          "address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Sender address line 1, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "amount_from": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "Amount of currency must be the same as currency on the project assigned. Upon reaching finish date, Recurring  payment will go into stop status\n\nAliases: amount-from."
          },
          "amount_sequence": {
            "type": "string",
            "maxLength": 255,
            "description": "If amount sequence is chosen, client will be charged amounts from this list. Example of setting up amount sequence: `10.5, 24.6, 32.0`. If repeats number is higher than amount sequence number of elements, every new charge will be with last amount in amount sequence. In order for charges to begin from the first amount in the chain, current repeats number must be set as 0\n\nAliases: amount-sequence."
          },
          "amount_to": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "If amount from+amount to is chosen, every charge will be of random amount between these two numbers\n\nAliases: amount-to."
          },
          "birthday": {
            "type": "string",
            "description": "Sender date of birth, in the format `MMDDYY`, not used for Transfer from account transactions if `destination-card-no` is used\n\nDate format: dd.MM.yyyy."
          },
          "card_printed_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer\u0027s full name, as printed on the card\n\nAliases: card-printed-name."
          },
          "city": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender city, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-orderid, client-order-id."
          },
          "country": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2,
            "description": "Sender country(two-letter country code). Please see reference for a list of valid country codes, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "credit_card_number": {
            "type": "string",
            "maxLength": 19,
            "minLength": 13,
            "pattern": "^\\d+$",
            "description": "Customer\u0027s credit card number. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`\n\nAliases: credit-card-number."
          },
          "currency": {
            "type": "string",
            "maxLength": 3,
            "minLength": 3,
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "current_repeats_number": {
            "type": "integer",
            "format": "int32",
            "description": "Aliases: current-repeats-number."
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_ip": {
            "type": "string",
            "maxLength": 45,
            "minLength": 7,
            "description": "Clients IP address\n\nAliases: customer-ip."
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "cvv2": {
            "type": "string",
            "maxLength": 4,
            "minLength": 3,
            "pattern": "^\\d+$",
            "description": "Customer\u0027s CVV2 code for source card. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. May be empty or absent if bank gateway supports processing without CVV2, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "email": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender email address, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "expire_month": {
            "type": "integer",
            "maximum": 2,
            "minimum": 1,
            "format": "int32",
            "description": "Sender credit card\u0027s month of expiration.\n\nAliases: expire-month."
          },
          "expire_year": {
            "type": "integer",
            "maximum": 4,
            "minimum": 4,
            "format": "int32",
            "description": "Sender credit card\u0027s year of expiration.\n\nAliases: expire-year."
          },
          "finish_date": {
            "type": "string",
            "description": "Date, when the client will be charged last time\n\nAliases: finish-date. Date format: dd.MM.yyyy."
          },
          "first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender first name, not used for Transfer from account transactions if `destination-card-no` is used\n\nAliases: first-name."
          },
          "interval": {
            "type": "integer",
            "format": "int32",
            "description": "Interval is a multiplier applied to the period. For example, if interval of 2 and period ‘Daily’ is selected, client will be charged once every 2 days"
          },
          "last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender last name, not used for Transfer from account transactions if `destination-card-no` is used\n\nAliases: last-name."
          },
          "max_repeats_number": {
            "type": "integer",
            "format": "int32",
            "description": "Index of recurring transaction, first charge will hold the index of 0. Current repeats number increases even if a charge was unsuccessful. When current repeats number reaches max repeats number, Recurring  payment goes into stop status and client is charged no more. If a charge was made automatically, no additional charges will be made(unless done manually), even if a recurring payment is stopped and rescheduled again\n\nAliases: max-repeats-number."
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "notify_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "maxLength": 65535,
            "description": "Brief order description.\n\nAliases: payment-description."
          },
          "period": {
            "type": "string",
            "maxLength": 32,
            "description": "Period can be day, week and month. In case if daily is chosen, client will be charged every day. If week - every 7 days. If monthly is chosen, client will be charged on the same date of the month, from the starting date, no matter how many days there are in a month"
          },
          "phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system."
          },
          "recurring_payment_id": {
            "type": "integer",
            "format": "int64",
            "description": "Customer’s tokenized cardholder\u0027s data ID which is used in different set of APIs and also can be used in initiating automate transactions.\n\nAliases: recurring-payment-id."
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "ssn": {
            "type": "string",
            "maxLength": 32,
            "description": "Last four digits of the Sender\u0027s social security number, not used for Transfer from account transactions if `destination-card-no` is used. Mandatory for some acquirers for cross-country transfers."
          },
          "start_date": {
            "type": "string",
            "description": "Date, when first charge is scheduled. If start date is set as a current date and type is set as auto, first charge will be made today\n\nAliases: start-date. Date format: dd.MM.yyyy."
          },
          "state": {
            "type": "string",
            "maxLength": 3,
            "minLength": 2,
            "description": "Sender\u0027s state . Please see reference for a list of valid state codes, not used for Transfer from account transactions if `destination-card-no` is used.  Mandatory for USA, Canada and Australia."
          },
          "type": {
            "type": "string",
            "description": "Recurring payments can be set as auto and manual. If set as auto, charges will be applied automatically in accordance with this schedule. If set as manual, client can be charged only manually with the help of Recur transaction/API call"
          },
          "zip_code": {
            "type": "string",
            "maxLength": 10,
            "description": "Sender ZIP code, not used for Transfer from account transactions if `destination-card-no` is used\n\nAliases: zip-code."
          }
        },
        "type": "object",
        "required": [
          "client_orderid",
          "recurring_payment_id"
        ],
        "description": "Parameters for updating an existing recurring payment subscription, v4. See `/api/v4/update-recurring-payment/{endpointId}`."
      },
      "RecurringPaymentToProcess": {
        "properties": {
          "address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Sender address line 1, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "birthday": {
            "type": "string",
            "description": "Sender date of birth, in the format `MMDDYY`, not used for Transfer from account transactions if `destination-card-no` is used\n\nDate format: dd.MM.yyyy."
          },
          "city": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender city, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-orderid, client-order-id."
          },
          "country": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2,
            "description": "Sender country(two-letter country code). Please see reference for a list of valid country codes, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "currency": {
            "type": "string",
            "maxLength": 3,
            "minLength": 3,
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_ip": {
            "type": "string",
            "maxLength": 45,
            "minLength": 7,
            "description": "Clients IP address\n\nAliases: customer-ip."
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "email": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender email address, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender first name, not used for Transfer from account transactions if `destination-card-no` is used\n\nAliases: first-name."
          },
          "last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender last name, not used for Transfer from account transactions if `destination-card-no` is used\n\nAliases: last-name."
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "notify_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "maxLength": 65535,
            "description": "Brief order description.\n\nAliases: payment-description."
          },
          "phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system."
          },
          "recurring_payment_id": {
            "type": "integer",
            "format": "int64",
            "description": "Customer’s tokenized cardholder\u0027s data ID which is used in different set of APIs and also can be used in initiating automate transactions.\n\nAliases: recurring-payment-id."
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "ssn": {
            "type": "string",
            "maxLength": 32,
            "description": "Last four digits of the Sender\u0027s social security number, not used for Transfer from account transactions if `destination-card-no` is used. Mandatory for some acquirers for cross-country transfers."
          },
          "state": {
            "type": "string",
            "maxLength": 3,
            "minLength": 2,
            "description": "Sender\u0027s state . Please see reference for a list of valid state codes, not used for Transfer from account transactions if `destination-card-no` is used.  Mandatory for USA, Canada and Australia."
          },
          "zip_code": {
            "type": "string",
            "maxLength": 10,
            "description": "Sender ZIP code, not used for Transfer from account transactions if `destination-card-no` is used\n\nAliases: zip-code."
          }
        },
        "type": "object",
        "required": [
          "amount",
          "client_orderid",
          "recurring_payment_id"
        ],
        "description": "Parameters for triggering processing of a recurring payment (charging the next instalment), v4. See `/api/v4/process-recurring-payment/{endpointId}`."
      },
      "ReturnRequest": {
        "properties": {
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "Partial return amount (omit for full reversal). Not supported for void."
          },
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "comment": {
            "type": "string",
            "description": "Reason for return"
          },
          "control": {
            "type": "string",
            "description": "control \u003d SHA-1(login + client_orderid + orderid + amount + currency + merchant_control_key). amount is in cents (e.g. 10.00 → 1000)",
            "x-control-hash": {
              "algorithm": "SHA-1",
              "encoding": "hex-lowercase",
              "parts": [
                {
                  "source": "field",
                  "name": "login"
                },
                {
                  "source": "field",
                  "name": "client_orderid"
                },
                {
                  "source": "field",
                  "name": "orderid"
                },
                {
                  "source": "field",
                  "name": "amount",
                  "transform": "to-cents-integer"
                },
                {
                  "source": "field",
                  "name": "currency"
                },
                {
                  "source": "secret",
                  "name": "merchant_control_key"
                }
              ]
            }
          },
          "currency": {
            "type": "string",
            "description": "Required if amount specified. Not supported for void."
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "login": {
            "type": "string",
            "description": "Merchant\u0027s login. Must be used as oauth_consumer_key in OAuth Authorization, not included in request as `login` parameter"
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Any additional information for this transaction which may be useful in Merchant\u0027s external systems, e.g. `VIP customer`, `TV promo campaign lead`. Will be returned in Status response and Merchant Callback."
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "orderid": {
            "type": "integer",
            "format": "int64",
            "description": "Payneteasy order ID of original transaction"
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          }
        },
        "type": "object",
        "required": [
          "client_orderid",
          "comment",
          "control",
          "login",
          "orderid"
        ],
        "description": "Return transactions may only be initiated when the transaction have final successful status. See Statuses. For Preauth it makes Cancel transaction, for Capture and Sale – Reversal. "
      },
      "SaleFormRequest": {
        "properties": {
          "address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Sender address line 1, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "bank_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank code"
          },
          "bank_phone": {
            "type": "string",
            "maxLength": 32
          },
          "birthday": {
            "type": "string",
            "maxLength": 30,
            "description": "Sender date of birth, in the format `MMDDYY`, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "card_insurance_agreement_amount": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_bonus": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_end_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_number": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_sell_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_start_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_printed_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer\u0027s full name, as printed on the card"
          },
          "card_recurring_payment_id": {
            "type": "integer",
            "format": "int64",
            "description": "Sender’s tokenized cardholder\u0027s data ID. Send either `card_recurring_payment_id` or combination of `credit_card_number`, `card_printed_name`, `expire_month` and `expire_year`, not all. To create `card_recurring_payment_id` see v2_create-card-ref. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "cardrefid": {
            "type": "integer",
            "maximum": 12,
            "format": "int64",
            "description": "Previously created tokenized card reference. It can be sent instead of cardholder data (`credit_card_number`, `card_printed_name`, `expire_month`, `expire_year`). `cvv2` parameter necessity depends on the acquiring channel and necessity of it must be clarified with Tech Support. If `cardrefid` is used, other customer data (`address1`, `first_name`, `last_name`, etc.) can be skipped in the request - it will be gathered from the tokenized transaction. If customer data is sent in request with `cardrefid`, it will overwrite the data from the tokenized transaction for this request. The following parameters remain mandatory for request with `cardrefid`: `email`, `ipaddress`, `client_orderid`, `order_desc`, `control`"
          },
          "cell_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international cell phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "city": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender city, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "control": {
            "type": "string",
            "description": "control \u003d SHA-1(endpointId + client_orderid + amount + email + merchant_control_key). amount is in cents (e.g. 10.00 → 1000)",
            "x-control-hash": {
              "algorithm": "SHA-1",
              "encoding": "hex-lowercase",
              "parts": [
                {
                  "source": "path",
                  "name": "endpointId"
                },
                {
                  "source": "field",
                  "name": "client_orderid"
                },
                {
                  "source": "field",
                  "name": "amount",
                  "transform": "to-cents-integer"
                },
                {
                  "source": "field",
                  "name": "email"
                },
                {
                  "source": "secret",
                  "name": "merchant_control_key"
                }
              ]
            }
          },
          "country": {
            "type": "string",
            "maxLength": 3,
            "description": "Sender country(two-letter country code). Please see reference for a list of valid country codes, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "credit_card_number": {
            "type": "string",
            "pattern": "^\\d+$",
            "description": "Customer\u0027s credit card number. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "currency": {
            "type": "string",
            "maxLength": 4,
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer_accept": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer Browser Accept Header\n\nAliases: customer_browser_accept_header."
          },
          "customer_accept_language": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer browser accept language\n\nAliases: customer_browser_accept_language."
          },
          "customer_browser_color_depth": {
            "type": "integer",
            "maximum": 2,
            "minimum": 1,
            "format": "int32",
            "description": "Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Obtained from Cardholder browser using the screen.colorDepth property."
          },
          "customer_browser_info": {
            "type": "boolean",
            "description": "If true, then the fields below must be present"
          },
          "customer_browser_java_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute Java. Value is returned from the navigator.javaEnabled property."
          },
          "customer_browser_javascript_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute JavaScript."
          },
          "customer_browser_screen_height": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total height of the Cardholder’s screen in pixels. Value is returned from the screen.height property."
          },
          "customer_browser_screen_width": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total width of the cardholder’s screen in pixels. Value is returned from screen.width property."
          },
          "customer_browser_time_zone": {
            "type": "integer",
            "maximum": 5,
            "minimum": 1,
            "format": "int32",
            "description": "Time-zone offset in minutes between UTC and the Cardholder browser local time. Note that the offset is positive if the local time zone is behind UTC and negative if it is ahead."
          },
          "customer_csid": {
            "type": "string",
            "maxLength": 16384
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "customer_localtime": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer Localtime"
          },
          "customer_screen_size": {
            "type": "string",
            "maxLength": 32,
            "description": "Customer Screen Size\n\nAliases: customer_screen."
          },
          "customer_user_agent": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer User Agent Info\n\nAliases: customer_agent, customer_browser_user_agent."
          },
          "cvv2": {
            "type": "string",
            "maxLength": 4,
            "minLength": 3,
            "description": "Customer\u0027s CVV2 code for source card. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. May be empty or absent if bank gateway supports processing without CVV2, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "device_imei": {
            "type": "string",
            "maxLength": 32,
            "description": "Aliases: dapi_imei."
          },
          "device_sn": {
            "type": "string",
            "maxLength": 64,
            "description": "Aliases: dapi_dsn."
          },
          "driver_license": {
            "type": "string",
            "maxLength": 128
          },
          "email": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender email address, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "expire_month": {
            "type": "string",
            "maxLength": 2,
            "description": "Sender credit card\u0027s month of expiration."
          },
          "expire_year": {
            "type": "string",
            "maxLength": 4,
            "minLength": 2,
            "description": "Sender credit card\u0027s year of expiration."
          },
          "first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender first name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "insurance_amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$"
          },
          "insured_person_birthday": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issue_date": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issuer_code": {
            "type": "string",
            "maxLength": 32
          },
          "insured_person_document_issuer_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_number": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_series": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_email": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_first_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_last_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_middle_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_phone": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_registration_address": {
            "type": "string",
            "maxLength": 256
          },
          "ipaddress": {
            "type": "string",
            "maxLength": 45,
            "minLength": 7,
            "description": "The customer\u0027s IP address, include for fraud screening purposes. NB: 45 is for IPv4 tunneling like 0000:0000:0000:0000:0000:0000:192.168.100.101"
          },
          "last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender last name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "maximum-transaction-amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$"
          },
          "maxmind_phone_code": {
            "type": "string",
            "maxLength": 4
          },
          "maxmind_phone_id": {
            "type": "string",
            "maxLength": 128
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Any additional information for this transaction which may be useful in Merchant\u0027s external systems, e.g. `VIP customer`, `TV promo campaign lead`. Will be returned in Status response and Merchant Callback."
          },
          "merchant_form_data": {
            "type": "string",
            "description": "URL-encoded key\u003dvalue pairs for form template macros"
          },
          "middle_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender middle name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "minimum-transaction-amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$"
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "description": "Brief order description."
          },
          "payment_method": {
            "type": "string",
            "maxLength": 256
          },
          "phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "preferred_language": {
            "type": "string",
            "maxLength": 2,
            "description": "Two-letter language code for form localization"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system.\n\nAliases: destination."
          },
          "redirect_fail_url": {
            "type": "string",
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `declined` or `filtered`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_success_url": {
            "type": "string",
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `approved`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_url": {
            "type": "string",
            "maxLength": 1024
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "site_url": {
            "type": "string",
            "maxLength": 100,
            "description": "URL the original Account verification is made from"
          },
          "ssn": {
            "type": "string",
            "maxLength": 32,
            "description": "Last four digits of the Sender\u0027s social security number, not used for Transfer from account transactions if `destination-card-no` is used. Mandatory for some acquirers for cross-country transfers."
          },
          "state": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender\u0027s state . Please see reference for a list of valid state codes, not used for Transfer from account transactions if `destination-card-no` is used.  Mandatory for USA, Canada and Australia."
          },
          "tds_areq_notification_url": {
            "type": "string",
            "maxLength": 256,
            "minLength": 11,
            "description": "Fully qualified URL of merchant system that will receive the CRes message or Error Message. The CRes message is posted by the ACS through the Cardholder browser at the end of the challenge.\n\nAliases: tds_creq_notification_url, tds_cres_notification_url."
          },
          "tds_authentication_result_authentication_type": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2
          },
          "tds_authentication_result_authentication_value": {
            "type": "string",
            "maxLength": 28,
            "minLength": 19
          },
          "tds_authentication_result_message_version": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5
          },
          "tds_authentication_result_transaction_id": {
            "type": "string",
            "maxLength": 36,
            "minLength": 19
          },
          "tds_authentication_result_transaction_status": {
            "type": "string",
            "maxLength": 1,
            "minLength": 1
          },
          "tds_authentication_result_type": {
            "type": "string",
            "maxLength": 6,
            "minLength": 6
          },
          "tds_challenge_window_size": {
            "type": "string",
            "maxLength": 11,
            "minLength": 2
          },
          "temporary_card_record_id": {
            "type": "string",
            "maxLength": 36
          },
          "zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender ZIP code, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          }
        },
        "type": "object",
        "required": [
          "amount",
          "client_orderid",
          "control",
          "currency",
          "ipaddress",
          "order_desc"
        ],
        "description": "Parameters for a hosted-payment-form Sale (Buy Now) — Payneteasy collects card data on its own page and processes the sale. Use when the merchant must stay out of PCI scope. See `/api/v2/sale-form/{endpointId}`."
      },
      "SaleRequest": {
        "properties": {
          "address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Customer address line 1\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "Amount in highest units with `.` delimiter (e.g. 10.50)"
          },
          "bank_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank code"
          },
          "bank_phone": {
            "type": "string",
            "maxLength": 32
          },
          "birthday": {
            "type": "string",
            "maxLength": 30,
            "description": "YYYYMMDD"
          },
          "card_insurance_agreement_amount": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_bonus": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_end_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_number": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_sell_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_start_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_printed_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer\u0027s full name, as printed on the card\n\nRequired if all of these are empty: payment_method, card_recurring_payment_id."
          },
          "card_recurring_payment_id": {
            "type": "integer",
            "format": "int64",
            "description": "Tokenized card ID (or use credit_card_number)"
          },
          "cell_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international cell phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "city": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender city, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Merchant order identifier\n\nAliases: client-order-id."
          },
          "control": {
            "type": "string",
            "description": "control \u003d SHA-1(endpointId + client_orderid + amount + email + merchant_control_key). amount is in cents (e.g. 10.00 → 1000)",
            "x-control-hash": {
              "algorithm": "SHA-1",
              "encoding": "hex-lowercase",
              "parts": [
                {
                  "source": "path",
                  "name": "endpointId"
                },
                {
                  "source": "field",
                  "name": "client_orderid"
                },
                {
                  "source": "field",
                  "name": "amount",
                  "transform": "to-cents-integer"
                },
                {
                  "source": "field",
                  "name": "email"
                },
                {
                  "source": "secret",
                  "name": "merchant_control_key"
                }
              ]
            }
          },
          "country": {
            "type": "string",
            "maxLength": 3,
            "description": "Two-letter country code\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "credit_card_number": {
            "type": "string",
            "maxLength": 19,
            "pattern": "^\\d+$",
            "description": "Card number (or use card_recurring_payment_id)\n\nRequired if all of these are empty: temporary_card_record_id, card_recurring_payment_id, payment_method."
          },
          "currency": {
            "type": "string",
            "maxLength": 4,
            "description": "Three-letter currency code (USD, EUR, etc.)"
          },
          "customer_accept": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer Browser Accept Header\n\nAliases: customer_browser_accept_header."
          },
          "customer_accept_language": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer browser accept language\n\nAliases: customer_browser_accept_language."
          },
          "customer_browser_color_depth": {
            "type": "integer",
            "maximum": 2,
            "minimum": 1,
            "format": "int32",
            "description": "Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Obtained from Cardholder browser using the screen.colorDepth property."
          },
          "customer_browser_info": {
            "type": "boolean",
            "description": "If true, then the fields below must be present"
          },
          "customer_browser_java_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute Java. Value is returned from the navigator.javaEnabled property."
          },
          "customer_browser_javascript_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute JavaScript."
          },
          "customer_browser_screen_height": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total height of the Cardholder’s screen in pixels. Value is returned from the screen.height property."
          },
          "customer_browser_screen_width": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total width of the cardholder’s screen in pixels. Value is returned from screen.width property."
          },
          "customer_browser_time_zone": {
            "type": "integer",
            "maximum": 5,
            "minimum": 1,
            "format": "int32",
            "description": "Time-zone offset in minutes between UTC and the Cardholder browser local time. Note that the offset is positive if the local time zone is behind UTC and negative if it is ahead."
          },
          "customer_csid": {
            "type": "string",
            "maxLength": 16384
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "customer_localtime": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer Localtime"
          },
          "customer_screen_size": {
            "type": "string",
            "maxLength": 32,
            "description": "Customer Screen Size\n\nAliases: customer_screen."
          },
          "customer_user_agent": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer User Agent Info\n\nAliases: customer_agent, customer_browser_user_agent."
          },
          "cvv2": {
            "type": "string",
            "maxLength": 4,
            "minLength": 3,
            "description": "Card verification value"
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "device_imei": {
            "type": "string",
            "maxLength": 32,
            "description": "Aliases: dapi_imei."
          },
          "device_sn": {
            "type": "string",
            "maxLength": 64,
            "description": "Aliases: dapi_dsn."
          },
          "driver_license": {
            "type": "string",
            "maxLength": 128
          },
          "email": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender email address, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          },
          "expire_month": {
            "type": "string",
            "maxLength": 2,
            "description": "Sender credit card\u0027s month of expiration.\n\nRequired if all of these are empty: payment_method, card_recurring_payment_id."
          },
          "expire_year": {
            "type": "string",
            "maxLength": 4,
            "minLength": 2,
            "description": "Sender credit card\u0027s year of expiration.\n\nRequired if all of these are empty: payment_method, card_recurring_payment_id."
          },
          "first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender first name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "insurance_amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$"
          },
          "insured_person_birthday": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issue_date": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issuer_code": {
            "type": "string",
            "maxLength": 32
          },
          "insured_person_document_issuer_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_number": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_series": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_email": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_first_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_last_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_middle_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_phone": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_registration_address": {
            "type": "string",
            "maxLength": 256
          },
          "ipaddress": {
            "type": "string",
            "maxLength": 45,
            "minLength": 7,
            "description": "Customer IP (IPv4 or IPv6)"
          },
          "last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender last name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "maxmind_phone_code": {
            "type": "string",
            "maxLength": 4
          },
          "maxmind_phone_id": {
            "type": "string",
            "maxLength": 128
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Arbitrary merchant data returned in status/callback"
          },
          "middle_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender middle name, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "description": "Brief order description"
          },
          "payment_method": {
            "type": "string",
            "maxLength": 256
          },
          "phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Full international phone number"
          },
          "preferred_language": {
            "type": "string",
            "maxLength": 2,
            "description": "Customer\u0027s two-letter language code for multi-language payment forms"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system.\n\nAliases: destination."
          },
          "redirect_fail_url": {
            "type": "string",
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `declined` or `filtered`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_success_url": {
            "type": "string",
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `approved`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_url": {
            "type": "string",
            "maxLength": 1024
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "site_url": {
            "type": "string",
            "maxLength": 100,
            "description": "URL the original Account verification is made from"
          },
          "ssn": {
            "type": "string",
            "maxLength": 32,
            "description": "Last 4 digits of SSN"
          },
          "state": {
            "type": "string",
            "maxLength": 32,
            "description": "Required for US, CA, AU"
          },
          "tds_areq_notification_url": {
            "type": "string",
            "maxLength": 256,
            "minLength": 11,
            "description": "Fully qualified URL of merchant system that will receive the CRes message or Error Message. The CRes message is posted by the ACS through the Cardholder browser at the end of the challenge.\n\nAliases: tds_creq_notification_url, tds_cres_notification_url."
          },
          "tds_authentication_result_authentication_type": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2
          },
          "tds_authentication_result_authentication_value": {
            "type": "string",
            "maxLength": 28,
            "minLength": 19
          },
          "tds_authentication_result_message_version": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5
          },
          "tds_authentication_result_transaction_id": {
            "type": "string",
            "maxLength": 36,
            "minLength": 19
          },
          "tds_authentication_result_transaction_status": {
            "type": "string",
            "maxLength": 1,
            "minLength": 1
          },
          "tds_authentication_result_type": {
            "type": "string",
            "maxLength": 6,
            "minLength": 6
          },
          "tds_challenge_window_size": {
            "type": "string",
            "maxLength": 11,
            "minLength": 2
          },
          "temporary_card_record_id": {
            "type": "string",
            "maxLength": 36
          },
          "zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender ZIP code, not used for Transfer from account transactions if `destination-card-no` is used\n\nRequired if all of these are empty: card_recurring_payment_id."
          }
        },
        "type": "object",
        "required": [
          "amount",
          "client_orderid",
          "control",
          "currency",
          "ipaddress",
          "order_desc"
        ],
        "description": "Parameters for a Sale (SMS) transaction — a combined authorization and capture in a single request. Use when the goods or service can be delivered immediately. See `/api/v2/sale/{endpointId}`."
      },
      "ServerErrorResponse": {
        "properties": {
          "error-code": {
            "type": "integer",
            "format": "int32",
            "description": "Numeric error code identifying the type of error."
          },
          "error-message": {
            "type": "string"
          },
          "merchant-order-id": {
            "type": "string"
          },
          "serial-number": {
            "type": "string",
            "format": "uuid"
          },
          "type": {
            "type": "string",
            "enum": [
              "error"
            ]
          }
        },
        "type": "object",
        "required": [
          "error-code",
          "error-message",
          "serial-number",
          "type"
        ],
        "description": "Response returned when the service fails to handle the request due to an internal error."
      },
      "StatusRequest": {
        "properties": {
          "by-request-sn": {
            "type": "string",
            "maxLength": 40,
            "format": "uuid",
            "description": "Serial number for specific request stage (optional)"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "control": {
            "type": "string",
            "description": "control \u003d SHA-1(login + client_orderid + orderid + merchant_control_key)",
            "x-control-hash": {
              "algorithm": "SHA-1",
              "encoding": "hex-lowercase",
              "parts": [
                {
                  "source": "field",
                  "name": "login"
                },
                {
                  "source": "field",
                  "name": "client_orderid"
                },
                {
                  "source": "field",
                  "name": "orderid",
                  "transform": "empty-if-null"
                },
                {
                  "source": "secret",
                  "name": "merchant_control_key"
                }
              ]
            }
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "login": {
            "type": "string"
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "orderid": {
            "type": "integer",
            "format": "int64",
            "description": "Payneteasy order ID (conditional — recommended)"
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          }
        },
        "type": "object",
        "required": [
          "client_orderid",
          "control",
          "login"
        ],
        "description": "an order status request"
      },
      "StatusResponse": {
        "properties": {
          "account-number": {
            "type": "string",
            "description": "This element should contain the customer\u0027s bank account number."
          },
          "acquirer-commission": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "Acquirer commission for processed transaction. This is optional parameter. Please contact your manager in payment gateway, if you would like to receive it."
          },
          "acquirer-processing-date": {
            "type": "string",
            "format": "date-time",
            "description": "Acquirer transaction processing date"
          },
          "address1": {
            "type": "string",
            "description": "Sender address line 1, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "approval-code": {
            "type": "string",
            "description": "Authorization approval code, if any"
          },
          "auth-response-code": {
            "type": "string",
            "description": "Response code used in Iso8583 protocol. Only returned in specific cases"
          },
          "auxiliary-sessions": {
            "type": "string",
            "description": "This parameter contains a list of all initiated by customer on the form auxiliary transactions, which are connected to the master (cashier) transaction. Format: URL encoded JSON array [{\"sessionId\":value,\"sessionStatus\":\"value\"},...]."
          },
          "avs-response-code": {
            "type": "string"
          },
          "bank-name": {
            "type": "string",
            "description": "Bank name by customer card BIN."
          },
          "bin": {
            "type": "string",
            "description": "Bank BIN of customer credit card number."
          },
          "business-lounge-product-brand-name": {
            "type": "string"
          },
          "business-lounge-response": {
            "type": "string"
          },
          "by-request-sn": {
            "type": "string",
            "format": "uuid",
            "description": "Serial number from status request, if exists in request. `Warning` parameter `amount` always shows `initial` transaction amount, even if status is requested `by-request-sn`."
          },
          "card-country-alpha-three-code": {
            "type": "string",
            "description": "Three letter country code of source card issuer. See card-country-codes for details."
          },
          "card-exp-month": {
            "type": "integer",
            "format": "int32",
            "description": "Expiration month (`0` in Pay365 integration)."
          },
          "card-exp-year": {
            "type": "integer",
            "format": "int32",
            "description": "Expiration year (`0` in Pay365 integration)."
          },
          "card-hash-id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique card identifier to use for loyalty programs or fraud checks."
          },
          "card-ref-id": {
            "type": "integer",
            "format": "int64",
            "description": "the `card-ref-id` created earlier using `create-card-ref` call that can be used to find the specific card that is needed"
          },
          "card-type": {
            "type": "string",
            "description": "Type of customer credit card (`SMS` in Pay365 integration)."
          },
          "cardholder-name": {
            "type": "string",
            "description": "Cardholder name."
          },
          "city": {
            "type": "string",
            "description": "Sender city, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "comment": {
            "type": "string",
            "description": "Adds a comment to attached file, accessible via pointing cursor on file in order details page."
          },
          "country": {
            "type": "string",
            "description": "Sender country(two-letter country code). Please see reference for a list of valid country codes, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "currency": {
            "type": "string",
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer-id": {
            "type": "integer",
            "format": "int64"
          },
          "customer-ip": {
            "type": "string",
            "description": "Clients IP address"
          },
          "customer-level": {
            "type": "string"
          },
          "customer-wants-to-register-card": {
            "type": "boolean"
          },
          "descriptor": {
            "type": "string",
            "description": "Identifier of the used processing channel. In some cases can contain bank identifier of the payment recipient"
          },
          "dest-bank-name": {
            "type": "string",
            "description": "Destination bank name by customer card BIN."
          },
          "dest-bin": {
            "type": "string",
            "description": "Destination bank BIN of customer credit card number."
          },
          "dest-card-type": {
            "type": "string",
            "description": "Type of destination customer credit card (`VISA`, `MASTERCARD`, etc)."
          },
          "dest-last-four-digits": {
            "type": "string",
            "description": "Destination last four digits of customer credit card number."
          },
          "destination-card-country-alpha-three-code": {
            "type": "string",
            "description": "Three letter country code of destination card issuer. See card-country-codes for details."
          },
          "destination-card-hash-id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique card identifier to use for loyalty programs or fraud checks"
          },
          "dst-recurring-payment-id": {
            "type": "integer",
            "format": "int64",
            "description": "Customer’s tokenized cardholder\u0027s data ID. Can be used only in transfer APIs as a destination card."
          },
          "eci": {
            "type": "string",
            "description": "Electronic Commerce Indicator of 3-D Secure authentication"
          },
          "effective-exchange-rate": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "Actual exchange rate, applied during currency conversion."
          },
          "email": {
            "type": "string",
            "description": "Sender email address, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "emv-app-cryptogram-9f26": {
            "type": "string",
            "format": "byte"
          },
          "emv-app-label-50": {
            "type": "string"
          },
          "emv-cid-9f27": {
            "type": "string",
            "format": "byte"
          },
          "emv-cvr-9f34": {
            "type": "string",
            "format": "byte"
          },
          "emv-issuer-response": {
            "type": "string"
          },
          "emv-pan-sequence-5f34": {
            "type": "integer",
            "maximum": 127,
            "minimum": -128,
            "format": "int32"
          },
          "emv-terminal-aid-9f06": {
            "type": "string",
            "format": "byte"
          },
          "emv-tvr-95": {
            "type": "string",
            "format": "byte"
          },
          "error-code": {
            "type": "integer",
            "format": "int32",
            "description": "The error code is case status in `declined`, `error`, `filtered`."
          },
          "error-group": {
            "type": "integer",
            "format": "int32"
          },
          "error-message": {
            "type": "string",
            "description": "If status is `validation-error` or `error` this parameter contains the reason for decline or error details."
          },
          "event": {
            "type": "string"
          },
          "exchange-rate": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "Basic exchange rate for currency conversion."
          },
          "exchanged-amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$"
          },
          "exchanged-to-currency": {
            "type": "string"
          },
          "external-payment-method": {
            "type": "string"
          },
          "first-name": {
            "type": "string",
            "description": "Customer’s first name."
          },
          "gate-method2": {
            "type": "string"
          },
          "gate-partial-capture": {
            "type": "boolean",
            "description": "Processing gate support partial capture (enabled or disabled)."
          },
          "gate-partial-reversal": {
            "type": "boolean",
            "description": "Processing gate support partial reversal (enabled or disabled)."
          },
          "html": {
            "type": "string",
            "description": "HTML code of 3DS authorization form, encoded in `application/x-www-form-urlencoded` MIME format. Merchant must decode this parameter before showing the form to the Customer. The Payneteasy System returns the following response parameters when it gets 3DS authorization form from the Issuer Bank. It contains auth form HTML code which must be passed through without any changes to the client\u0027s browser. This parameter exists and has value only when the redirection HTML is already available. For non-3DS this never happens. For 3DS HTML has value after some short time after the processing has been started."
          },
          "initial-amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "Amount, set in initiating transaction, without any fees or commissions. This value can\u0027t change during the transaction flow."
          },
          "ips-dst-payment-product-code": {
            "type": "string",
            "description": "Code for card set by multinational financial service. (Visa/Mastercard)"
          },
          "ips-dst-payment-product-name": {
            "type": "string",
            "description": "Decrypted code for card set by multinational financial service. (Visa/Mastercard)"
          },
          "ips-dst-payment-type-code": {
            "type": "string",
            "description": "Type of card code set by multinational financial service. (Visa/Mastercard)"
          },
          "ips-dst-payment-type-name": {
            "type": "string",
            "description": "Decrypted code for type of card set by multinational financial service. (Visa/Mastercard)"
          },
          "ips-src-payment-product-code": {
            "type": "string",
            "description": "Code for card set by multinational financial service. (Visa/Mastercard)."
          },
          "ips-src-payment-product-name": {
            "type": "string",
            "description": "Decrypted code for card set by multinational financial service. (Visa/Mastercard)."
          },
          "ips-src-payment-type-code": {
            "type": "string",
            "description": "Type of card code set by multinational financial service. (Visa/Mastercard)."
          },
          "ips-src-payment-type-name": {
            "type": "string",
            "description": "Decrypted code for type of card set by multinational financial service. (Visa/Mastercard)"
          },
          "isignthis-transaction-id": {
            "type": "string"
          },
          "last-four-digits": {
            "type": "string",
            "description": "Last four digits of customer credit card number."
          },
          "last-name": {
            "type": "string",
            "description": "Customer’s last name."
          },
          "loyalty-balance": {
            "type": "string",
            "description": "The current bonuses balance of the loyalty program for current operation. `if available`."
          },
          "loyalty-bonus": {
            "type": "string",
            "description": "The bonus value of the loyalty program for current operation. `if available`."
          },
          "loyalty-message": {
            "type": "string",
            "description": "The message from the loyalty program. `if available`."
          },
          "loyalty-program": {
            "type": "string",
            "description": "The name of the loyalty program for current operation. `if available`."
          },
          "merchant-customer-identifier": {
            "type": "string"
          },
          "merchant-order-id": {
            "type": "string",
            "description": "Merchant order id (same as `client-order-id`)"
          },
          "merchantdata": {
            "type": "string",
            "description": "If provided in initial request, merchant_data parameter and its value will be included in status response."
          },
          "motivational-message": {
            "type": "string",
            "description": "This is an optional message which contains extended information about the reason for the declined transaction."
          },
          "need-verification": {
            "type": "boolean"
          },
          "order-stage": {
            "type": "string",
            "description": "The current stage of the transaction processing. See order_stage for details."
          },
          "original-gate-descriptor": {
            "type": "string",
            "description": "Descriptor, which is set on gate level in the system."
          },
          "otp-status": {
            "type": "string"
          },
          "paynet-order-id": {
            "type": "integer",
            "format": "int64",
            "description": "Order id assigned to the order by payment gateway"
          },
          "paynet-processing-date": {
            "type": "string",
            "format": "date-time",
            "description": "Acquirer transaction processing date."
          },
          "phone": {
            "type": "string",
            "description": "Sender full international phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "poli-bank-receipt": {
            "type": "string"
          },
          "poli-id": {
            "type": "string"
          },
          "processor-auth-credit-code": {
            "type": "string",
            "description": "Approval credit code. Only returned in specific cases"
          },
          "processor-credit-arn": {
            "type": "string",
            "description": "Acquirer card reference number for credit transaction"
          },
          "processor-credit-rrn": {
            "type": "string",
            "description": "Retrieval Reference Number for credit transaction"
          },
          "processor-debit-arn": {
            "type": "string",
            "description": "Acquirer card reference number for debit transaction"
          },
          "processor-drn": {
            "type": "string"
          },
          "processor-rrn": {
            "type": "string",
            "description": "Bank Receiver Registration Number."
          },
          "processor-side-selected-bank-code": {
            "type": "string"
          },
          "processor-token": {
            "type": "string"
          },
          "processor-tx-id": {
            "type": "string",
            "description": "ID assigned by the processor to the transaction"
          },
          "purpose": {
            "type": "string",
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system."
          },
          "qr-code": {
            "type": "string"
          },
          "qr-code-payload-type": {
            "type": "string",
            "enum": [
              "SBP",
              "UNKNOWN",
              "UPI"
            ]
          },
          "qr-code-payload-value": {
            "type": "string"
          },
          "rapida-balance": {
            "type": "string",
            "description": "Current balance for merchants registered in Rapida system (only if balance check active)"
          },
          "reader-entry-type": {
            "type": "string",
            "enum": [
              "MAGNETIC_STRIPE_SIGNATURE",
              "EMV_CONTACT_PIN_OFFLINE",
              "EMV_CONTACT_PIN_OFFLINE_AND_SIGNATURE",
              "EMV_CONTACT_PIN_ONLINE",
              "EMV_CONTACT_SIGNATURE",
              "EMV_CONTACTLESS_SIGNATURE",
              "EMV_CONTACTLESS_SIGNATURE_MAGSTRIPE",
              "EMV_CONTACTLESS_PIN_ONLINE",
              "MOTO"
            ]
          },
          "reader-processing-date": {
            "type": "string",
            "format": "date-time"
          },
          "reason-code": {
            "type": "string",
            "description": "Reason code for chargeback or fraud operation."
          },
          "receipt-id": {
            "type": "string",
            "description": "Electronic link to receipt `https://gate.payneteasy.com/paynet/view-receipt/ENDPOINTID/receipt-id/`"
          },
          "receiver-addr": {
            "type": "string"
          },
          "receiver-name": {
            "type": "string"
          },
          "recurring-payment-id": {
            "type": "integer",
            "format": "int64",
            "description": "Customer’s tokenized cardholder\u0027s data ID which is used in different set of APIs and also can be used in initiating automate transactions."
          },
          "redirect-data": {
            "type": "string"
          },
          "redirect-to": {
            "type": "string",
            "description": "For 3DS authorization the merchant can redirect the customer to URL provided in this parameter instead of rendering the page provided in `html` parameter. The `redirect-to` parameter is returned only if the `html` parameter is returned. Merchant should use `GET` HTTP method to redirect. This parameter must be used to work with 3DS 2.0"
          },
          "reversal-amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount of the last processed reversal"
          },
          "seller-commission": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "Total commission for processed transaction. This is optional parameter. Please contact your manager in payment gateway, if you would like to receive it."
          },
          "serial-number": {
            "type": "string",
            "format": "uuid",
            "description": "Request serial number; echoed back from the request envelope."
          },
          "state": {
            "type": "string",
            "description": "Sender\u0027s state . Please see reference for a list of valid state codes, not used for Transfer from account transactions if `destination-card-no` is used.  Mandatory for USA, Canada and Australia."
          },
          "status": {
            "type": "string",
            "enum": [
              "APPROVED",
              "DECLINED",
              "FILTERED",
              "PROCESSING",
              "ERROR",
              "UNKNOWN",
              "CHAIN_DECLINED"
            ],
            "description": "The status code of the initial transaction. May be `approved`, `declined`, `processing`, `error` or `filtered`. It type equals `filtered` it means the transaction was considered fraudulent by Payneteasy Server."
          },
          "tds-creq-form-acs-url": {
            "type": "string",
            "description": "ACS URL to redirect the customer for Challenge Flow."
          },
          "tds-creq-form-creq": {
            "type": "string",
            "description": "A CReq message initiates Cardholder interaction in a Challenge Flow and is used to carry authentication data from the Cardholder. It is formed by the 3DS Server and is posted through the Cardholder\u0027s browser by the merchant to the ACS URL."
          },
          "tds-method-form": {
            "type": "string"
          },
          "tds-method-form-csp": {
            "type": "string"
          },
          "tds-method-url-frame-3ds-method-url": {
            "type": "string",
            "description": "3DS Method URL used in iframe form which is provided to customer browser by the merchant."
          },
          "tds-method-url-frame-3ds-server-trans-id": {
            "type": "string",
            "description": "Universally unique transaction identifier assigned by the 3DS Server to identify a single transaction."
          },
          "tds-pareq-form-acs-url": {
            "type": "string",
            "description": "For 3DS 1.0.2. Used in the PaReqForm status."
          },
          "tds-pareq-form-md": {
            "type": "string"
          },
          "tds-pareq-form-pareq": {
            "type": "string",
            "description": "For 3DS 1.0.2. Used in the PaReqForm status."
          },
          "tds-pareq-form-term-url": {
            "type": "string"
          },
          "tds-status": {
            "type": "string",
            "enum": [
              "PaReqForm",
              "PaResProcessing",
              "MethodUrlFrame",
              "MethodUrlProcessing",
              "CReqForm",
              "CResProcessing"
            ]
          },
          "terminal-id": {
            "type": "string",
            "description": "Acquirer terminal identifier to show in receipt."
          },
          "total-reversal-amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "Total amount of processed reversals"
          },
          "transaction-date": {
            "type": "string",
            "format": "date-time",
            "description": "Date of final status assignment for transaction."
          },
          "transaction-type": {
            "type": "string",
            "description": "Transaction type (`sale`, `reversal`, `capture`, `preauth`)."
          },
          "verified-3d-status": {
            "type": "string",
            "description": "Will return `AUTHENTICATED` if a transaction was approved by 3DS."
          },
          "verified-rsc-status": {
            "type": "string",
            "description": "See random_sum_check_status_list for details."
          },
          "zip_code": {
            "type": "string",
            "description": "Sender ZIP code, not used for Transfer from account transactions if `destination-card-no` is used"
          }
        },
        "type": "object",
        "required": [
          "serial-number"
        ],
        "description": "Order status response — full set of fields that may appear in the response to a status query, server callback, or final asynchronous status. The set of fields populated depends on the transaction type, processor and stage."
      },
      "StatusV4Request": {
        "properties": {
          "by-request-sn": {
            "type": "string",
            "maxLength": 40,
            "format": "uuid",
            "description": "Serial number from status request, if exists in request. `Warning` parameter `amount` always shows `initial` transaction amount, even if status is requested `by-request-sn`."
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "login": {
            "type": "string"
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "orderid": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) order assigned by Payneteasy system and returned in the order_id response parameter. Please note that return can be made On a preauth transaction if the relative capture transaction has not taken place yet; or on a capture transaction. In the latter case, processing of a return on a preauth transaction is restricted. For cashier integration (Parallel form) send return request to master `ENDPOINTID` or `ENDPOINTGROUPID` with auxiliary `orderid` value in this parameter"
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          }
        },
        "type": "object",
        "required": [
          "client_orderid",
          "login"
        ],
        "description": "Parameters for an order status query (v4 — OAuth 1.0a / RSA-SHA256 signed). Returns the current state of a previously initiated transaction. See `/api/v4/status/{endpointId}`."
      },
      "TdsCResResultRequest": {
        "properties": {
          "client-order-id": {
            "type": "string",
            "maxLength": 128,
            "description": "Merchant order identifier of the transaction for which the status is requested\n\nAliases: client_orderid."
          },
          "control": {
            "type": "string",
            "description": "control \u003d SHA-1(login + client-order-id + orderid + merchant_control_key)",
            "x-control-hash": {
              "algorithm": "SHA-1",
              "encoding": "hex-lowercase",
              "parts": [
                {
                  "source": "field",
                  "name": "login"
                },
                {
                  "source": "field",
                  "name": "client-order-id"
                },
                {
                  "source": "field",
                  "name": "orderid"
                },
                {
                  "source": "secret",
                  "name": "merchant_control_key"
                }
              ]
            }
          },
          "cres": {
            "type": "string",
            "maxLength": 2097152,
            "description": "Aliases: cRes, c-res."
          },
          "login": {
            "type": "string",
            "description": "Merchant\u0027s login. Must be used as oauth_consumer_key in OAuth Authorization, not included in request as `login` parameter"
          },
          "orderid": {
            "type": "integer",
            "maximum": 40,
            "format": "int64",
            "description": "Unique identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) order assigned by Payneteasy system and returned in the order_id response parameter. Please note that return can be made On a preauth transaction if the relative capture transaction has not taken place yet; or on a capture transaction. In the latter case, processing of a return on a preauth transaction is restricted. For cashier integration (Parallel form) send return request to master `ENDPOINTID` or `ENDPOINTGROUPID` with auxiliary `orderid` value in this parameter\n\nAliases: orderId, order-id."
          }
        },
        "type": "object",
        "required": [
          "client-order-id",
          "control",
          "cres",
          "login",
          "orderid"
        ],
        "description": "Parameters for uploading the CRes (Challenge Response) result of a 3DS 2.x challenge flow back to Payneteasy. See `/api/3ds/v1/upload-cres-result/{endpointId}`."
      },
      "TdsMethodUrlResultRequest": {
        "properties": {
          "browserAcceptHeader": {
            "type": "string",
            "maxLength": 2048,
            "description": "Browser Accept Headers. Exact content of the HTTP accept headers as sent to the 3DS Requestor from the Cardholder\u0027s browser."
          },
          "browserColorDepth": {
            "type": "integer",
            "maximum": 2,
            "format": "int32",
            "description": "Browser Screen Color Depth. Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Obtained from Cardholder browser using the screen.colorDepth property"
          },
          "browserIP": {
            "type": "string",
            "maxLength": 45,
            "description": "Browser IP Address.*"
          },
          "browserJavaEnabled": {
            "type": "boolean",
            "description": "true/false Browser Java Enabled. Boolean that represents the ability of the cardholder browser to execute java. Value is returned from the navigator.javaEnabled property."
          },
          "browserJavascriptEnabled": {
            "type": "boolean",
            "description": "true/false Browser JavaScript Enabled. Boolean that represents the ability of the cardholder browser to execute javascript."
          },
          "browserLanguage": {
            "type": "string",
            "maxLength": 8,
            "description": "Value representing the browser language as defined in IETF BCP47. Returned from navigator.language property."
          },
          "browserScreenHeight": {
            "type": "integer",
            "maximum": 6,
            "format": "int32",
            "description": "Browser Screen Height. Total height of the cardholder\u0027s screen in pixels. Value is returned from the screen.height property."
          },
          "browserScreenWidth": {
            "type": "integer",
            "maximum": 6,
            "format": "int32",
            "description": "Browser Screen Width. Total width of the cardholder\u0027s screen in pixels. Value is returned from the screen.width property."
          },
          "browserTZ": {
            "type": "integer",
            "maximum": 5,
            "format": "int32",
            "description": "Browser Time Zone. Time difference between UTC time and the cardholder browser local time, in minutes. Value is returned from the getTimezoneOffset() method."
          },
          "browserTimeZoneName": {
            "type": "string"
          },
          "browserUserAgent": {
            "type": "string",
            "maxLength": 2048,
            "description": "Browser User-Agent. Exact content of the HTTP user-agent header. Note: If the total length of the User-Agent sent by the browser exceeds 2048 characters, the 3DS Server truncates the excess portion."
          },
          "challengeWindowSize": {
            "type": "string",
            "maxLength": 11,
            "minLength": 2
          },
          "client-order-id": {
            "type": "string",
            "maxLength": 128,
            "description": "Merchant order identifier of the transaction for which the status is requested\n\nAliases: client_orderid."
          },
          "control": {
            "type": "string",
            "description": "control \u003d SHA-1(login + client-order-id + orderid + merchant_control_key)",
            "x-control-hash": {
              "algorithm": "SHA-1",
              "encoding": "hex-lowercase",
              "parts": [
                {
                  "source": "field",
                  "name": "login"
                },
                {
                  "source": "field",
                  "name": "client-order-id"
                },
                {
                  "source": "field",
                  "name": "orderid"
                },
                {
                  "source": "secret",
                  "name": "merchant_control_key"
                }
              ]
            }
          },
          "login": {
            "type": "string",
            "description": "Merchant\u0027s login. Must be used as oauth_consumer_key in OAuth Authorization, not included in request as `login` parameter"
          },
          "notificationURL": {
            "type": "string",
            "maxLength": 256,
            "description": "Fully qualified URL of merchant system that will receive the CRes message or Error Message. The CRes message is posted by the ACS through the Cardholder browser at the end of the challenge."
          },
          "orderid": {
            "type": "integer",
            "maximum": 40,
            "format": "int64",
            "description": "Unique identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) order assigned by Payneteasy system and returned in the order_id response parameter. Please note that return can be made On a preauth transaction if the relative capture transaction has not taken place yet; or on a capture transaction. In the latter case, processing of a return on a preauth transaction is restricted. For cashier integration (Parallel form) send return request to master `ENDPOINTID` or `ENDPOINTGROUPID` with auxiliary `orderid` value in this parameter\n\nAliases: orderId, order-id."
          },
          "threeDSCompInd": {
            "type": "string",
            "maxLength": 1,
            "description": "3DS Method Completion. Indicates whether the 3DS Method was successfully completed.**"
          },
          "threeDSServerTransID": {
            "type": "string",
            "maxLength": 36,
            "description": "Universally unique transaction identifier assigned by the 3DS Server to identify a single transaction. Received in `tds-method-url-frame-3ds-server-trans-id` parameter."
          }
        },
        "type": "object",
        "required": [
          "browserAcceptHeader",
          "browserColorDepth",
          "browserIP",
          "browserJavaEnabled",
          "browserJavascriptEnabled",
          "browserLanguage",
          "browserScreenHeight",
          "browserScreenWidth",
          "browserTZ",
          "browserUserAgent",
          "client-order-id",
          "control",
          "login",
          "notificationURL",
          "orderid",
          "threeDSCompInd",
          "threeDSServerTransID"
        ],
        "description": "Parameters for uploading the result of the 3DS 2.x `3DS Method` (browser fingerprinting) step back to Payneteasy. Includes all browser fingerprint fields (browserAcceptHeader, browserIP, browserJavaEnabled, etc.) and the `threeDSCompInd` completion indicator (`Y`/`N`/`U`). See `/api/3ds/v1/upload-method-url-result/{endpointId}`."
      },
      "TdsPaResResultRequest": {
        "properties": {
          "client-order-id": {
            "type": "string",
            "maxLength": 128,
            "description": "Merchant order identifier of the transaction for which the status is requested\n\nAliases: client_orderid."
          },
          "control": {
            "type": "string",
            "description": "control \u003d SHA-1(login + client-order-id + orderid + merchant_control_key)",
            "x-control-hash": {
              "algorithm": "SHA-1",
              "encoding": "hex-lowercase",
              "parts": [
                {
                  "source": "field",
                  "name": "login"
                },
                {
                  "source": "field",
                  "name": "client-order-id"
                },
                {
                  "source": "field",
                  "name": "orderid"
                },
                {
                  "source": "secret",
                  "name": "merchant_control_key"
                }
              ]
            }
          },
          "login": {
            "type": "string",
            "description": "Merchant\u0027s login. Must be used as oauth_consumer_key in OAuth Authorization, not included in request as `login` parameter"
          },
          "md": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: MD."
          },
          "orderid": {
            "type": "integer",
            "maximum": 40,
            "format": "int64",
            "description": "Unique identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) order assigned by Payneteasy system and returned in the order_id response parameter. Please note that return can be made On a preauth transaction if the relative capture transaction has not taken place yet; or on a capture transaction. In the latter case, processing of a return on a preauth transaction is restricted. For cashier integration (Parallel form) send return request to master `ENDPOINTID` or `ENDPOINTGROUPID` with auxiliary `orderid` value in this parameter\n\nAliases: orderId, order-id."
          },
          "paRes": {
            "type": "string",
            "maxLength": 10000,
            "description": "Payer Authentication Response message is returned by the ACS with the result of cardholder payment authentication.\n\nAliases: pares, pa-res."
          }
        },
        "type": "object",
        "required": [
          "client-order-id",
          "control",
          "login",
          "orderid",
          "paRes"
        ],
        "description": "Parameters for uploading the PaRes (Payer Authentication Response) result of a 3DS 1.0.2 authentication flow back to Payneteasy. See `/api/3ds/v1/upload-pares-result/{endpointId}`."
      },
      "TransferByRefV4Request": {
        "properties": {
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "card_insurance_agreement_amount": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_bonus": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_end_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_number": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_sell_date": {
            "type": "string",
            "maxLength": 256
          },
          "card_insurance_agreement_start_date": {
            "type": "string",
            "maxLength": 256
          },
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "currency": {
            "type": "string",
            "maxLength": 4,
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "cvv2": {
            "type": "string",
            "description": "Customer\u0027s CVV2 code for source card. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. May be empty or absent if bank gateway supports processing without CVV2, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "destination-card-no": {
            "type": "string",
            "maxLength": 128,
            "pattern": "^\\d+$",
            "description": "Receiver\u0027s card PAN. Send either combination of `destination-card-no`, `destination_card_printed_name`, `destination_expire_month` and `destination_expire_year` or `destination_card_recurring_payment_id`, not all. For the scenario of payment to a card inside the system, this card will be considered as a destination, and all processing limits, lists and fraud scoring will be applied to it as a destination card."
          },
          "destination-card-ref-id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64",
            "description": "Card reference id to destination card, obtained at Card Registration step. Mandatory if `destination-card-no` omitted. For the scenario of payment to a card inside the system, this card will be considered as a destination, and all processing limits, lists and fraud scoring will be applied to it as a destination card."
          },
          "destination_card_printed_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver`s card printed name."
          },
          "destination_expire_month": {
            "type": "string",
            "maxLength": 2,
            "description": "Receiver credit card\u0027s month of expiration."
          },
          "destination_expire_year": {
            "type": "string",
            "maxLength": 4,
            "minLength": 2,
            "description": "Receiver credit card\u0027s year of expiration."
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "insurance_amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$"
          },
          "insured_person_birthday": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issue_date": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_issuer_code": {
            "type": "string",
            "maxLength": 32
          },
          "insured_person_document_issuer_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_number": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_document_series": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_email": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_first_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_last_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_middle_name": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_phone": {
            "type": "string",
            "maxLength": 256
          },
          "insured_person_registration_address": {
            "type": "string",
            "maxLength": 256
          },
          "ipaddress": {
            "type": "string",
            "maxLength": 45,
            "minLength": 15,
            "description": "The customer\u0027s IP address, include for fraud screening purposes. NB: 45 is for IPv4 tunneling like 0000:0000:0000:0000:0000:0000:192.168.100.101"
          },
          "login": {
            "type": "string"
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Any additional information for this transaction which may be useful in Merchant\u0027s external systems, e.g. `VIP customer`, `TV promo campaign lead`. Will be returned in Status response and Merchant Callback."
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "description": "Brief order description."
          },
          "preferred_language": {
            "type": "string",
            "maxLength": 2,
            "description": "Customer\u0027s two-letter language code for multi-language payment forms"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system.\n\nAliases: destination."
          },
          "receiver_address1": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver address, also can be sent as `address1`"
          },
          "receiver_area": {
            "type": "string",
            "maxLength": 50,
            "description": "Receiver`s area"
          },
          "receiver_birth_place": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver`s birth place"
          },
          "receiver_birthday": {
            "type": "string",
            "maxLength": 30,
            "description": "Receiver birthday, also can be sent as `birthday`"
          },
          "receiver_citizenship": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver`s citizenship"
          },
          "receiver_city": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver city, also can be sent as `city`"
          },
          "receiver_country_code": {
            "type": "string",
            "maxLength": 3,
            "description": "Receiver country(two-letter country code). Please see Appendix B for a list of valid country codes"
          },
          "receiver_email": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver E-mail, also can be sent as `email`"
          },
          "receiver_first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver first name, also can be sent as `first_name`"
          },
          "receiver_identity_document_id": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s identity document id. Possible values: `21` for Russian Federation passport or `31` for international passport"
          },
          "receiver_identity_document_issue_date": {
            "type": "string",
            "maxLength": 128,
            "format": "date-time",
            "description": "Receiver`s identity document issue date"
          },
          "receiver_identity_document_issuer_department_code": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver`s identity document issuer department code"
          },
          "receiver_identity_document_issuer_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver`s identity document issuer"
          },
          "receiver_identity_document_number": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s identity document number (e.g. 6 digits for Russian Federation passport)"
          },
          "receiver_identity_document_series": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s identity document series (e.g. 4 digits for Russian Federation passport)"
          },
          "receiver_last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver last name, also can be sent as `last_name`"
          },
          "receiver_middle_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s middle name/patronym. Depends on Acquirer\u0027s side"
          },
          "receiver_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver full international cell phone number, including country code"
          },
          "receiver_region": {
            "type": "string",
            "maxLength": 30,
            "description": "Receiver`s region"
          },
          "receiver_resident": {
            "type": "boolean",
            "description": "Is receiver a resident?"
          },
          "receiver_state_code": {
            "type": "string",
            "maxLength": 3
          },
          "receiver_zip_code": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver zip code, also can be sent as `zip_code`"
          },
          "redirect_url": {
            "type": "string",
            "maxLength": 1024
          },
          "sender-ssn": {
            "type": "string",
            "maxLength": 32,
            "description": "Last four digits of the Sender\u0027s social security number\n\nAliases: ssn."
          },
          "sender_address1": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender\u0027s address\n\nAliases: address1."
          },
          "sender_birth_place": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender`s birth place"
          },
          "sender_birthday": {
            "type": "string",
            "maxLength": 30,
            "description": "Sender\u0027s birthday\n\nAliases: birthday."
          },
          "sender_cell_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender\u0027s full international cell phone number, including country suffix\n\nAliases: cell_phone."
          },
          "sender_citizenship": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender`s citizenship"
          },
          "sender_city": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender\u0027s city\n\nAliases: city."
          },
          "sender_country_code": {
            "type": "string",
            "maxLength": 3,
            "description": "Sender\u0027s country (two letter abbreviation)\n\nAliases: country."
          },
          "sender_email": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender\u0027s email address\n\nAliases: email."
          },
          "sender_first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender\u0027s first name. Depends on Acquirer\u0027s side\n\nAliases: first_name."
          },
          "sender_identity_document_id": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender`s identity document name"
          },
          "sender_identity_document_issue_date": {
            "type": "string",
            "format": "date-time",
            "description": "Sender`s identity document issue date"
          },
          "sender_identity_document_issuer_department_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender`s identity document issuer department code"
          },
          "sender_identity_document_issuer_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender`s identity document issuer"
          },
          "sender_identity_document_number": {
            "type": "string",
            "maxLength": 16,
            "description": "Sender`s identity document number"
          },
          "sender_identity_document_series": {
            "type": "string",
            "maxLength": 12,
            "description": "Sender`s identity document series"
          },
          "sender_last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender\u0027s last name. Depends on Acquirer\u0027s side\n\nAliases: last_name."
          },
          "sender_middle_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender\u0027s middle name/patronym. Depends on Acquirer\u0027s side\n\nAliases: middle_name."
          },
          "sender_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender\u0027s full international phone number, including country suffix\n\nAliases: phone."
          },
          "sender_resident": {
            "type": "boolean",
            "description": "Is sender a resident?"
          },
          "sender_state": {
            "type": "string",
            "maxLength": 4,
            "description": "Sender\u0027s US states (two letter abbreviation). Not applicable outside the US\n\nAliases: state."
          },
          "sender_zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender`s zip code\n\nAliases: zip_code."
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "source-card-ref-id-turn-off-34ecc8f3-89f4-48fd-83dd-ba6b18ac3c09": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          }
        },
        "type": "object",
        "required": [
          "amount",
          "client_orderid",
          "currency"
        ],
        "description": "Parameters for a card-to-card Transfer where one or both cards are referenced by a previously stored `card-ref-id` rather than full PAN, v4. See `/api/v4/transfer-by-ref/{endpointId}`."
      },
      "TransferV4Request": {
        "properties": {
          "address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Sender address line 1, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d+)?$",
            "description": "The amount has to be specified in the highest units with `.` delimiter. For instance, `10.5` for USD means 10 US Dollars and 50 Cents. If this parameter is omitted, initial transaction is reversed as a whole. Amount only makes sense for `reversals`, not `cancels`. Amount cannot exceed initial transaction amount. Please note that you MUST specify currency if you specify amount! Not supported for `void` transactions"
          },
          "bank_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Bank code"
          },
          "bank_phone": {
            "type": "string",
            "maxLength": 32
          },
          "card_printed_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer\u0027s full name, as printed on the card"
          },
          "card_recurring_payment_id": {
            "type": "integer",
            "maximum": 36,
            "format": "int64",
            "description": "Sender’s tokenized cardholder\u0027s data ID. Send either `card_recurring_payment_id` or combination of `credit_card_number`, `card_printed_name`, `expire_month` and `expire_year`, not all. To create `card_recurring_payment_id` see v2_create-card-ref. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "cheque": {
            "type": "string",
            "maxLength": 2048,
            "description": "Financial cheque or invoice"
          },
          "city": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender city, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "country": {
            "type": "string",
            "maxLength": 3,
            "description": "Sender country(two-letter country code). Please see reference for a list of valid country codes, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "credit_card_number": {
            "type": "string",
            "maxLength": 19,
            "pattern": "^\\d+$",
            "description": "Customer\u0027s credit card number. `Note: For the scenario of payment to a card inside the system, this card will be considered as a source, and all processing limits, lists and fraud scoring will be applied to it as a source card.`"
          },
          "currency": {
            "type": "string",
            "maxLength": 3,
            "description": "Currency in which amount is specified (three-letter currency code). Valid parameter values are: `USD` for US Dollar `EUR` for European Euro. Not supported for `void` transactions"
          },
          "customer_accept": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer Browser Accept Header\n\nAliases: customer_browser_accept_header."
          },
          "customer_accept_language": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer browser accept language\n\nAliases: customer_browser_accept_language."
          },
          "customer_browser_color_depth": {
            "type": "integer",
            "maximum": 2,
            "minimum": 1,
            "format": "int32",
            "description": "Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Obtained from Cardholder browser using the screen.colorDepth property."
          },
          "customer_browser_info": {
            "type": "boolean",
            "description": "If true, then the fields below must be present"
          },
          "customer_browser_java_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute Java. Value is returned from the navigator.javaEnabled property."
          },
          "customer_browser_javascript_enabled": {
            "type": "boolean",
            "description": "Boolean that represents the ability of the cardholder browser to execute JavaScript."
          },
          "customer_browser_screen_height": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total height of the Cardholder’s screen in pixels. Value is returned from the screen.height property."
          },
          "customer_browser_screen_width": {
            "type": "integer",
            "maximum": 6,
            "minimum": 1,
            "format": "int32",
            "description": "Total width of the cardholder’s screen in pixels. Value is returned from screen.width property."
          },
          "customer_browser_time_zone": {
            "type": "integer",
            "maximum": 5,
            "minimum": 1,
            "format": "int32",
            "description": "Time-zone offset in minutes between UTC and the Cardholder browser local time. Note that the offset is positive if the local time zone is behind UTC and negative if it is ahead."
          },
          "customer_csid": {
            "type": "string",
            "maxLength": 16384
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "customer_localtime": {
            "type": "string",
            "maxLength": 128,
            "description": "Customer Localtime"
          },
          "customer_screen_size": {
            "type": "string",
            "maxLength": 32,
            "description": "Customer Screen Size\n\nAliases: customer_screen."
          },
          "customer_user_agent": {
            "type": "string",
            "maxLength": 512,
            "description": "Customer User Agent Info\n\nAliases: customer_agent, customer_browser_user_agent."
          },
          "cvv2": {
            "type": "string",
            "maxLength": 4,
            "minLength": 3,
            "description": "Customer\u0027s CVV2 code for source card. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. May be empty or absent if bank gateway supports processing without CVV2, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "deposit2card": {
            "type": "boolean",
            "description": "Marker of deposit to card transfer. If \"true\", no sender cardholder data is needed to process the transaction. If \"false\", sender cardholder data is needed."
          },
          "destination-card-no": {
            "type": "string",
            "maxLength": 19,
            "pattern": "^\\d+$",
            "description": "Receiver\u0027s card PAN. Send either combination of `destination-card-no`, `destination_card_printed_name`, `destination_expire_month` and `destination_expire_year` or `destination_card_recurring_payment_id`, not all. For the scenario of payment to a card inside the system, this card will be considered as a destination, and all processing limits, lists and fraud scoring will be applied to it as a destination card.\n\nAliases: destination."
          },
          "destination_card_printed_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver`s card printed name."
          },
          "destination_card_recurring_payment_id": {
            "type": "integer",
            "maximum": 36,
            "format": "int64",
            "description": "Receiver\u0027s tokenized cardholder\u0027s data ID. Send either `destination_card_recurring_payment_id` or combination of `destination-card-no`, `destination_card_printed_name`, `destination_expire_month` and `destination_expire_year`, not all. To create `destination_card_recurring_payment_id` see v4_create-card-ref. For the scenario of payment to a card inside the system, this card will be considered as a destination, and all processing limits, lists and fraud scoring will be applied to it as a destination card."
          },
          "destination_expire_month": {
            "type": "string",
            "maxLength": 2,
            "description": "Receiver credit card\u0027s month of expiration."
          },
          "destination_expire_year": {
            "type": "string",
            "maxLength": 4,
            "minLength": 2,
            "description": "Receiver credit card\u0027s year of expiration."
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "email": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender email address, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "expire_month": {
            "type": "string",
            "maxLength": 2,
            "description": "Sender credit card\u0027s month of expiration."
          },
          "expire_year": {
            "type": "string",
            "maxLength": 4,
            "minLength": 2,
            "description": "Sender credit card\u0027s year of expiration."
          },
          "ipaddress": {
            "type": "string",
            "maxLength": 45,
            "minLength": 7,
            "description": "The customer\u0027s IP address, include for fraud screening purposes. NB: 45 is for IPv4 tunneling like 0000:0000:0000:0000:0000:0000:192.168.100.101"
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "merchant_data": {
            "type": "string",
            "description": "Any additional information for this transaction which may be useful in Merchant\u0027s external systems, e.g. `VIP customer`, `TV promo campaign lead`. Will be returned in Status response and Merchant Callback."
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "order_desc": {
            "type": "string",
            "description": "Brief order description."
          },
          "phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender full international phone number, including country code, not used for Transfer from account transactions if `destination-card-no` is used"
          },
          "preferred_language": {
            "type": "string",
            "maxLength": 2,
            "description": "Customer\u0027s two-letter language code for multi-language payment forms"
          },
          "purpose": {
            "type": "string",
            "maxLength": 128,
            "description": "Destination to where the payment goes. It is useful for the merchants who let their clients to transfer money from a credit card to some type of client\u0027s account, e.g. game or mobile phone account. Sample values are: `+7123456789`; `gamer0001@ereality.com` etc. This value will be used by fraud monitoring system."
          },
          "receiver_address1": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver address, also can be sent as `address1`"
          },
          "receiver_area": {
            "type": "string",
            "maxLength": 50,
            "description": "Receiver`s area"
          },
          "receiver_birthday": {
            "type": "string",
            "maxLength": 30,
            "description": "Receiver birthday, also can be sent as `birthday`"
          },
          "receiver_birthplace": {
            "type": "string",
            "maxLength": 128,
            "description": "Aliases: receiver_birth_place."
          },
          "receiver_citizenship": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver`s citizenship"
          },
          "receiver_city": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver city, also can be sent as `city`"
          },
          "receiver_country_code": {
            "type": "string",
            "maxLength": 3,
            "description": "Receiver country(two-letter country code). Please see Appendix B for a list of valid country codes"
          },
          "receiver_email": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver E-mail, also can be sent as `email`"
          },
          "receiver_first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver first name, also can be sent as `first_name`"
          },
          "receiver_identity_document_id": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s identity document id. Possible values: `21` for Russian Federation passport or `31` for international passport"
          },
          "receiver_identity_document_issue_date": {
            "type": "string",
            "maxLength": 128,
            "format": "date-time",
            "description": "Receiver`s identity document issue date"
          },
          "receiver_identity_document_issuer_department_code": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver`s identity document issuer department code"
          },
          "receiver_identity_document_issuer_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver`s identity document issuer"
          },
          "receiver_identity_document_number": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s identity document number (e.g. 6 digits for Russian Federation passport)"
          },
          "receiver_identity_document_series": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s identity document series (e.g. 4 digits for Russian Federation passport)"
          },
          "receiver_last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver last name, also can be sent as `last_name`"
          },
          "receiver_middle_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver\u0027s middle name/patronym. Depends on Acquirer\u0027s side"
          },
          "receiver_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver full international cell phone number, including country code"
          },
          "receiver_region": {
            "type": "string",
            "maxLength": 30,
            "description": "Receiver`s region"
          },
          "receiver_resident": {
            "type": "boolean",
            "description": "Is receiver a resident?"
          },
          "receiver_state_code": {
            "type": "string",
            "maxLength": 4,
            "description": "Aliases: receiver_state."
          },
          "receiver_zip_code": {
            "type": "string",
            "maxLength": 128,
            "description": "Receiver zip code, also can be sent as `zip_code`"
          },
          "redirect_fail_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `declined` or `filtered`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_success_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected only in case if the transaction is `approved`. You should not use this parameter to retrieve results from Payneteasy gateway, because all parameters go through client\u0027s browser and can be lost during transmission. To deliver the correct payment result to your backend use `server_callback_url` instead. Pass `http://google.com` if you use non-3DS schema for transactions processing and you have no need to return customer anywhere. This parameter becomes Mandatory if `redirect_url` parameter is missing"
          },
          "redirect_url": {
            "type": "string",
            "maxLength": 1024
          },
          "sender_address1": {
            "type": "string",
            "maxLength": 256,
            "description": "Sender\u0027s address"
          },
          "sender_birthday": {
            "type": "string",
            "maxLength": 30,
            "description": "Sender\u0027s birthday"
          },
          "sender_birthplace": {
            "type": "string",
            "maxLength": 128,
            "description": "Aliases: sender_birth_place."
          },
          "sender_cell_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender\u0027s full international cell phone number, including country suffix"
          },
          "sender_citizenship": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender`s citizenship"
          },
          "sender_city": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender\u0027s city"
          },
          "sender_country_code": {
            "type": "string",
            "maxLength": 3,
            "description": "Sender\u0027s country (two letter abbreviation)"
          },
          "sender_email": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender\u0027s email address"
          },
          "sender_first_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender\u0027s first name. Depends on Acquirer\u0027s side"
          },
          "sender_identity_document_id": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender`s identity document name"
          },
          "sender_identity_document_issue_date": {
            "type": "string",
            "maxLength": 128,
            "format": "date-time",
            "description": "Sender`s identity document issue date"
          },
          "sender_identity_document_issuer_department_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender`s identity document issuer department code"
          },
          "sender_identity_document_issuer_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender`s identity document issuer"
          },
          "sender_identity_document_number": {
            "type": "string",
            "maxLength": 16,
            "description": "Sender`s identity document number"
          },
          "sender_identity_document_series": {
            "type": "string",
            "maxLength": 12,
            "description": "Sender`s identity document series"
          },
          "sender_last_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender\u0027s last name. Depends on Acquirer\u0027s side"
          },
          "sender_middle_name": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender\u0027s middle name/patronym. Depends on Acquirer\u0027s side"
          },
          "sender_phone": {
            "type": "string",
            "maxLength": 128,
            "description": "Sender\u0027s full international phone number, including country suffix"
          },
          "sender_resident": {
            "type": "boolean",
            "description": "Is sender a resident?"
          },
          "sender_ssn": {
            "type": "string",
            "maxLength": 32,
            "description": "Last four digits of the Sender\u0027s social security number"
          },
          "sender_state": {
            "type": "string",
            "maxLength": 4,
            "description": "Sender\u0027s US states (two letter abbreviation). Not applicable outside the US"
          },
          "sender_zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender`s zip code"
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          },
          "site_url": {
            "type": "string",
            "maxLength": 100,
            "description": "URL the original Account verification is made from"
          },
          "state": {
            "type": "string",
            "maxLength": 4,
            "description": "Sender\u0027s state . Please see reference for a list of valid state codes, not used for Transfer from account transactions if `destination-card-no` is used.  Mandatory for USA, Canada and Australia."
          },
          "tds_areq_notification_url": {
            "type": "string",
            "maxLength": 256,
            "minLength": 11,
            "description": "Fully qualified URL of merchant system that will receive the CRes message or Error Message. The CRes message is posted by the ACS through the Cardholder browser at the end of the challenge.\n\nAliases: tds_creq_notification_url, tds_cres_notification_url."
          },
          "tds_authentication_result_authentication_type": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2,
            "pattern": "^\\d+$"
          },
          "tds_authentication_result_authentication_value": {
            "type": "string",
            "maxLength": 28,
            "minLength": 19
          },
          "tds_authentication_result_message_version": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5
          },
          "tds_authentication_result_transaction_id": {
            "type": "string",
            "maxLength": 36,
            "minLength": 19
          },
          "tds_authentication_result_transaction_status": {
            "type": "string",
            "maxLength": 1,
            "minLength": 1
          },
          "tds_authentication_result_type": {
            "type": "string",
            "maxLength": 6,
            "minLength": 6
          },
          "tds_challenge_window_size": {
            "type": "string",
            "maxLength": 11,
            "minLength": 2
          },
          "zip_code": {
            "type": "string",
            "maxLength": 32,
            "description": "Sender ZIP code, not used for Transfer from account transactions if `destination-card-no` is used"
          }
        },
        "type": "object",
        "required": [
          "amount",
          "client_orderid",
          "currency",
          "ipaddress",
          "order_desc"
        ],
        "description": "Parameters for a card-to-card Transfer (MasterCard MoneySend / Visa Money Transfer), v4. See `/api/v4/transfer/{endpointId}`."
      },
      "UpdateRecurringPaymentResponse": {
        "properties": {
          "serial-number": {
            "type": "string",
            "format": "uuid",
            "description": "Request serial number; echoed back from the request envelope."
          }
        },
        "type": "object",
        "required": [
          "serial-number"
        ],
        "description": "Response to an update-recurring-payment v4 call."
      },
      "ValidationErrorResponse": {
        "properties": {
          "error-code": {
            "type": "integer",
            "format": "int32",
            "description": "Numeric error code identifying the type of error."
          },
          "error-message": {
            "type": "string"
          },
          "merchant-order-id": {
            "type": "string"
          },
          "serial-number": {
            "type": "string",
            "format": "uuid"
          },
          "type": {
            "type": "string",
            "enum": [
              "validation-error"
            ]
          }
        },
        "type": "object",
        "required": [
          "error-code",
          "error-message",
          "serial-number",
          "type"
        ],
        "description": "Response returned when the incoming request fails validation."
      },
      "VoidRequest": {
        "properties": {
          "cheque": {
            "type": "string",
            "maxLength": 16384,
            "description": "Financial cheque or invoice"
          },
          "client_orderid": {
            "type": "string",
            "maxLength": 128,
            "description": "Unique merchant identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) transaction which is send to Payneteasy system in the client_orderid parameter\n\nAliases: client-order-id."
          },
          "comment": {
            "type": "string",
            "description": "Adds a comment to attached file, accessible via pointing cursor on file in order details page."
          },
          "control": {
            "type": "string",
            "description": "control \u003d SHA-1(login + client_orderid + orderid + merchant_control_key)",
            "x-control-hash": {
              "algorithm": "SHA-1",
              "encoding": "hex-lowercase",
              "parts": [
                {
                  "source": "field",
                  "name": "login"
                },
                {
                  "source": "field",
                  "name": "client_orderid"
                },
                {
                  "source": "field",
                  "name": "orderid"
                },
                {
                  "source": "secret",
                  "name": "merchant_control_key"
                }
              ]
            }
          },
          "customer_id": {
            "type": "integer",
            "maximum": 10,
            "format": "int64"
          },
          "customer_level": {
            "type": "string",
            "maxLength": 32
          },
          "developer_identity": {
            "type": "string",
            "maxLength": 256,
            "description": "Aliases: developer-identity."
          },
          "login": {
            "type": "string",
            "description": "Merchant\u0027s login. Must be used as oauth_consumer_key in OAuth Authorization, not included in request as `login` parameter"
          },
          "merchant_customer_identifier": {
            "type": "string",
            "maxLength": 64
          },
          "notify_url": {
            "type": "string",
            "description": "Aliases: notify-url."
          },
          "orderid": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier of `Sale` (SMS) or `Preauth/Capture` (DMS) order assigned by Payneteasy system and returned in the order_id response parameter. Please note that return can be made On a preauth transaction if the relative capture transaction has not taken place yet; or on a capture transaction. In the latter case, processing of a return on a preauth transaction is restricted. For cashier integration (Parallel form) send return request to master `ENDPOINTID` or `ENDPOINTGROUPID` with auxiliary `orderid` value in this parameter"
          },
          "server_callback_url": {
            "type": "string",
            "maxLength": 1024,
            "description": "Aliases: server-callback-url."
          }
        },
        "type": "object",
        "required": [
          "client_orderid",
          "comment",
          "control",
          "login",
          "orderid"
        ],
        "description": "Parameters for a Void — cancel a transaction that has been authorized but not yet settled. See `/api/v2/void/{endpointId}`."
      }
    }
  }
}