{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/orsunpay-com/json-schema/orsunpay-com-payout-request-dto-schema.json",
  "title": "PayoutRequestDto",
  "x-generated": "2026-11-06",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/orsunpay-com-openapi.json#/components/schemas/PayoutRequestDto",
  "properties": {
    "amount": {
      "description": "Amount as a decimal **string** in **major** units of `currency`: `\"12.30\"` EUR, `\"5000\"` JPY, `\"0.00000001\"` BTC. Must be greater than zero. JSON numbers (`12.3`, `1230`) are rejected with 400. At most 18 decimals here; the payment core also rejects more decimals than the currency allows (`\"12.345\"` EUR, `\"1.5\"` JPY).",
      "pattern": "^(0|[1-9]\\d{0,19})(\\.\\d{1,18})?$",
      "type": "string"
    },
    "buyerId": {
      "description": "Buyer ID in merchant system",
      "type": "string"
    },
    "callbackUrl": {
      "description": "Callback URL",
      "type": "string"
    },
    "currency": {
      "description": "Currency",
      "type": "string"
    },
    "customer": {
      "allOf": [
        {
          "$ref": "#/$defs/CustomerDto"
        }
      ],
      "description": "Customer"
    },
    "failureUrl": {
      "description": "Failure URL",
      "type": "string"
    },
    "locale": {
      "description": "Locale in BCP 47 format",
      "enum": [
        "en-US",
        "ru-RU",
        "uk-UA",
        "en-GB",
        "pl-PL",
        "cs-CZ",
        "de-DE",
        "de-AT",
        "de-CH"
      ],
      "type": "string"
    },
    "merchantId": {
      "description": "Merchant ID",
      "type": "string"
    },
    "metadata": {
      "description": "Metadata: at most 16 KiB encoded JSON, 50 entries per container, nesting depth 5.",
      "maxProperties": 50,
      "type": "object"
    },
    "orderId": {
      "description": "Transaction ID in merchant system. The pl_ prefix is reserved for payment links (422 ORDER_ID_RESERVED).",
      "type": "string"
    },
    "paymentMethod": {
      "description": "Payment method",
      "type": "string"
    },
    "paymentMethodInput": {
      "description": "Payment method input",
      "type": "object"
    },
    "returnUrl": {
      "description": "Return URL",
      "type": "string"
    },
    "sourceTransactionId": {
      "description": "Required for Colibrix payouts: OrsunPay ID of a successful card sale belonging to the same merchant, customer, payment configuration and mode",
      "maxLength": 128,
      "type": "string"
    },
    "successUrl": {
      "description": "Success URL",
      "type": "string"
    }
  },
  "required": [
    "amount",
    "currency",
    "paymentMethod",
    "merchantId",
    "orderId",
    "buyerId",
    "successUrl",
    "failureUrl",
    "returnUrl",
    "callbackUrl"
  ],
  "type": "object",
  "$defs": {
    "CustomerDto": {
      "properties": {
        "address": {
          "description": "Customer address",
          "type": "string"
        },
        "address2": {
          "description": "Customer address2",
          "type": "string"
        },
        "city": {
          "description": "Customer city",
          "type": "string"
        },
        "country": {
          "description": "Customer ISO alpha-2 country code; Adyen requires uppercase, Brite accepts either case. Provider-specific missing/invalid contact returns 422 CUSTOMER_CONTACT_REQUIRED.",
          "enum": [
            "AD",
            "ad",
            "AE",
            "ae",
            "AF",
            "af",
            "AG",
            "ag",
            "AI",
            "ai",
            "AL",
            "al",
            "AM",
            "am",
            "AN",
            "an",
            "AO",
            "ao",
            "AQ",
            "aq",
            "AR",
            "ar",
            "AS",
            "as",
            "AT",
            "at",
            "AU",
            "au",
            "AW",
            "aw",
            "AX",
            "ax",
            "AZ",
            "az",
            "BA",
            "ba",
            "BB",
            "bb",
            "BD",
            "bd",
            "BE",
            "be",
            "BF",
            "bf",
            "BG",
            "bg",
            "BH",
            "bh",
            "BI",
            "bi",
            "BJ",
            "bj",
            "BL",
            "bl",
            "BM",
            "bm",
            "BN",
            "bn",
            "BO",
            "bo",
            "BQ",
            "bq",
            "BR",
            "br",
            "BS",
            "bs",
            "BT",
            "bt",
            "BV",
            "bv",
            "BW",
            "bw",
            "BY",
            "by",
            "BZ",
            "bz",
            "CA",
            "ca",
            "CC",
            "cc",
            "CD",
            "cd",
            "CF",
            "cf",
            "CG",
            "cg",
            "CH",
            "ch",
            "CI",
            "ci",
            "CK",
            "ck",
            "CL",
            "cl",
            "CM",
            "cm",
            "CN",
            "cn",
            "CO",
            "co",
            "CR",
            "cr",
            "CU",
            "cu",
            "CV",
            "cv",
            "CW",
            "cw",
            "CX",
            "cx",
            "CY",
            "cy",
            "CZ",
            "cz",
            "DE",
            "de",
            "DJ",
            "dj",
            "DK",
            "dk",
            "DM",
            "dm",
            "DO",
            "do",
            "DZ",
            "dz",
            "EC",
            "ec",
            "EE",
            "ee",
            "EG",
            "eg",
            "EH",
            "eh",
            "ER",
            "er",
            "ES",
            "es",
            "ET",
            "et",
            "FI",
            "fi",
            "FJ",
            "fj",
            "FK",
            "fk",
            "FM",
            "fm",
            "FO",
            "fo",
            "FR",
            "fr",
            "GA",
            "ga",
            "GB",
            "gb",
            "GD",
            "gd",
            "GE",
            "ge",
            "GF",
            "gf",
            "GG",
            "gg",
            "GH",
            "gh",
            "GI",
            "gi",
            "GL",
            "gl",
            "GM",
            "gm",
            "GN",
            "gn",
            "GP",
            "gp",
            "GQ",
            "gq",
            "GR",
            "gr",
            "GS",
            "gs",
            "GT",
            "gt",
            "GU",
            "gu",
            "GW",
            "gw",
            "GY",
            "gy",
            "HK",
            "hk",
            "HM",
            "hm",
            "HN",
            "hn",
            "HR",
            "hr",
            "HT",
            "ht",
            "HU",
            "hu",
            "ID",
            "id",
            "IE",
            "ie",
            "IL",
            "il",
            "IM",
            "im",
            "IN",
            "in",
            "IO",
            "io",
            "IQ",
            "iq",
            "IR",
            "ir",
            "IS",
            "is",
            "IT",
            "it",
            "JE",
            "je",
            "JM",
            "jm",
            "JO",
            "jo",
            "JP",
            "jp",
            "KE",
            "ke",
            "KG",
            "kg",
            "KH",
            "kh",
            "KI",
            "ki",
            "KM",
            "km",
            "KN",
            "kn",
            "KP",
            "kp",
            "KR",
            "kr",
            "KW",
            "kw",
            "KY",
            "ky",
            "KZ",
            "kz",
            "LA",
            "la",
            "LB",
            "lb",
            "LC",
            "lc",
            "LI",
            "li",
            "LK",
            "lk",
            "LR",
            "lr",
            "LS",
            "ls",
            "LT",
            "lt",
            "LU",
            "lu",
            "LV",
            "lv",
            "LY",
            "ly",
            "MA",
            "ma",
            "MC",
            "mc",
            "MD",
            "md",
            "ME",
            "me",
            "MF",
            "mf",
            "MG",
            "mg",
            "MH",
            "mh",
            "MK",
            "mk",
            "ML",
            "ml",
            "MM",
            "mm",
            "MN",
            "mn",
            "MO",
            "mo",
            "MP",
            "mp",
            "MQ",
            "mq",
            "MR",
            "mr",
            "MS",
            "ms",
            "MT",
            "mt",
            "MU",
            "mu",
            "MV",
            "mv",
            "MW",
            "mw",
            "MX",
            "mx",
            "MY",
            "my",
            "MZ",
            "mz",
            "NA",
            "na",
            "NC",
            "nc",
            "NE",
            "ne",
            "NF",
            "nf",
            "NG",
            "ng",
            "NI",
            "ni",
            "NL",
            "nl",
            "NO",
            "no",
            "NP",
            "np",
            "NR",
            "nr",
            "NU",
            "nu",
            "NZ",
            "nz",
            "OM",
            "om",
            "PA",
            "pa",
            "PE",
            "pe",
            "PF",
            "pf",
            "PG",
            "pg",
            "PH",
            "ph",
            "PK",
            "pk",
            "PL",
            "pl",
            "PM",
            "pm",
            "PN",
            "pn",
            "PR",
            "pr",
            "PS",
            "ps",
            "PT",
            "pt",
            "PW",
            "pw",
            "PY",
            "py",
            "QA",
            "qa",
            "RE",
            "re",
            "RO",
            "ro",
            "RS",
            "rs",
            "RU",
            "ru",
            "RW",
            "rw",
            "SA",
            "sa",
            "SB",
            "sb",
            "SC",
            "sc",
            "SD",
            "sd",
            "SE",
            "se",
            "SG",
            "sg",
            "SH",
            "sh",
            "SI",
            "si",
            "SJ",
            "sj",
            "SK",
            "sk",
            "SL",
            "sl",
            "SM",
            "sm",
            "SN",
            "sn",
            "SO",
            "so",
            "SR",
            "sr",
            "SS",
            "ss",
            "ST",
            "st",
            "SV",
            "sv",
            "SX",
            "sx",
            "SY",
            "sy",
            "SZ",
            "sz",
            "TC",
            "tc",
            "TD",
            "td",
            "TF",
            "tf",
            "TG",
            "tg",
            "TH",
            "th",
            "TJ",
            "tj",
            "TK",
            "tk",
            "TL",
            "tl",
            "TM",
            "tm",
            "TN",
            "tn",
            "TO",
            "to",
            "TR",
            "tr",
            "TT",
            "tt",
            "TV",
            "tv",
            "TW",
            "tw",
            "TZ",
            "tz",
            "UA",
            "ua",
            "UG",
            "ug",
            "UM",
            "um",
            "US",
            "us",
            "UY",
            "uy",
            "UZ",
            "uz",
            "VA",
            "va",
            "VC",
            "vc",
            "VE",
            "ve",
            "VG",
            "vg",
            "VI",
            "vi",
            "VN",
            "vn",
            "VU",
            "vu",
            "WF",
            "wf",
            "WS",
            "ws",
            "YE",
            "ye",
            "YT",
            "yt",
            "ZA",
            "za",
            "ZM",
            "zm",
            "ZW",
            "zw"
          ],
          "type": "string"
        },
        "dob": {
          "description": "Customer date of birth",
          "format": "date-time",
          "type": "string"
        },
        "email": {
          "description": "Customer email",
          "type": "string"
        },
        "firstName": {
          "description": "Customer first name",
          "type": "string"
        },
        "ip": {
          "description": "Customer IP",
          "type": "string"
        },
        "lastName": {
          "description": "Customer last name",
          "type": "string"
        },
        "phone": {
          "description": "Customer phone",
          "type": "string"
        },
        "state": {
          "description": "Customer state",
          "type": "string"
        },
        "userAgent": {
          "description": "Customer user agent",
          "type": "string"
        },
        "zip": {
          "description": "Customer zip",
          "type": "string"
        }
      },
      "type": "object"
    }
  }
}