{
  "openapi": "3.0.3",
  "info": {
    "title": "simpay-api",
    "description": "[English version](/en/apis)",
    "version": "1.0.0",
    "x-logo": {
      "url": "https://simpay.pl/assets/svg/logo-main.svg",
      "altText": "SimPay"
    },
    "termsOfService": "https://simpay.pl/uploads/download/documents/regulamin.pdf",
    "contact": {
      "name": "Support",
      "url": "https://simpay.pl/kontakt",
      "email": "kontakt@simpay.pl"
    }
  },
  "servers": [
    {
      "url": "https://api.simpay.pl"
    }
  ],
  "tags": [
    {
      "name": "SMS"
    },
    {
      "name": "DirectBilling"
    },
    {
      "name": "Payment",
      "x-displayName": "Płatności online"
    }
  ],
  "paths": {
    "/sms": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "sms.services"
            ]
          }
        ],
        "summary": "Lista usług",
        "operationId": "smsServiceList",
        "description": "Pobieranie listy dostępnych usług SMS na koncie",
        "tags": [
          "SMS"
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/smsGetServices"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/sms/{serviceId}": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "sms.services.show"
            ]
          }
        ],
        "summary": "Pobieranie informacji o usłudze",
        "operationId": "smsServiceShow",
        "tags": [
          "SMS"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/smsGetService"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      },
      "post": {
        "security": [
          {
            "bearerAuth": [
              "sms.services.code"
            ]
          }
        ],
        "summary": "Weryfikacja poprawności kodu",
        "operationId": "smsServiceCheckCode",
        "tags": [
          "SMS"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/smsServiceCheckCode"
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/smsServiceCheckCodeUsed"
                    },
                    {
                      "$ref": "#/components/schemas/smsServiceCheckCodeNotUsed"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/sms/{serviceId}/transactions": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "sms.services.transactions"
            ]
          }
        ],
        "summary": "Pobieranie listy transakcji",
        "operationId": "smsTransactionsList",
        "tags": [
          "SMS"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/smsGetServiceTransactions"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/sms/{serviceId}/transactions/{transactionId}": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "sms.services.transactions.show"
            ]
          }
        ],
        "summary": "Pobieranie informacji o transakcji",
        "operationId": "smsTransactionsShow",
        "tags": [
          "SMS"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          },
          {
            "in": "path",
            "name": "transactionId",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/smsGetServiceTransaction"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/sms/{serviceId}/numbers": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "sms.services.numbers"
            ]
          }
        ],
        "summary": "Pobieranie informacji o numerach dla usługi",
        "operationId": "smsServiceNumbers",
        "tags": [
          "SMS"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/smsServiceNumbers"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/sms/{serviceId}/numbers/{number}": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "sms.services.numbers.show"
            ]
          }
        ],
        "summary": "Pobieranie informacji o numerze dla usługi",
        "operationId": "smsServiceNumber",
        "tags": [
          "SMS"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          },
          {
            "in": "path",
            "name": "number",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/smsServiceNumber"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/sms/numbers": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "sms.numbers"
            ]
          }
        ],
        "summary": "Pobieranie wszystkich dostępnych numerów",
        "operationId": "smsNumbers",
        "tags": [
          "SMS"
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/smsServiceNumbers"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/sms/numbers/{number}": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "sms.numbers.show"
            ]
          }
        ],
        "summary": "Pobieranie numeru",
        "operationId": "smsNumber",
        "tags": [
          "SMS"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "number",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/smsServiceNumber"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/directbilling": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "directbilling.services"
            ]
          }
        ],
        "summary": "Pobieranie listy usług",
        "operationId": "directbillingGetServices",
        "description": "",
        "tags": [
          "DirectBilling"
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/directbillingGetServicesResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/directbilling/{serviceId}": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "directbilling.services.show"
            ]
          }
        ],
        "summary": "Pobieranie informacji o usłudze",
        "operationId": "directbillingService",
        "description": "",
        "tags": [
          "DirectBilling"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/directbillingGetServiceResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/directbilling/{serviceId}/calculate": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "directbilling.services"
            ]
          }
        ],
        "summary": "Kalkulacja prowizji",
        "operationId": "directbillingServiceCalculate",
        "description": "",
        "tags": [
          "DirectBilling"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          },
          {
            "in": "query",
            "name": "amount",
            "required": true,
            "description": "Kwota jaką chcemy otrzymać “na czysto”",
            "schema": {
              "type": "number",
              "format": "float"
            },
            "allowReserved": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/directbillingServiceCalculateResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/directbilling/{serviceId}/transactions": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "directbilling.transactions"
            ]
          }
        ],
        "summary": "Pobieranie listy transakcji",
        "operationId": "directbillingTransactions",
        "description": "",
        "tags": [
          "DirectBilling"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          },
          {
            "name": "filter[status]",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/directbillingTransactionStatus"
            }
          },
          {
            "name": "filter[phoneNumber]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Numer telefonu z jakiego została przeprowadzona trasnakcja",
              "example": "48123123123"
            }
          },
          {
            "name": "filter[control]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Pole kontrolne z systemu partnera"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/directbillingGetTransactionsResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      },
      "post": {
        "security": [
          {
            "bearerAuth": [
              "directbilling.transactions.create"
            ]
          }
        ],
        "summary": "Generowanie transakcji",
        "operationId": "directbillingTransactionCreate",
        "description": "",
        "tags": [
          "DirectBilling"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/directbillingTransactionCreateOnlyNecessary"
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/directbillingTransactionCreateResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableContent"
          }
        }
      }
    },
    "/directbilling/{serviceId}/transactions/{transactionId}": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "directbilling.transactions.show"
            ]
          }
        ],
        "summary": "Pobieranie informacji o transakcji",
        "operationId": "directbillingTransaction",
        "description": "",
        "tags": [
          "DirectBilling"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          },
          {
            "in": "path",
            "name": "transactionId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TransactionId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/directbillingGetTransactionResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/payment": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "payment.services"
            ]
          }
        ],
        "summary": "Pobieranie listy usług",
        "operationId": "paymentGetServices",
        "description": "",
        "tags": [
          "Payment"
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paymentGetServicesResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/payment/{serviceId}": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "payment.service"
            ]
          }
        ],
        "summary": "Pobieranie szczegółów usługi",
        "operationId": "paymentGetService",
        "description": "",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paymentGetServiceResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/payment/{serviceId}/channels": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "payment.channels"
            ]
          }
        ],
        "summary": "Pobieranie listy kanałów dla usługi",
        "operationId": "paymentGetChannels",
        "description": "",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paymentGetServiceChannelsResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/payment/{serviceId}/transactions": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "payment.transactions"
            ]
          }
        ],
        "summary": "Pobieranie listy transakcji",
        "operationId": "paymentGetTransactions",
        "description": "",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paymentGetTransactionsResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      },
      "post": {
        "security": [
          {
            "bearerAuth": [
              "payment.transactions.create"
            ]
          }
        ],
        "summary": "Generowanie transakcji",
        "operationId": "paymentTransactionCreate",
        "description": "",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/paymentCreateTransactionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paymentTransactionCreateResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableContent"
          }
        }
      }
    },
    "/payment/{serviceId}/transactions/{transactionId}": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "payment.transaction"
            ]
          }
        ],
        "summary": "Pobieranie szczegółów transakcji",
        "operationId": "paymentGetTransaction",
        "description": "",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          },
          {
            "in": "path",
            "name": "transactionId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TransactionId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paymentGetTransactionResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/payment/{serviceId}/transactions/{transactionId}/refunds": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "payment.transactions.create"
            ]
          }
        ],
        "summary": "Pobieranie listy zwrotów dla transakcji",
        "operationId": "paymentGetTransactionRefunds",
        "description": "",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          },
          {
            "in": "path",
            "name": "transactionId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TransactionId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paymentGetTransactionRefundsResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      },
      "post": {
        "security": [
          {
            "bearerAuth": [
              "payment.transactions.create"
            ]
          }
        ],
        "summary": "Utworzenie zwrotu dla transakcji",
        "operationId": "paymentMakeTransactionRefund",
        "description": "",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          },
          {
            "in": "path",
            "name": "transactionId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TransactionId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paymentMakeTransactionRefundResponse"
                }
              }
            }
          },
          "400": {
            "description": "Błąd",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "success",
                    "message"
                  ],
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Request status"
                    },
                    "errorCode": {
                      "type": "string",
                      "description": "Error status code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message"
                    }
                  },
                  "example": {
                    "success": false,
                    "message": "The wallet balance is smaller than the transaction amount."
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "description": "Błąd",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "success",
                    "message"
                  ],
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Request status"
                    },
                    "errorCode": {
                      "type": "string",
                      "description": "Error status code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message"
                    }
                  },
                  "example": {
                    "success": false,
                    "errorCode": "TRANSACTION_NOT_PAID",
                    "message": "Transaction is not paid."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/payment/{serviceId}/transactions/{transactionId}/refunds/{refundId}": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "payment.transactions.create"
            ]
          }
        ],
        "summary": "Pobieranie pojedynczego zwrotu w transakcji",
        "operationId": "paymentTransactionRefundShow",
        "description": "",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          },
          {
            "in": "path",
            "name": "transactionId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TransactionId"
            }
          },
          {
            "in": "path",
            "name": "refundId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/RefundId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paymentShowTransactionRefundResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/payment/{serviceId}/currencies": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "payment.services"
            ]
          }
        ],
        "summary": "Pobieranie listy walut dla usługi",
        "operationId": "paymentGetCurrencies",
        "description": "",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paymentGetCurrenciesResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/payment/{serviceId}/blik/level0/{transactionId}": {
      "post": {
        "security": [
          {
            "bearerAuth": [
              "payment.transactions"
            ]
          }
        ],
        "summary": "Podanie kodu BLIK do transakcji Level 0",
        "operationId": "paymentBlikLevel0",
        "description": "Zobacz https://docs.simpay.pl/payment/blik-level0 po więcej informacji.",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          },
          {
            "in": "path",
            "name": "transactionId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TransactionId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/paymentBlik0TransactionRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Payment confirmation sent to Payers Banking App"
          },
          "400": {
            "description": "Invalid BLIK code or BLIK ticket related error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "success",
                    "errorCode",
                    "message"
                  ],
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Request status"
                    },
                    "errorCode": {
                      "type": "string",
                      "description": "Error status code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message"
                    }
                  },
                  "example": {
                    "success": false,
                    "errorCode": "INVALID_BLIK_CODE",
                    "message": "Invalid BLIK code."
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableContent"
          },
          "429": {
            "description": "Zbyt wiele nieudanych prób kodu BLIK w przeciągu minuty (per płacący)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "success",
                    "errorCode",
                    "message",
                    "data"
                  ],
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Request status"
                    },
                    "errorCode": {
                      "type": "string",
                      "description": "Error status code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "retryAfter": {
                          "type": "integer",
                          "description": "Next attempt available in seconds (for this payer)"
                        }
                      }
                    }
                  },
                  "example": {
                    "success": false,
                    "errorCode": "TOO_MANY_FAILED_ATTEMPTS",
                    "message": "Too many failed attempts with providing BLIK ticket for this user.",
                    "data": {
                      "retryAfter": 17
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/payment/{serviceId}/subscriptions": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "payment.transactions"
            ]
          }
        ],
        "summary": "Pobieranie listy subskrypcji",
        "operationId": "paymentSubscriptionIndex",
        "description": "Zobacz https://docs.simpay.pl/payment/blik-recurrent po więcej informacji.",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          },
          {
            "in": "query",
            "name": "filter[status]",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/subscriptionStatus"
            },
            "example": "subscription_active"
          },
          {
            "in": "query",
            "name": "filter[mode]",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/subscriptionMode"
            },
            "example": "BLIK"
          },
          {
            "in": "query",
            "name": "filter[uuid]",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/SubscriptionId"
            },
            "example": "019970c6-3d3e-708c-9313-5f89e251e2c0"
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "description": "Numer strony",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            }
          },
          {
            "in": "query",
            "name": "perPage",
            "required": false,
            "description": "Ile wyników na stronę pokazać",
            "example": 20,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            }
          },
          {
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "-created_at",
                "created_at"
              ]
            },
            "description": "Pokazuj w kolejności od (-created_at = najnowszych, created_at = najstarszych)"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paymentGetSubscriptionsResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableContent"
          }
        }
      }
    },
    "/payment/{serviceId}/blik/subscriptions": {
      "post": {
        "security": [
          {
            "bearerAuth": [
              "payment.transactions"
            ]
          }
        ],
        "summary": "Utworzenie subskrypcji",
        "operationId": "paymentBlikSubscriptionCreate",
        "description": "Zobacz https://docs.simpay.pl/payment/blik-recurrent po więcej informacji.",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/paymentBlikSubscriptionCreateRequest"
              },
              "examples": {
                "modelA": {
                  "summary": "Model A",
                  "value": {
                    "transactionId": "bda2d37c-e64d-4855-af7c-91aac91a0d6a",
                    "ticket": {
                      "T6": "462755"
                    },
                    "alias": {
                      "value": "AABBCC",
                      "type": "PAYID",
                      "label": "Płatność za plan premium w serwisie aaa"
                    },
                    "options": {
                      "model": "A",
                      "expiresAt": "2030-09-22",
                      "frequency": "30D",
                      "amountLimitPerTransaction": 30,
                      "initiationDate": "2025-09-22",
                      "amountLimitTotal": 30000
                    }
                  }
                },
                "modelO": {
                  "summary": "Model O",
                  "value": {
                    "transactionId": "bda2d37c-e64d-4855-af7c-91aac91a0d6a",
                    "ticket": {
                      "T6": "462755"
                    },
                    "alias": {
                      "value": "AABBCC",
                      "type": "PAYID",
                      "label": "Płatność za plan premium w serwisie aaa"
                    },
                    "options": {
                      "model": "O",
                      "expiresAt": "2030-09-22",
                      "initiationDate": "2025-09-22"
                    }
                  }
                },
                "modelM": {
                  "summary": "Model M",
                  "value": {
                    "transactionId": "bda2d37c-e64d-4855-af7c-91aac91a0d6a",
                    "ticket": {
                      "T6": "462755"
                    },
                    "alias": {
                      "value": "AABBCC",
                      "type": "PAYID",
                      "label": "Płatność za plan premium w serwisie aaa"
                    },
                    "options": {
                      "model": "M",
                      "expiresAt": "2030-09-22",
                      "initiationDate": "2025-09-22",
                      "frequency": "30D"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Subskrypcja oraz alias utworzone",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "success",
                    "data"
                  ],
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Status zapytania"
                    },
                    "data": {
                      "type": "object",
                      "required": [
                        "subscriptionId",
                        "aliasId"
                      ],
                      "properties": {
                        "subscriptionId": {
                          "$ref": "#/components/schemas/SubscriptionId"
                        },
                        "aliasId": {
                          "$ref": "#/components/schemas/AliasId"
                        }
                      },
                      "example": {
                        "subscriptionId": "019970c6-3d3e-708c-9313-5f89e251e2c0",
                        "aliasId": "019970c6-3ce8-71e7-8214-20fd635532fb"
                      }
                    }
                  },
                  "example": {
                    "success": true,
                    "data": {
                      "subscriptionId": "019970c6-3d3e-708c-9313-5f89e251e2c0",
                      "aliasId": "019970c6-3ce8-71e7-8214-20fd635532fb"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Błędny kod BLIK lub inny podobny błąd",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "success",
                    "errorCode",
                    "message"
                  ],
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Request status"
                    },
                    "errorCode": {
                      "type": "string",
                      "description": "Error status code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message"
                    }
                  },
                  "example": {
                    "success": false,
                    "errorCode": "INVALID_BLIK_CODE",
                    "message": "Invalid BLIK code."
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "description": "Alias już istnieje",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "success",
                    "errorCode",
                    "message"
                  ],
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Request status"
                    },
                    "errorCode": {
                      "type": "string",
                      "description": "Error status code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message"
                    }
                  },
                  "example": {
                    "success": false,
                    "errorCode": "ALIAS_ALREADY_EXISTS",
                    "message": "Selected alias value has been already in our system. You must pass unique alias value, for example subscription id."
                  }
                }
              }
            }
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableContent"
          }
        }
      }
    },
    "/payment/{serviceId}/blik/subscriptions/{subscriptionId}/autopayment": {
      "post": {
        "security": [
          {
            "bearerAuth": [
              "payment.transactions"
            ]
          }
        ],
        "summary": "Dokonaj Płatności Powtarzalnej BLIK",
        "operationId": "paymentBlikSubscriptionExecuteAutoPayment",
        "description": "Zobacz https://docs.simpay.pl/payment/blik-recurrent po więcej informacji.",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          },
          {
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SubscriptionId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/paymentBlikSubscriptionExecuteAutoPaymentRequest"
              },
              "example": {
                "transactionId": "9475bfd4-0935-4945-8621-2ec22e561ac9",
                "descriptions": {
                  "line1": "Subskrypcja na muzykę za wrzesień"
                },
                "alias": {
                  "label": "Płatność za plan Gold",
                  "noDelay": true
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Subskrypcja przekazana do realizacji",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "success",
                    "data"
                  ],
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Status zapytania"
                    },
                    "data": {
                      "type": "object",
                      "required": [
                        "needsUserConfirmation"
                      ],
                      "properties": {
                        "needsUserConfirmation": {
                          "type": "boolean",
                          "description": "Jeśli wartość false - transakcja przekazana od razu do BLIK. Jeśli true - system antifraud wykrył ryzyko i transakcja czeka na ręczne potwierdzenie przez płacącego"
                        }
                      },
                      "example": {
                        "needsUserConfirmation": false
                      }
                    }
                  },
                  "example": {
                    "success": true,
                    "data": {
                      "needsUserConfirmation": false
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Błąd przy realizacji Płatności Powtarzalnej",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "success",
                    "errorCode",
                    "message"
                  ],
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Request status"
                    },
                    "errorCode": {
                      "type": "string",
                      "description": "Error status code"
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message"
                    }
                  },
                  "example": {
                    "success": false,
                    "errorCode": "INVALID_BLIK_CODE",
                    "message": "Invalid BLIK code."
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableContent"
          }
        }
      }
    },
    "/payment/{serviceId}/blik/aliases": {
      "get": {
        "security": [
          {
            "bearerAuth": [
              "payment.transactions"
            ]
          }
        ],
        "summary": "Pobieranie listy aliasów BLIK",
        "operationId": "paymentBlikAliasesIndex",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          },
          {
            "in": "query",
            "name": "filter[status]",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/blikAliasStatus"
            },
            "example": "alias_active"
          },
          {
            "in": "query",
            "name": "filter[type]",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/blikAliasType"
            },
            "example": "PAYID"
          },
          {
            "in": "query",
            "name": "filter[uuid]",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/AliasId"
            },
            "example": "019970c6-3ce8-71e7-8214-20fd635532fb"
          },
          {
            "in": "query",
            "name": "filter[value]",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Wartość aliasu BLIK",
              "maxLength": 64,
              "example": "AABBCC"
            },
            "example": "019970c6-3ce8-71e7-8214-20fd635532fb"
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "description": "Numer strony",
            "example": 1,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            }
          },
          {
            "in": "query",
            "name": "perPage",
            "required": false,
            "description": "Ile wyników na stronę pokazać",
            "example": 20,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            }
          },
          {
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "-created_at",
                "created_at"
              ]
            },
            "description": "Pokazuj w kolejności od (-created_at = najnowszych, created_at = najstarszych)"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paymentGetBlikAliasesResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableContent"
          }
        }
      },
      "delete": {
        "security": [
          {
            "bearerAuth": [
              "payment.transactions"
            ]
          }
        ],
        "summary": "Usuwanie/wyrejestrowanie aliasu",
        "operationId": "paymentBlikAliasUnregister",
        "description": "Zobacz https://docs.simpay.pl/payment/blik-recurrent po więcej informacji.",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "serviceId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ServiceId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/paymentBlikAliasUnregisterRequest"
              },
              "examples": {
                "simpayId": {
                  "summary": "Wyrejestrowanie przez ID aliasu SimPay",
                  "value": {
                    "uuid": "0198a54d-05d9-7177-9ac6-5d9831bc988d",
                    "reason": "Anulowanie planu"
                  }
                },
                "aliasValueAndType": {
                  "summary": "Wyrejestrowanie przez value + type aliasu",
                  "value": {
                    "value": "AABBCC",
                    "type": "PAYID",
                    "reason": "Anulowanie planu"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Alias został wyrejestrowany. Zostanie wysłany IPN `blik:alias_status_changed`"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableContent"
          }
        }
      }
    }
  },
  "x-webhooks": {
    "directbillingTransactionNotification": {
      "post": {
        "summary": "Odbieranie informacji o transakcji DirectBilling",
        "description": "# Sygnatura\n\n## Obliczanie sygnatury przy odbieraniu notyfikacji\nSygnature generujemy za pomocą zestawienia ze sobą wszystkich odebranych parametrów (oprócz signature) do API w kolejności z dostępnej powyżej tabli oddzielając je seperatorem | i dodając na końcu klucz dostępny w panelu klienta w usłudze.<br/>\nHashowanie musi odbyć się za pomocą sha256.<br/>\nPrzykład: <br/>\n`dc261d4f-31ef-4728-bfd6-97bbe2a5ef0a|e14f8074|transaction_db_payed|11.07|13.67|5.00|https://www.simpay.pl/complete|https://www.simpay.pl/failure|test|123123123|1|klucz`\n\nNotyfikacja wysyłana jest metodą `POST` i wymaga od Ciebie odpowiedzi w body `OK` oraz Http Code `200`\n",
        "operationId": "directbillingTransactionNotification",
        "tags": [
          "DirectBilling"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/directbillingTransactionNotification"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "default": "OK"
                },
                "examples": {
                  "test_request": {
                    "value": "OK"
                  }
                }
              }
            }
          }
        }
      }
    },
    "paymentTransactionNotification": {
      "post": {
        "summary": "Odbieranie informacji o transakcji płatności online",
        "description": "# Zapoznaj się z linkiem poniżej. Tam uzyskasz wszystkie szczegóły:\nhttps://docs.simpay.pl/notifications/payment\n",
        "operationId": "paymentTransactionNotification",
        "tags": [
          "Payment"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/paymentTransactionNotification"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return a 200 status to indicate that the data was received successfully",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "default": "OK"
                },
                "examples": {
                  "test_request": {
                    "value": "OK"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "schemas": {
      "ServiceId": {
        "type": "string",
        "description": "Id usługi",
        "pattern": "^[0-9a-f]{8}$",
        "minLength": 8,
        "maxLength": 8
      },
      "ServiceType": {
        "type": "string",
        "description": "Typ usługi SMS",
        "enum": [
          "ONE_TIME_CODE",
          "CODE_PACK",
          "API_URL"
        ]
      },
      "ServiceStatus": {
        "type": "string",
        "description": "Status usługi",
        "enum": [
          "service_new",
          "service_active",
          "service_blocked",
          "service_rejected",
          "service_verify",
          "service_ongoing_registration"
        ]
      },
      "DateTime": {
        "type": "string",
        "format": "date-time",
        "description": "Data utworzenia w formacie: ISO 8601"
      },
      "smsServiceList": {
        "type": "object",
        "required": [
          "id",
          "type",
          "status",
          "name",
          "prefix",
          "suffix",
          "adult",
          "created_at"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/ServiceId"
          },
          "type": {
            "$ref": "#/components/schemas/ServiceType"
          },
          "status": {
            "$ref": "#/components/schemas/ServiceStatus"
          },
          "name": {
            "type": "string",
            "description": "Nazwa usługi"
          },
          "prefix": {
            "type": "string",
            "description": "Prefix usługi, czyli pierwszy człon treści SMS np. SIM"
          },
          "suffix": {
            "type": "string",
            "description": "Suffix usługi, czyli drugi człon treści SMS"
          },
          "description": {
            "type": "string",
            "description": "Opis usługi"
          },
          "adult": {
            "type": "boolean",
            "description": "Informacja o tym czy usługa jest 18+"
          },
          "created_at": {
            "$ref": "#/components/schemas/DateTime"
          }
        }
      },
      "Pagination": {
        "type": "object",
        "required": [
          "total",
          "count",
          "per_page",
          "current_page",
          "total_pages",
          "links"
        ],
        "properties": {
          "total": {
            "type": "integer",
            "description": "Liczba wszystkich rekordów",
            "example": 1
          },
          "count": {
            "type": "integer",
            "description": "Liczba rekordów na danej stronie",
            "example": 1
          },
          "per_page": {
            "type": "integer",
            "description": "Maksymalna ilość rekordów na strone",
            "example": 15
          },
          "current_page": {
            "type": "integer",
            "description": "Aktualna strona",
            "example": 1
          },
          "total_pages": {
            "type": "integer",
            "description": "Ilość stron",
            "example": 1
          },
          "links": {
            "type": "object",
            "description": "Adresy URL do stron",
            "required": [
              "next_page",
              "prev_page"
            ],
            "properties": {
              "next_page": {
                "nullable": true,
                "type": "string",
                "format": "url",
                "example": null,
                "description": "Adres URL do następnej strony"
              },
              "prev_page": {
                "nullable": true,
                "type": "string",
                "format": "url",
                "example": null,
                "description": "Adres URL do poprzedniej strony"
              }
            }
          }
        }
      },
      "smsGetServices": {
        "type": "object",
        "required": [
          "success",
          "data",
          "pagination"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/smsServiceList"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "example": {
          "success": true,
          "data": [
            {
              "id": "d151e4f9",
              "type": "ONE_TIME_CODE",
              "status": "service_active",
              "name": "TEST",
              "prefix": "SIM",
              "suffix": "TESTSIMPAY",
              "adult": false,
              "created_at": "2021-11-08T18:18:53+01:00"
            }
          ],
          "pagination": {
            "total": 1,
            "count": 1,
            "per_page": 15,
            "current_page": 1,
            "total_pages": 1,
            "links": {
              "next_page": null,
              "prev_page": null
            }
          }
        }
      },
      "ErrorResponseUnauthorized": {
        "type": "object",
        "required": [
          "success",
          "errorCode"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status",
            "default": false
          },
          "errorCode": {
            "type": "string",
            "description": "Error status code",
            "enum": [
              "UNAUTHORIZED"
            ]
          }
        }
      },
      "ErrorResponseForbidden": {
        "type": "object",
        "required": [
          "success",
          "errorCode"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status",
            "default": false
          },
          "errorCode": {
            "type": "string",
            "description": "Error status code",
            "enum": [
              "INVALID_ABILITY_PROVIDED",
              "IP_ADDRESS_NOT_WHITELISTED"
            ]
          }
        }
      },
      "ErrorResponseNotFound": {
        "type": "object",
        "required": [
          "success",
          "errorCode"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status",
            "default": false
          },
          "errorCode": {
            "type": "string",
            "description": "Error status code",
            "enum": [
              "SERVICE_NOT_FOUND",
              "TRANSACTION_NOT_FOUND",
              "ROUTE_NOT_FOUND"
            ]
          }
        }
      },
      "ServicesNumbers": {
        "type": "array",
        "items": {
          "type": "integer",
          "enum": [
            7055,
            7155,
            7255,
            7355,
            7455,
            7555,
            7636,
            77464,
            78464,
            7936,
            91055,
            91155,
            91455,
            91664,
            91955,
            92055,
            92555
          ]
        }
      },
      "smsService": {
        "type": "object",
        "required": [
          "id",
          "type",
          "status",
          "name",
          "prefix",
          "suffix",
          "adult",
          "numbers",
          "created_at"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/ServiceId"
          },
          "type": {
            "$ref": "#/components/schemas/ServiceType"
          },
          "status": {
            "$ref": "#/components/schemas/ServiceStatus"
          },
          "name": {
            "type": "string",
            "description": "Nazwa usługi"
          },
          "prefix": {
            "type": "string",
            "description": "Prefix usługi, czyli pierwszy człon treści SMS np. SIM"
          },
          "suffix": {
            "type": "string",
            "description": "Suffix usługi, czyli drugi człon treści SMS"
          },
          "description": {
            "type": "string",
            "description": "Opis usługi"
          },
          "adult": {
            "type": "boolean",
            "description": "Informacja o tym czy usługa jest 18+"
          },
          "numbers": {
            "$ref": "#/components/schemas/ServicesNumbers"
          },
          "created_at": {
            "$ref": "#/components/schemas/DateTime"
          }
        }
      },
      "smsGetService": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/smsService"
            }
          }
        },
        "example": {
          "success": true,
          "data": {
            "id": "d151e4f9",
            "type": "ONE_TIME_CODE",
            "status": "service_active",
            "name": "TEST",
            "prefix": "SIM",
            "suffix": "TESTSIMPAY",
            "adult": false,
            "numbers": [
              7055,
              7155,
              7255
            ],
            "created_at": "2021-11-08T18:18:53+01:00"
          }
        }
      },
      "SmsCode": {
        "type": "string",
        "description": "Kod z wiadomości SMS",
        "pattern": "^[A-Z0-9]{6}$",
        "minimum": 6,
        "maximum": 6
      },
      "ServiceNumbers": {
        "type": "integer",
        "description": "Numer do wysyłki wiadomości SMS",
        "enum": [
          7055,
          7155,
          7255,
          7355,
          7455,
          7555,
          7636,
          77464,
          78464,
          7936,
          91055,
          91155,
          91455,
          91664,
          91955,
          92055,
          92555
        ]
      },
      "smsCodeWithNumber": {
        "type": "object",
        "required": [
          "code",
          "number"
        ],
        "properties": {
          "code": {
            "$ref": "#/components/schemas/SmsCode"
          },
          "number": {
            "$ref": "#/components/schemas/ServiceNumbers"
          }
        },
        "example": {
          "code": "AB12D6",
          "number": 7055
        }
      },
      "smsCodeWithoutNumber": {
        "type": "object",
        "required": [
          "code"
        ],
        "properties": {
          "code": {
            "$ref": "#/components/schemas/SmsCode"
          }
        },
        "example": {
          "code": "AB12D6"
        }
      },
      "smsServiceCheckCodeUsedData": {
        "type": "object",
        "required": [
          "used",
          "code",
          "test",
          "from",
          "number",
          "value",
          "used_at"
        ],
        "properties": {
          "used": {
            "type": "boolean",
            "description": "Informacja czy kod został wykorzystany"
          },
          "code": {
            "type": "string",
            "description": "Kod z SMS"
          },
          "test": {
            "type": "boolean",
            "description": "Informacja czy kod testowy"
          },
          "from": {
            "type": "integer",
            "description": "Numer z jakiego wysłano SMS"
          },
          "number": {
            "$ref": "#/components/schemas/ServiceNumbers"
          },
          "value": {
            "type": "number",
            "format": "float",
            "description": "Kwota netto SMSa"
          },
          "used_at": {
            "$ref": "#/components/schemas/DateTime"
          }
        }
      },
      "smsServiceCheckCodeUsed": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/smsServiceCheckCodeUsedData"
            }
          }
        },
        "example": {
          "success": true,
          "data": {
            "used": true,
            "code": "ABC1D6",
            "test": true,
            "from": "48123123123",
            "number": 7055,
            "value": 0.5,
            "send_at": "2021-11-14T19:00:36+01:00"
          }
        }
      },
      "smsServiceCheckCodeNotUsedData": {
        "type": "object",
        "required": [
          "used",
          "code",
          "test",
          "from",
          "number",
          "value"
        ],
        "properties": {
          "used": {
            "type": "boolean",
            "description": "Informacja czy kod został wykorzystany"
          },
          "code": {
            "type": "string",
            "description": "Kod z SMS"
          },
          "test": {
            "type": "boolean",
            "description": "Informacja czy kod testowy"
          },
          "from": {
            "type": "integer",
            "description": "Numer z jakiego wysłano SMS"
          },
          "number": {
            "$ref": "#/components/schemas/ServiceNumbers"
          },
          "value": {
            "type": "number",
            "format": "float",
            "description": "Kwota netto SMSa"
          }
        }
      },
      "smsServiceCheckCodeNotUsed": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/smsServiceCheckCodeNotUsedData"
            }
          }
        },
        "example": {
          "success": true,
          "data": {
            "used": false,
            "code": "ABC1D6",
            "test": true,
            "from": "48123123123",
            "number": 7055,
            "value": 0.5
          }
        }
      },
      "ServiceTransaction": {
        "type": "object",
        "required": [
          "id",
          "from",
          "code",
          "used",
          "send_number",
          "value",
          "send_at"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id transakcji SMS"
          },
          "from": {
            "type": "integer",
            "description": "Numer z jakiego wysłano SMS"
          },
          "code": {
            "type": "string",
            "description": "Kod z SMS"
          },
          "used": {
            "type": "boolean",
            "description": "Informacja czy kod został wykorzystany"
          },
          "send_number": {
            "$ref": "#/components/schemas/ServiceNumbers"
          },
          "value": {
            "type": "number",
            "format": "float",
            "description": "Kwota netto SMSa"
          },
          "send_at": {
            "$ref": "#/components/schemas/DateTime"
          }
        }
      },
      "smsGetServiceTransactions": {
        "type": "object",
        "required": [
          "success",
          "data",
          "pagination"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceTransaction"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "example": {
          "success": true,
          "data": [
            {
              "id": 1,
              "from": 48123123123,
              "code": "ABC1D6",
              "used": false,
              "send_number": 7055,
              "value": 0.5,
              "send_at": "2021-11-14T19:00:36+01:00"
            }
          ],
          "pagination": {
            "total": 1,
            "count": 1,
            "per_page": 15,
            "current_page": 1,
            "total_pages": 1,
            "links": {
              "next_page": null,
              "prev_page": null
            }
          }
        }
      },
      "smsGetServiceTransaction": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "$ref": "#/components/schemas/ServiceTransaction"
          }
        },
        "example": {
          "success": true,
          "data": {
            "id": 1,
            "from": 48123123123,
            "code": "ABC1D6",
            "used": false,
            "send_number": 7055,
            "value": 0.5,
            "send_at": "2021-11-14T19:00:36+01:00"
          }
        }
      },
      "smsNumber": {
        "type": "object",
        "required": [
          "number",
          "value",
          "value_net",
          "adult"
        ],
        "properties": {
          "number": {
            "$ref": "#/components/schemas/ServiceNumbers"
          },
          "value": {
            "type": "number",
            "format": "float"
          },
          "value_net": {
            "type": "number",
            "format": "float"
          },
          "adult": {
            "type": "boolean"
          }
        }
      },
      "smsServiceNumbers": {
        "type": "object",
        "required": [
          "success",
          "data",
          "pagination"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/smsNumber"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "example": {
          "success": true,
          "data": [
            {
              "number": 7055,
              "value": 2,
              "value_net": 2.46,
              "adult": false
            }
          ],
          "pagination": {
            "total": 1,
            "count": 1,
            "per_page": 15,
            "current_page": 1,
            "total_pages": 1,
            "links": {
              "next_page": null,
              "prev_page": null
            }
          }
        }
      },
      "smsServiceNumber": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean"
          },
          "data": {
            "$ref": "#/components/schemas/smsNumber"
          }
        },
        "example": {
          "success": true,
          "data": {
            "number": 7055,
            "value": 2,
            "value_net": 2.46,
            "adult": false
          }
        }
      },
      "directbillingServiceItem": {
        "type": "object",
        "required": [
          "id",
          "name",
          "suffix",
          "status",
          "created_at"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/ServiceId"
          },
          "name": {
            "type": "string",
            "description": "Nazwa usługi"
          },
          "suffix": {
            "type": "string",
            "description": "Tytuł w raporcie"
          },
          "status": {
            "$ref": "#/components/schemas/ServiceStatus"
          },
          "created_at": {
            "$ref": "#/components/schemas/DateTime"
          }
        }
      },
      "directbillingGetServicesResponse": {
        "type": "object",
        "required": [
          "success",
          "data",
          "pagination"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/directbillingServiceItem"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "example": {
          "success": true,
          "data": [
            {
              "id": "d151e4f9",
              "name": "Usługa testowa",
              "suffix": "Test1",
              "status": "service_active",
              "created_at": "2021-11-08T18:19:16+01:00"
            }
          ],
          "pagination": {
            "total": 1,
            "count": 1,
            "per_page": 15,
            "current_page": 1,
            "total_pages": 1,
            "links": {
              "next_page": null,
              "prev_page": null
            }
          }
        }
      },
      "directbillingGetServiceResponse": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "$ref": "#/components/schemas/ServiceId"
              },
              "name": {
                "type": "string",
                "description": "Nazwa usługi"
              },
              "suffix": {
                "type": "string",
                "description": "Tytuł w raporcie"
              },
              "status": {
                "$ref": "#/components/schemas/ServiceStatus"
              },
              "created_at": {
                "$ref": "#/components/schemas/DateTime"
              }
            }
          }
        },
        "example": {
          "success": true,
          "data": {
            "id": "d151e4f9",
            "name": "Usługa testowa",
            "suffix": "Test1",
            "status": "service_active",
            "created_at": "2021-11-08T18:19:16+01:00"
          }
        }
      },
      "directbillingCalculationOperatorItem": {
        "type": "object",
        "nullable": true,
        "properties": {
          "net": {
            "type": "number",
            "format": "float"
          },
          "gross": {
            "type": "number",
            "format": "float"
          }
        }
      },
      "directbillingServiceCalculateResponse": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "object",
            "required": [
              "orange",
              "play",
              "t-mobile",
              "plus"
            ],
            "properties": {
              "orange": {
                "$ref": "#/components/schemas/directbillingCalculationOperatorItem"
              },
              "play": {
                "$ref": "#/components/schemas/directbillingCalculationOperatorItem"
              },
              "t-mobile": {
                "$ref": "#/components/schemas/directbillingCalculationOperatorItem"
              },
              "plus": {
                "$ref": "#/components/schemas/directbillingCalculationOperatorItem"
              }
            }
          }
        },
        "example": {
          "success": true,
          "data": {
            "orange": {
              "net": 285.72,
              "gross": 351.44
            },
            "play": {
              "net": 285.72,
              "gross": 351.44
            },
            "t-mobile": null,
            "plus": null
          }
        }
      },
      "directbillingTransactionStatus": {
        "type": "string",
        "description": "Status transakcji",
        "enum": [
          "transaction_db_new",
          "transaction_db_confirmed",
          "transaction_db_payed",
          "transaction_db_rejected"
        ]
      },
      "directbillingTransactionItem": {
        "type": "object",
        "required": [
          "id",
          "status",
          "value",
          "value_netto",
          "operator",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/ServiceId"
          },
          "status": {
            "$ref": "#/components/schemas/directbillingTransactionStatus"
          },
          "value": {
            "type": "number",
            "format": "float"
          },
          "value_netto": {
            "type": "number",
            "format": "float"
          },
          "operator": {
            "type": "string"
          },
          "created_at": {
            "$ref": "#/components/schemas/DateTime",
            "description": "Data utworzenia transakcji"
          },
          "updated_at": {
            "$ref": "#/components/schemas/DateTime",
            "description": "Data aktualizacji transakcji"
          }
        }
      },
      "directbillingGetTransactionsResponse": {
        "type": "object",
        "required": [
          "success",
          "data",
          "pagination"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/directbillingTransactionItem"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "example": {
          "success": true,
          "data": [
            {
              "id": "dc261d4f-31ef-4728-bfd6-97bbe2a5ef0a",
              "status": "transaction_db_payed",
              "value": 0.34,
              "value_netto": 0.24,
              "created_at": "2023-02-16T14:52:11+01:00",
              "updated_at": "2023-02-16T14:52:11+01:00"
            }
          ],
          "pagination": {
            "total": 1,
            "count": 1,
            "per_page": 15,
            "current_page": 1,
            "total_pages": 1,
            "links": {
              "next_page": null,
              "prev_page": null
            }
          }
        }
      },
      "directbillingTransactionCreateAll": {
        "type": "object",
        "required": [
          "amount"
        ],
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "description": "Kwota transakcji"
          },
          "amountType": {
            "type": "string",
            "enum": [
              "required",
              "net",
              "gross"
            ],
            "default": "gross",
            "description": "Typ kwoty transakcji\n- `required` - ryczałtowa kwota jaką chce uzykać partner, końcowa kwota do zapłaty będzie widoczna na bramce i zależna od operatora\n- `net` - kwota netto\n- `gross` - kwota brutto\n"
          },
          "description": {
            "type": "string",
            "maximum": 128,
            "description": "Opis transakcji widoczny na bramce płatniczej"
          },
          "control": {
            "type": "string",
            "maximum": 128,
            "description": "Parametr do wykorzystania przez partnera w celu np. identyfikacji transakcji"
          },
          "returns": {
            "type": "object",
            "description": "Adresy URL do przekierowania klienta po transakcji",
            "properties": {
              "success": {
                "type": "string",
                "format": "url",
                "description": "Adres na jaki klient miał zostać przekierowany po prawidłowej transakcji"
              },
              "failure": {
                "type": "string",
                "format": "url",
                "description": "Adres na jaki klient miał zostać przekierowany po nie prawidłowej transakcji"
              }
            }
          },
          "phoneNumber": {
            "type": "string",
            "description": "Wymuszony numer telefonu"
          },
          "steamid": {
            "type": "string",
            "format": "steamId64",
            "description": "Opcjonalne pole ( steamid64 )"
          }
        },
        "example": {
          "amount": 19.99,
          "amountType": "gross",
          "description": "Płatność za wirtualne produkty",
          "control": "96125f23-d549-4bfc-a845-b781b5f1ad03",
          "returns": {
            "success": "https://www.simpay.pl/success",
            "failure": "https://www.simpay.pl/failure"
          },
          "phoneNumber": "48123123123"
        }
      },
      "directbillingTransactionCreateOnlyNecessary": {
        "type": "object",
        "required": [
          "amount"
        ],
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "description": "Kwota transakcji"
          }
        },
        "example": {
          "amount": 19.99
        }
      },
      "TransactionId": {
        "type": "string",
        "format": "uuid",
        "description": "Id transakcji",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "minLength": 36,
        "maxLength": 36
      },
      "RefundId": {
        "type": "string",
        "format": "uuid",
        "description": "Id zwrotu",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "minLength": 36,
        "maxLength": 36
      },
      "SubscriptionId": {
        "type": "string",
        "format": "uuid",
        "description": "Id subskrypcji",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "minLength": 36,
        "maxLength": 36
      },
      "AliasId": {
        "type": "string",
        "format": "uuid",
        "description": "Id aliasu",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "minLength": 36,
        "maxLength": 36
      },
      "directbillingTransactionCreateResponse": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "object",
            "required": [
              "transactionId",
              "redirectUrl"
            ],
            "properties": {
              "transactionId": {
                "$ref": "#/components/schemas/TransactionId"
              },
              "redirectUrl": {
                "type": "string",
                "format": "url"
              }
            }
          }
        },
        "example": {
          "success": true,
          "data": {
            "transactionId": "1d87a1b3-18f8-4146-bcb1-c0c9f293b04f",
            "redirectUrl": "https://db.simpay.pl/1d87a1b3-18f8-4146-bcb1-c0c9f293b04f"
          }
        }
      },
      "ErrorUnprocessableContent": {
        "type": "object",
        "required": [
          "success",
          "errorCode",
          "errors"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "errorCode": {
            "type": "string",
            "description": "Error status code",
            "enum": [
              "VALIDATION_ERROR"
            ]
          },
          "errors": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "example": {
          "success": false,
          "errorCode": "VALIDATION_ERROR",
          "errors": {
            "amount": [
              "The amount field is required."
            ],
            "currency": [
              "The selected currency is invalid."
            ]
          }
        }
      },
      "directbillingGetTransactionResponse": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "status",
              "value",
              "value_netto",
              "notify",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "id": {
                "$ref": "#/components/schemas/TransactionId"
              },
              "status": {
                "$ref": "#/components/schemas/directbillingTransactionStatus"
              },
              "phoneNumber": {
                "type": "string",
                "format": "phone",
                "nullable": true
              },
              "control": {
                "type": "string",
                "nullable": true
              },
              "value": {
                "type": "number",
                "format": "float"
              },
              "value_netto": {
                "type": "number",
                "format": "float"
              },
              "operator": {
                "type": "string",
                "nullable": true,
                "enum": [
                  "orange",
                  "plus",
                  "play",
                  "t-mobile"
                ]
              },
              "notify": {
                "type": "object",
                "required": [
                  "is_send",
                  "last_send_at",
                  "count"
                ],
                "properties": {
                  "is_send": {
                    "type": "boolean"
                  },
                  "last_send_at": {
                    "description": "Data ostatniej wysyłki",
                    "$ref": "#/components/schemas/DateTime"
                  },
                  "count": {
                    "type": "integer"
                  }
                }
              },
              "created_at": {
                "$ref": "#/components/schemas/DateTime"
              },
              "updated_at": {
                "$ref": "#/components/schemas/DateTime"
              }
            }
          }
        },
        "example": {
          "success": true,
          "data": {
            "id": "dc261d4f-31ef-4728-bfd6-97bbe2a5ef0a",
            "status": "transaction_db_payed",
            "phoneNumber": null,
            "control": "1d87a1b3-18f8-4146-bcb1-c0c9f293b04f",
            "value": 16.67,
            "value_netto": 10,
            "operator": "t-mobile",
            "notify": {
              "is_send": false,
              "last_send_at": "2023-02-16T14:52:11+01:00",
              "count": 1
            },
            "created_at": "2023-02-16T14:52:11+01:00",
            "updated_at": "2023-02-16T14:52:11+01:00"
          }
        }
      },
      "paymentGetServicesResponse": {
        "type": "object",
        "required": [
          "success",
          "data",
          "pagination"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "name",
                "status",
                "created_at"
              ],
              "properties": {
                "id": {
                  "$ref": "#/components/schemas/ServiceId"
                },
                "name": {
                  "type": "string",
                  "description": "Nazwa usługi"
                },
                "status": {
                  "$ref": "#/components/schemas/ServiceStatus"
                },
                "created_at": {
                  "$ref": "#/components/schemas/DateTime"
                }
              }
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "example": {
          "success": true,
          "data": [
            {
              "id": "d151e4f9",
              "name": "Usługa testowa",
              "status": "service_active",
              "created_at": "2021-11-08T18:19:16+01:00"
            }
          ],
          "pagination": {
            "total": 1,
            "count": 1,
            "per_page": 15,
            "current_page": 1,
            "total_pages": 1,
            "links": {
              "next_page": null,
              "prev_page": null
            }
          }
        }
      },
      "paymentGetServiceResponse": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "name",
              "status",
              "created_at"
            ],
            "properties": {
              "id": {
                "$ref": "#/components/schemas/ServiceId"
              },
              "name": {
                "type": "string",
                "description": "Nazwa usługi"
              },
              "status": {
                "$ref": "#/components/schemas/ServiceStatus"
              },
              "created_at": {
                "$ref": "#/components/schemas/DateTime"
              }
            }
          }
        },
        "example": {
          "success": true,
          "data": {
            "id": "d151e4f9",
            "name": "Usługa testowa",
            "status": "service_active",
            "created_at": "2021-11-08T18:19:16+01:00"
          }
        }
      },
      "paymentGetServiceChannelsResponse": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "name",
                "type",
                "img",
                "commission",
                "currencies",
                "amount"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Id kanału płatności"
                },
                "name": {
                  "type": "string",
                  "description": "Nazwa kanału"
                },
                "type": {
                  "type": "string",
                  "description": "Typ kanału"
                },
                "img": {
                  "type": "string",
                  "format": "url",
                  "description": "Adres URL do grafiki kanału płatności"
                },
                "commission": {
                  "type": "number",
                  "format": "float",
                  "description": "Prowizja pobierana przez SimPay z płatności"
                },
                "currencies": {
                  "type": "array",
                  "description": "Tablica z dostępnymi walutami",
                  "items": {
                    "type": "string"
                  }
                },
                "amount": {
                  "type": "object",
                  "description": "Kwoty dostępne dla kanłu",
                  "items": {
                    "type": "object",
                    "required": [
                      "min",
                      "max"
                    ]
                  },
                  "properties": {
                    "min": {
                      "type": "number",
                      "format": "float",
                      "description": "Kwota minimalna do płatności"
                    },
                    "max": {
                      "type": "number",
                      "format": "float",
                      "description": "Kwota maksymalna do płatności"
                    }
                  }
                }
              }
            }
          }
        },
        "example": {
          "success": true,
          "data": [
            {
              "id": "blik",
              "name": "BLIK",
              "type": "blik",
              "img": "https://img.simpay.pl/transfer/banks/blik.png",
              "commission": 1.5,
              "currencies": [
                "PLN"
              ],
              "amount": {
                "min": 1,
                "max": 20000
              }
            },
            {
              "id": "mbank",
              "name": "mBank",
              "type": "transfer",
              "img": "https://img.simpay.pl/transfer/banks/mbank.png",
              "commission": 1.5,
              "currencies": [
                "PLN"
              ],
              "amount": {
                "min": 1,
                "max": 20000
              }
            }
          ]
        }
      },
      "paymentTransactionStatus": {
        "type": "string",
        "description": "Status transakcji",
        "enum": [
          "transaction_new",
          "transaction_confirmed",
          "transaction_generated",
          "transaction_paid",
          "transaction_failure",
          "transaction_expired",
          "transaction_canceled",
          "transaction_refunded",
          "transaction_fraud",
          "transaction_fraud_possibility"
        ]
      },
      "paymentTransactionRefundStatus": {
        "type": "string",
        "description": "Status zwrotu",
        "enum": [
          "refund_new",
          "refund_pending",
          "refund_completed",
          "refund_rejected",
          "refund_failed"
        ]
      },
      "subscriptionStatus": {
        "type": "string",
        "description": "Status subskrypcji",
        "enum": [
          "subscription_pending",
          "subscription_active",
          "subscription_cancelled",
          "subscription_expired",
          "subscription_finished",
          "subscription_fraudulent"
        ]
      },
      "blikAliasType": {
        "type": "string",
        "description": "Typ aliasu BLIK",
        "enum": [
          "PAYID",
          "UID"
        ]
      },
      "blikAliasStatus": {
        "type": "string",
        "description": "Status aliasu BLIK",
        "enum": [
          "alias_pending_registration",
          "alias_active",
          "alias_expired",
          "alias_unregistered"
        ]
      },
      "blikSubscriptionModel": {
        "type": "string",
        "description": "Model Płatności Powtarzalnej BLIK",
        "enum": [
          "A",
          "O",
          "M"
        ]
      },
      "subscriptionMode": {
        "type": "string",
        "description": "Tryb subskrypcji",
        "enum": [
          "BLIK",
          "CARD"
        ]
      },
      "subscriptionCancelledBy": {
        "type": "string",
        "description": "Subskrypcja anulowana przez",
        "enum": [
          "system",
          "antifraud",
          "merchant",
          "payer",
          "blik"
        ]
      },
      "paymentGetTransactionsResponse": {
        "type": "object",
        "required": [
          "success",
          "data",
          "pagination"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "status",
                "amount",
                "control",
                "channel",
                "paid_at",
                "created_at",
                "updated_at"
              ],
              "properties": {
                "id": {
                  "$ref": "#/components/schemas/TransactionId"
                },
                "status": {
                  "$ref": "#/components/schemas/paymentTransactionStatus"
                },
                "amount": {
                  "type": "number",
                  "format": "float"
                },
                "control": {
                  "type": "string"
                },
                "channel": {
                  "type": "string"
                },
                "paid_at": {
                  "$ref": "#/components/schemas/DateTime"
                },
                "created_at": {
                  "$ref": "#/components/schemas/DateTime"
                },
                "updated_at": {
                  "$ref": "#/components/schemas/DateTime"
                }
              }
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "example": {
          "success": true,
          "data": [
            {
              "id": "528bd43f-d08a-43f5-9462-861e54db37bf",
              "status": "transaction_paid",
              "amount": 24.99,
              "control": null,
              "channel": "nest",
              "paid_at": "2023-12-07T05:21:50+01:00",
              "created_at": "2023-12-07T05:20:30+01:00",
              "updated_at": "2023-12-07T05:21:50+01:00"
            },
            {
              "id": "0238d92e-0dd9-469a-9aa9-0505974336a3",
              "status": "transaction_paid",
              "amount": 24.99,
              "control": null,
              "channel": "blik",
              "paid_at": "2023-12-07T06:21:50+01:00",
              "created_at": "2023-12-07T06:20:30+01:00",
              "updated_at": "2023-12-07T06:21:50+01:00"
            }
          ],
          "pagination": {
            "total": 2,
            "count": 2,
            "per_page": 15,
            "current_page": 1,
            "total_pages": 1,
            "links": {
              "next_page": null,
              "prev_page": null
            }
          }
        }
      },
      "paymentGetTransactionRefundsResponse": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "status",
                "amount",
                "currency",
                "wallet_amount",
                "wallet_currency",
                "created_at",
                "updated_at"
              ],
              "properties": {
                "id": {
                  "$ref": "#/components/schemas/RefundId"
                },
                "status": {
                  "$ref": "#/components/schemas/paymentTransactionRefundStatus"
                },
                "amount": {
                  "type": "number",
                  "format": "float",
                  "description": "Kwota zwrotu w walucie płacącego"
                },
                "currency": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 3,
                  "description": "Waluta płacącego"
                },
                "wallet_amount": {
                  "type": "number",
                  "format": "float",
                  "description": "Kwota zwrotu pobrana z portfela"
                },
                "wallet_currency": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 3,
                  "description": "Waluta portfela"
                },
                "created_at": {
                  "$ref": "#/components/schemas/DateTime"
                },
                "updated_at": {
                  "$ref": "#/components/schemas/DateTime"
                }
              }
            }
          }
        },
        "example": {
          "success": true,
          "data": [
            {
              "id": "019483a5-885e-70f7-9b5b-94387a6690da",
              "status": "refund_completed",
              "amount": 1,
              "currency": "PLN",
              "wallet_amount": 1,
              "wallet_currency": "PLN",
              "created_at": "2025-01-20T13:17:31+01:00",
              "updated_at": "2025-01-20T13:17:59+01:00"
            }
          ]
        }
      },
      "paymentShowTransactionRefundResponse": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "status",
              "amount",
              "currency",
              "wallet_amount",
              "wallet_currency",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "id": {
                "$ref": "#/components/schemas/RefundId"
              },
              "status": {
                "$ref": "#/components/schemas/paymentTransactionRefundStatus"
              },
              "amount": {
                "type": "number",
                "format": "float",
                "description": "Kwota zwrotu w walucie płacącego"
              },
              "currency": {
                "type": "string",
                "minLength": 3,
                "maxLength": 3,
                "description": "Waluta płacącego"
              },
              "wallet_amount": {
                "type": "number",
                "format": "float",
                "description": "Kwota zwrotu pobrana z portfela"
              },
              "wallet_currency": {
                "type": "string",
                "minLength": 3,
                "maxLength": 3,
                "description": "Waluta portfela"
              },
              "created_at": {
                "$ref": "#/components/schemas/DateTime"
              },
              "updated_at": {
                "$ref": "#/components/schemas/DateTime"
              }
            }
          }
        },
        "example": {
          "success": true,
          "data": {
            "id": "019483a5-885e-70f7-9b5b-94387a6690da",
            "status": "refund_completed",
            "amount": 1,
            "currency": "PLN",
            "wallet_amount": 1,
            "wallet_currency": "PLN",
            "created_at": "2025-01-20T13:17:31+01:00",
            "updated_at": "2025-01-20T13:17:59+01:00"
          }
        }
      },
      "paymentMakeTransactionRefundResponse": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "object",
            "required": [
              "refund_id"
            ],
            "properties": {
              "refund_id": {
                "$ref": "#/components/schemas/RefundId"
              }
            }
          }
        },
        "example": {
          "success": true,
          "data": {
            "refund_id": "019483a5-885e-70f7-9b5b-94387a6690da"
          }
        }
      },
      "paymentGetSubscriptionsResponse": {
        "type": "object",
        "required": [
          "success",
          "data",
          "pagination"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "status",
                "mode",
                "created_at",
                "updated_at"
              ],
              "properties": {
                "id": {
                  "$ref": "#/components/schemas/SubscriptionId"
                },
                "status": {
                  "$ref": "#/components/schemas/subscriptionStatus"
                },
                "mode": {
                  "$ref": "#/components/schemas/subscriptionMode"
                },
                "blik": {
                  "type": "object",
                  "required": [
                    "model",
                    "alias"
                  ],
                  "properties": {
                    "model": {
                      "$ref": "#/components/schemas/blikSubscriptionModel"
                    },
                    "alias": {
                      "type": "object",
                      "required": [
                        "id",
                        "type",
                        "value",
                        "label",
                        "status",
                        "created_at",
                        "updated_at"
                      ],
                      "properties": {
                        "id": {
                          "$ref": "#/components/schemas/AliasId"
                        },
                        "type": {
                          "$ref": "#/components/schemas/blikAliasType"
                        },
                        "value": {
                          "type": "string",
                          "description": "Wartość aliasu",
                          "example": "AABBCC",
                          "maxLength": 64
                        },
                        "label": {
                          "type": "string",
                          "description": "Etykieta wyświetlana w aplikacji mobilnej",
                          "example": "Płatność za pakiet premium w serwisie aaa",
                          "maxLength": 35
                        },
                        "blik_key": {
                          "type": "string",
                          "description": "Identyfikator aliasu w BLIK (w przypadku aliasu PAYID będzie pusty)",
                          "nullable": true,
                          "example": null
                        },
                        "status": {
                          "$ref": "#/components/schemas/blikAliasStatus"
                        },
                        "expires_at": {
                          "$ref": "#/components/schemas/DateTime"
                        },
                        "created_at": {
                          "$ref": "#/components/schemas/DateTime"
                        },
                        "updated_at": {
                          "$ref": "#/components/schemas/DateTime"
                        }
                      }
                    }
                  }
                },
                "frequency": {
                  "type": "string",
                  "nullable": true,
                  "description": "Częstotliwość subskrypcji",
                  "example": "1M"
                },
                "initiation_date": {
                  "type": "string",
                  "nullable": true,
                  "description": "Data pierwszej możliwej Płatności Powtarzalnej",
                  "example": "2025-08-13T23:15:13+02:00"
                },
                "total_amount_limit": {
                  "type": "number",
                  "nullable": true,
                  "description": "Całkowita kwota, która jest dla tej Płatności Powtarzalnej",
                  "example": 4000
                },
                "total_transactions_limit": {
                  "type": "integer",
                  "nullable": true,
                  "description": "Całkowita ilość możliwych transakcji dla Płatności Powtarzalnej",
                  "example": 12
                },
                "cancelled": {
                  "type": "object",
                  "nullable": true,
                  "required": [
                    "by"
                  ],
                  "properties": {
                    "by": {
                      "$ref": "#/components/schemas/subscriptionCancelledBy"
                    },
                    "reason": {
                      "type": "string",
                      "nullable": true,
                      "description": "Powód anulowania subskrypcji",
                      "maxLength": 32
                    }
                  }
                },
                "created_at": {
                  "$ref": "#/components/schemas/DateTime"
                },
                "updated_at": {
                  "$ref": "#/components/schemas/DateTime"
                }
              }
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "example": {
          "success": true,
          "data": [
            {
              "id": "019970c6-3d3e-708c-9313-5f89e251e2c0",
              "status": "subscription_active",
              "mode": "BLIK",
              "blik": {
                "model": "O",
                "alias": {
                  "id": "019970c6-3ce8-71e7-8214-20fd635532fb",
                  "type": "PAYID",
                  "value": "AABBCC",
                  "label": "Płatność za pakiet premium",
                  "blik_key": null,
                  "status": "alias_active",
                  "expires_at": "2035-07-15T00:00:00+02:00",
                  "created_at": "2025-09-22T11:34:23+02:00",
                  "updated_at": "2025-09-22T11:34:32+02:00"
                }
              },
              "frequency": null,
              "initiation_date": null,
              "total_amount_limit": null,
              "total_transactions_limit": null,
              "cancelled": null,
              "created_at": "2025-09-22T11:34:24+02:00",
              "updated_at": "2025-09-22T11:34:32+02:00"
            },
            {
              "id": "0198a54d-05e1-72b8-b835-f2258609bb52",
              "status": "subscription_cancelled",
              "mode": "BLIK",
              "blik": {
                "model": "O",
                "alias": {
                  "id": "0198a54d-05d9-7177-9ac6-5d9831bc988d",
                  "type": "PAYID",
                  "value": "CCBBAA",
                  "label": "Subskrypcja za muzykę",
                  "blik_key": null,
                  "status": "alias_unregistered",
                  "expires_at": null,
                  "created_at": "2025-08-13T23:19:05+02:00",
                  "updated_at": "2025-08-13T23:19:16+02:00"
                }
              },
              "frequency": "1M",
              "initiation_date": "2025-08-13T23:15:13+02:00",
              "total_amount_limit": null,
              "total_transactions_limit": null,
              "cancelled": {
                "by": "merchant",
                "reason": "Rezygnacja przez użytkownika"
              },
              "created_at": "2025-08-13T23:19:05+02:00",
              "updated_at": "2025-08-13T23:19:16+02:00"
            }
          ],
          "pagination": {
            "total": 2,
            "count": 2,
            "per_page": 20,
            "current_page": 1,
            "total_pages": 1,
            "links": {
              "next_page": null,
              "prev_page": null
            }
          }
        }
      },
      "paymentGetBlikAliasesResponse": {
        "type": "object",
        "required": [
          "success",
          "data",
          "pagination"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "type",
                "value",
                "label",
                "status",
                "created_at",
                "updated_at"
              ],
              "properties": {
                "id": {
                  "$ref": "#/components/schemas/AliasId"
                },
                "type": {
                  "$ref": "#/components/schemas/blikAliasType"
                },
                "value": {
                  "type": "string",
                  "description": "Wartość aliasu",
                  "example": "AABBCC",
                  "maxLength": 64
                },
                "label": {
                  "type": "string",
                  "description": "Etykieta wyświetlana w aplikacji mobilnej",
                  "example": "Płatność za pakiet premium w serwisie aaa",
                  "maxLength": 35
                },
                "blik_key": {
                  "type": "string",
                  "description": "Identyfikator aliasu w BLIK (w przypadku aliasu PAYID będzie pusty)",
                  "nullable": true,
                  "example": null
                },
                "status": {
                  "$ref": "#/components/schemas/blikAliasStatus"
                },
                "expires_at": {
                  "$ref": "#/components/schemas/DateTime"
                },
                "created_at": {
                  "$ref": "#/components/schemas/DateTime"
                },
                "updated_at": {
                  "$ref": "#/components/schemas/DateTime"
                },
                "subscription": {
                  "type": "object",
                  "required": [
                    "id",
                    "status",
                    "mode",
                    "created_at",
                    "updated_at"
                  ],
                  "properties": {
                    "id": {
                      "$ref": "#/components/schemas/SubscriptionId"
                    },
                    "status": {
                      "$ref": "#/components/schemas/subscriptionStatus"
                    },
                    "mode": {
                      "$ref": "#/components/schemas/subscriptionMode"
                    },
                    "blik": {
                      "type": "object",
                      "required": [
                        "model"
                      ],
                      "properties": {
                        "model": {
                          "$ref": "#/components/schemas/blikSubscriptionModel"
                        }
                      }
                    },
                    "frequency": {
                      "type": "string",
                      "nullable": true,
                      "description": "Częstotliwość subskrypcji",
                      "example": "1M"
                    },
                    "initiation_date": {
                      "type": "string",
                      "nullable": true,
                      "description": "Data pierwszej możliwej Płatności Powtarzalnej",
                      "example": "2025-08-13T23:15:13+02:00"
                    },
                    "total_amount_limit": {
                      "type": "number",
                      "nullable": true,
                      "description": "Całkowita kwota, która jest dla tej Płatności Powtarzalnej",
                      "example": 4000
                    },
                    "total_transactions_limit": {
                      "type": "integer",
                      "nullable": true,
                      "description": "Całkowita ilość możliwych transakcji dla Płatności Powtarzalnej",
                      "example": 12
                    },
                    "cancelled": {
                      "type": "object",
                      "nullable": true,
                      "required": [
                        "by"
                      ],
                      "properties": {
                        "by": {
                          "$ref": "#/components/schemas/subscriptionCancelledBy"
                        },
                        "reason": {
                          "type": "string",
                          "nullable": true,
                          "description": "Powód anulowania subskrypcji",
                          "maxLength": 32
                        }
                      }
                    },
                    "created_at": {
                      "$ref": "#/components/schemas/DateTime"
                    },
                    "updated_at": {
                      "$ref": "#/components/schemas/DateTime"
                    }
                  }
                }
              }
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "example": {
          "success": true,
          "data": [
            {
              "id": "019970c6-3ce8-71e7-8214-20fd635532fb",
              "type": "PAYID",
              "value": "AABBCC",
              "label": "Płatność za pakiet premium",
              "blik_key": null,
              "status": "alias_active",
              "expires_at": "2035-07-15T00:00:00+02:00",
              "created_at": "2025-09-22T11:34:23+02:00",
              "updated_at": "2025-09-22T11:34:32+02:00",
              "subscription": {
                "id": "019970c6-3d3e-708c-9313-5f89e251e2c0",
                "status": "subscription_active",
                "mode": "BLIK",
                "blik": {
                  "model": "O"
                },
                "frequency": null,
                "initiation_date": null,
                "total_amount_limit": null,
                "total_transactions_limit": null,
                "cancelled": null,
                "created_at": "2025-09-22T11:34:24+02:00",
                "updated_at": "2025-09-22T11:34:32+02:00"
              }
            },
            {
              "id": "0198a54d-05d9-7177-9ac6-5d9831bc988d",
              "type": "PAYID",
              "value": "CCBBAA",
              "label": "Subskrypcja za muzykę",
              "blik_key": null,
              "status": "alias_unregistered",
              "expires_at": null,
              "created_at": "2025-08-13T23:19:05+02:00",
              "updated_at": "2025-08-13T23:19:16+02:00",
              "subscription": {
                "id": "0198a54d-05e1-72b8-b835-f2258609bb52",
                "status": "subscription_cancelled",
                "mode": "BLIK",
                "blik": {
                  "model": "O"
                },
                "frequency": "1M",
                "initiation_date": "2025-08-13T23:15:13+02:00",
                "total_amount_limit": null,
                "total_transactions_limit": null,
                "cancelled": {
                  "by": "merchant",
                  "reason": "Rezygnacja przez użytkownika"
                },
                "created_at": "2025-08-13T23:19:05+02:00",
                "updated_at": "2025-08-13T23:19:16+02:00"
              }
            }
          ],
          "pagination": {
            "total": 2,
            "count": 2,
            "per_page": 20,
            "current_page": 1,
            "total_pages": 1,
            "links": {
              "next_page": null,
              "prev_page": null
            }
          }
        }
      },
      "paymentCustomerFull": {
        "nullable": true,
        "type": "object",
        "required": [
          "name",
          "surname",
          "street",
          "city",
          "postalCode",
          "country"
        ],
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "minLength": 5,
            "maxLength": 64
          },
          "surname": {
            "type": "string",
            "nullable": true,
            "maxLength": 64
          },
          "street": {
            "type": "string",
            "nullable": true,
            "maxLength": 64
          },
          "building": {
            "type": "string",
            "nullable": true,
            "maxLength": 16
          },
          "flat": {
            "type": "string",
            "nullable": true,
            "maxLength": 16
          },
          "city": {
            "type": "string",
            "nullable": true,
            "maxLength": 32
          },
          "region": {
            "type": "string",
            "nullable": true,
            "maxLength": 32
          },
          "postalCode": {
            "type": "string",
            "nullable": true,
            "description": "Kod pocztowy, format zależny od pola `country`"
          },
          "country": {
            "type": "string",
            "nullable": true,
            "format": "ISO 3166-1 alpha-2",
            "description": "Kraj"
          },
          "company": {
            "type": "string",
            "nullable": true,
            "description": "Nazwa firmy"
          }
        }
      },
      "paymentCartItem": {
        "type": "object",
        "description": "Obiekt pojedyńczego przedmoiotu koszyka",
        "required": [
          "name",
          "quantity",
          "price",
          "producer",
          "category",
          "code"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 3,
            "maxLength": 64,
            "description": "Nazwa produktu"
          },
          "quantity": {
            "type": "number",
            "format": "integer",
            "minimum": 1,
            "description": "Ilość danego produktu"
          },
          "price": {
            "type": "number",
            "format": "float",
            "minimum": 0.01,
            "description": "Kwota jednego produktu"
          },
          "producer": {
            "type": "string",
            "nullable": true,
            "maxLength": 64,
            "description": "Marka producneta produktu"
          },
          "category": {
            "type": "string",
            "nullable": true,
            "maxLength": 64,
            "description": "Kategoria produktu"
          },
          "code": {
            "type": "string",
            "nullable": true,
            "maxLength": 64,
            "description": "Kod produktu"
          }
        }
      },
      "paymentCreateTransactionRequest": {
        "type": "object",
        "required": [
          "amount"
        ],
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "description": "Kwota transakcji",
            "minimum": 1
          },
          "currency": {
            "type": "string",
            "description": "Waluta transakcji",
            "default": "PLN"
          },
          "description": {
            "type": "string",
            "description": "Opis transakcji nadany przez partnera, prezentowany na bramce płatności",
            "maxLength": 64
          },
          "control": {
            "type": "string",
            "description": "Pole do wykorzystania przez partnera",
            "maxLength": 255
          },
          "customer": {
            "type": "object",
            "nullable": true,
            "description": "Obiekt podstawowych informacji o płacącym",
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 64
              },
              "email": {
                "type": "string",
                "format": "email",
                "maxLength": 64
              },
              "ip": {
                "type": "string",
                "format": "ip",
                "description": "Adres IP kupującego. Wymagany przy używaniu directChannel."
              },
              "countryCode": {
                "type": "string",
                "format": "country",
                "description": "Kod ISO kupującego. Wymagany przy używaniu directChannel.",
                "example": "PL"
              }
            }
          },
          "antifraud": {
            "type": "object",
            "nullable": true,
            "description": "Obiekt informacji do antifrauda",
            "properties": {
              "useragent": {
                "type": "string",
                "description": "UserAgent kupującego. Wymagany przy używaniu directChannel.",
                "maxLength": 255
              },
              "steamid": {
                "type": "integer",
                "format": "int64",
                "description": "STEAMID64 kupującego",
                "maxLength": 64
              },
              "mcusername": {
                "type": "string",
                "description": "Nick gracza Minecraft",
                "maxLength": 64
              },
              "mcid": {
                "type": "string",
                "description": "UUID gracza Minecraft",
                "maxLength": 64
              }
            }
          },
          "billing": {
            "$ref": "#/components/schemas/paymentCustomerFull"
          },
          "shipping": {
            "$ref": "#/components/schemas/paymentCustomerFull"
          },
          "cart": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/paymentCartItem"
            }
          },
          "returns": {
            "type": "object",
            "nullable": true,
            "properties": {
              "success": {
                "type": "string",
                "format": "url"
              },
              "failure": {
                "type": "string",
                "format": "url"
              }
            }
          },
          "directChannel": {
            "type": "string",
            "description": "W tym polu można przesłać Id kanału, wtedy płacący zostanie przekierowany od razu na stronę podanego kanału\nnp. przy podaniu `blik` zostanie przekierowany od razu na bramkę płatności BLIK. Wymagane jest wtedy przesłanie `antifraud.useragent` oraz `customer.ip`.\n"
          },
          "channels": {
            "type": "array",
            "nullable": true,
            "description": "Tablica z Id kanałów płatności, które zostaną wyświetlone płacącemu na bramce po przekierowaniu na url transakcji<br/>\nListę dostępnych kanałów wraz z ich Id możemy uzyskać tutaj [Pobieranie listy kanałów dla usługi](#tag/Payment/operation/paymentGetChannels)\n",
            "items": {
              "type": "string"
            }
          },
          "channelTypes": {
            "type": "object",
            "nullable": true,
            "description": "Obiekt w którym możemy zdefiniować które typu kanłów mają być dostępne na bramce płatności\n",
            "properties": {
              "blik": {
                "type": "boolean",
                "description": "Płatność BLIK"
              },
              "transfer": {
                "type": "boolean",
                "description": "Płatności przelewami online"
              },
              "cards": {
                "type": "boolean",
                "description": "Płatności kartami"
              },
              "ewallets": {
                "type": "boolean",
                "description": "Płatności wirtualnymi portfelami (Google Pay, Apple Pay)"
              },
              "paypal": {
                "type": "boolean",
                "description": "Płatność PayPal"
              },
              "paysafe": {
                "type": "boolean",
                "description": "Płatności od grupy Paysafe (Skrill, PaysafeCard)"
              },
              "latam": {
                "type": "boolean",
                "description": "Płatności Ameryki Południowej (PIX, Boleto, BoletoFlash)"
              }
            }
          },
          "referer": {
            "type": "string",
            "minLength": 6,
            "maxLength": 64
          }
        }
      },
      "paymentTransactionCreateResponse": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "object",
            "required": [
              "transactionId",
              "redirectUrl"
            ],
            "properties": {
              "transactionId": {
                "$ref": "#/components/schemas/TransactionId"
              },
              "redirectUrl": {
                "type": "string",
                "format": "url"
              }
            }
          }
        },
        "example": {
          "success": true,
          "data": {
            "transactionId": "1d87a1b3-18f8-4146-bcb1-c0c9f293b04f",
            "redirectUrl": "https://pay.simpay.pl/1d87a1b3-18f8-4146-bcb1-c0c9f293b04f"
          }
        }
      },
      "paymentGetTransactionResponse": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "payer_transaction_id",
              "status",
              "amount",
              "channel",
              "control",
              "description",
              "redirect",
              "customer",
              "billing",
              "shipping",
              "cart",
              "paid_at",
              "expires_at",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "id": {
                "$ref": "#/components/schemas/TransactionId"
              },
              "payer_transaction_id": {
                "type": "string",
                "description": "Identyfikator transakcji udostępniony płacącemu"
              },
              "status": {
                "$ref": "#/components/schemas/paymentTransactionStatus"
              },
              "amount": {
                "type": "object",
                "required": [
                  "value",
                  "currency",
                  "commission",
                  "commission_currency"
                ],
                "properties": {
                  "value": {
                    "type": "number",
                    "format": "float",
                    "description": "Kwota płatności w walucie kupującego"
                  },
                  "currency": {
                    "type": "string",
                    "format": "ISO-4217",
                    "description": "Waluta kupującego"
                  },
                  "commission": {
                    "type": "number",
                    "format": "float",
                    "nullable": true,
                    "description": "Kwota prowizji dla SimPay"
                  },
                  "commission_currency": {
                    "type": "string",
                    "format": "ISO-4217",
                    "description": "Waluta prowizji (PLN/EUR)"
                  },
                  "original": {
                    "type": "object",
                    "description": "Oryginalne kwoty zadeklarowane przy inicjacji",
                    "properties": {
                      "value": {
                        "type": "number",
                        "format": "float",
                        "nullable": true,
                        "description": "Kwota płatności"
                      },
                      "currency": {
                        "type": "string",
                        "format": "ISO-4217",
                        "nullable": true,
                        "description": "Waluta płatności"
                      },
                      "pln_rate": {
                        "type": "number",
                        "format": "float",
                        "nullable": true,
                        "description": "Kurs NBP waluty"
                      }
                    }
                  }
                }
              },
              "channel": {
                "type": "string",
                "nullable": true
              },
              "control": {
                "type": "string",
                "nullable": true
              },
              "description": {
                "type": "string",
                "nullable": true
              },
              "redirect": {
                "type": "object",
                "required": [
                  "success",
                  "failure"
                ],
                "properties": {
                  "success": {
                    "type": "string",
                    "format": "url",
                    "nullable": true
                  },
                  "failure": {
                    "type": "string",
                    "format": "url",
                    "nullable": true
                  }
                }
              },
              "customer": {
                "type": "object",
                "required": [
                  "name",
                  "email"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "nullable": true
                  },
                  "email": {
                    "type": "string",
                    "format": "email",
                    "nullable": true
                  },
                  "ip": {
                    "type": "string",
                    "format": "ip",
                    "nullable": true
                  },
                  "country": {
                    "type": "string",
                    "format": "CountryCode",
                    "nullable": true
                  }
                }
              },
              "billing": {
                "$ref": "#/components/schemas/paymentCustomerFull"
              },
              "shipping": {
                "$ref": "#/components/schemas/paymentCustomerFull"
              },
              "cart": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/paymentCartItem"
                }
              },
              "paid_at": {
                "$ref": "#/components/schemas/DateTime"
              },
              "expires_at": {
                "$ref": "#/components/schemas/DateTime"
              },
              "created_at": {
                "$ref": "#/components/schemas/DateTime"
              },
              "updated_at": {
                "$ref": "#/components/schemas/DateTime"
              }
            }
          }
        },
        "example": {
          "success": true,
          "data": {
            "id": "328bd42d-d08b-43f6-9463-869e5bd32b4",
            "payer_transaction_id": "477YDX14",
            "status": "transaction_paid",
            "amount": {
              "value": 7.55,
              "currency": "BRL",
              "commission": 0.12,
              "commission_currency": "EUR",
              "original": {
                "value": 5,
                "currency": "PLN",
                "pln_rate": 1
              }
            },
            "channel": "nest",
            "control": null,
            "description": null,
            "redirect": {
              "success": null,
              "failure": null
            },
            "customer": {
              "name": null,
              "email": "kontakt@simpay.pl",
              "ip": "192.168.0.1",
              "country": "PL"
            },
            "billing": {
              "name": null,
              "surname": null,
              "street": null,
              "building": null,
              "flat": null,
              "city": null,
              "region": null,
              "postalCode": null,
              "country": null,
              "company": null
            },
            "shipping": {
              "name": null,
              "surname": null,
              "street": null,
              "building": null,
              "flat": null,
              "city": null,
              "region": null,
              "postalCode": null,
              "country": null,
              "company": null
            },
            "cart": null,
            "paid_at": "2023-12-07T05:21:50+01:00",
            "expires_at": null,
            "created_at": "2023-12-07T05:20:30+01:00",
            "updated_at": "2023-12-07T05:21:50+01:00"
          }
        }
      },
      "paymentGetCurrenciesResponse": {
        "type": "object",
        "required": [
          "success",
          "data"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Request status"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "iso",
                "pln_rate",
                "nbp_table",
                "updated_at"
              ],
              "properties": {
                "iso": {
                  "type": "string",
                  "description": "Kod ISO waluty (PLN, USD, EUR, BRL etc.)"
                },
                "pln_rate": {
                  "type": "string",
                  "description": "Kurs waluty według kursu NBP"
                },
                "nbp_table": {
                  "type": "string",
                  "description": "Tabela do kursu NBP"
                },
                "prefix": {
                  "type": "string",
                  "nullable": true,
                  "description": "Prefiks waluty"
                },
                "suffix": {
                  "type": "string",
                  "nullable": true,
                  "description": "Sufiks waluty"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date",
                  "description": "Data ostatniej aktualizacji waluty"
                }
              }
            }
          }
        },
        "example": {
          "success": true,
          "data": [
            {
              "iso": "PLN",
              "pln_rate": "1.0000000000",
              "nbp_table": "A",
              "prefix": null,
              "suffix": " zł",
              "updated_at": "2025-05-10T13:04:32+02:00"
            },
            {
              "iso": "EUR",
              "pln_rate": "4.3238000000",
              "nbp_table": "A",
              "prefix": "€",
              "suffix": null,
              "updated_at": "2025-05-10T13:04:32+02:00"
            },
            {
              "iso": "ARS",
              "pln_rate": "0.0034150000",
              "nbp_table": "B",
              "prefix": "ARS$",
              "suffix": null,
              "updated_at": "2025-05-10T13:04:32+02:00"
            }
          ]
        }
      },
      "paymentBlik0TransactionRequest": {
        "type": "object",
        "required": [
          "ticket"
        ],
        "properties": {
          "ticket": {
            "type": "object",
            "nullable": false,
            "description": "Obiekt kodu BLIK",
            "required": [
              "T6"
            ],
            "properties": {
              "T6": {
                "type": "string",
                "maxLength": 6,
                "minLength": 6,
                "description": "6-cyfrowy Kod BLIK"
              }
            }
          }
        },
        "example": {
          "ticket": {
            "T6": "123123"
          }
        }
      },
      "paymentBlikSubscriptionCreateRequest": {
        "type": "object",
        "required": [
          "transactionId",
          "ticket",
          "alias",
          "options"
        ],
        "properties": {
          "transactionId": {
            "$ref": "#/components/schemas/TransactionId"
          },
          "ticket": {
            "type": "object",
            "nullable": false,
            "description": "Obiekt kodu BLIK",
            "required": [
              "T6"
            ],
            "properties": {
              "T6": {
                "type": "string",
                "maxLength": 6,
                "minLength": 6,
                "description": "6-cyfrowy Kod BLIK"
              }
            },
            "example": {
              "T6": "462755"
            }
          },
          "alias": {
            "type": "object",
            "nullable": false,
            "description": "Informacje o Aliasie BLIK",
            "required": [
              "value",
              "type"
            ],
            "properties": {
              "value": {
                "type": "string",
                "maxLength": 64,
                "minLength": 1,
                "description": "Wartość aliasu (np. ID subskrypcji)"
              },
              "type": {
                "type": "string",
                "enum": [
                  "PAYID"
                ],
                "description": "Typ aliasu (dla subskrypcji - PAYID)"
              },
              "label": {
                "type": "string",
                "maxLength": 35,
                "minLength": 1,
                "description": "Etykieta widoczna w aplikacji bankowej płacącego"
              }
            },
            "example": {
              "value": "AAABBCC",
              "type": "PAYID",
              "label": "Płatność za plan premium w serwisie aaa"
            }
          },
          "options": {
            "oneOf": [
              {
                "type": "object",
                "title": "Model A",
                "description": "Opcje dla modelu A",
                "properties": {
                  "model": {
                    "type": "string",
                    "enum": [
                      "A"
                    ]
                  },
                  "expiresAt": {
                    "type": "string",
                    "format": "datetime",
                    "description": "Data wygaśnięcia aliasu, max +10 lat"
                  },
                  "frequency": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 4,
                    "description": "Częstotliwość subskrypcji"
                  },
                  "amountLimitPerTransaction": {
                    "type": "number",
                    "minimum": 1,
                    "maximum": 4000,
                    "description": "Limit kwoty na pojedynczą transakcję"
                  },
                  "initiationDate": {
                    "type": "string",
                    "format": "date",
                    "description": "Data pierwszej dozwolonej Płatności Powtarzalnej"
                  },
                  "amountLimitTotal": {
                    "type": "number",
                    "minimum": 1,
                    "description": "Całościowy limit kwoty subskrypcji"
                  },
                  "transactionsCountLimit": {
                    "type": "number",
                    "minimum": 1,
                    "description": "Limit ilościowy Płatności Powtarzalnych w ramach jednego aliasu"
                  }
                },
                "required": [
                  "model",
                  "expiresAt",
                  "frequency",
                  "amountLimitPerTransaction",
                  "initiationDate",
                  "amountLimitTotal"
                ],
                "example": {
                  "model": "A",
                  "expiresAt": "2030-09-22",
                  "frequency": "30D",
                  "amountLimitPerTransaction": 30,
                  "initiationDate": "2025-09-22",
                  "amountLimitTotal": 30000
                }
              },
              {
                "type": "object",
                "title": "Model O",
                "description": "Opcje dla modelu O",
                "properties": {
                  "model": {
                    "type": "string",
                    "enum": [
                      "O"
                    ]
                  },
                  "initiationDate": {
                    "type": "string",
                    "format": "date",
                    "description": "Data pierwszej dozwolonej Płatności Powtarzalnej"
                  },
                  "expiresAt": {
                    "type": "string",
                    "format": "datetime",
                    "description": "Data wygaśnięcia aliasu, max +10 lat"
                  }
                },
                "required": [
                  "model"
                ],
                "example": {
                  "model": "O",
                  "expiresAt": "2030-09-22",
                  "initiationDate": "2025-09-22"
                }
              },
              {
                "type": "object",
                "title": "Model M",
                "description": "Opcje dla modelu M",
                "properties": {
                  "model": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  },
                  "frequency": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 4,
                    "description": "Częstotliwość subskrypcji"
                  },
                  "expiresAt": {
                    "type": "string",
                    "format": "datetime",
                    "description": "Data wygaśnięcia aliasu, max +10 lat"
                  },
                  "initiationDate": {
                    "type": "string",
                    "format": "date",
                    "description": "Data pierwszej dozwolonej Płatności Powtarzalnej"
                  }
                },
                "required": [
                  "model"
                ],
                "example": {
                  "model": "O",
                  "expiresAt": "2030-09-22",
                  "initiationDate": "2025-09-22",
                  "frequency": "30D"
                }
              }
            ]
          },
          "descriptions": {
            "type": "object",
            "nullable": true,
            "description": "Dodatkowe opisy przekazywane do banku płacącego",
            "properties": {
              "line1": {
                "type": "string",
                "nullable": true,
                "description": "Linijka nr 1",
                "maxLength": 35
              },
              "line2": {
                "type": "string",
                "nullable": true,
                "description": "Linijka nr 2",
                "maxLength": 35
              },
              "line3": {
                "type": "string",
                "nullable": true,
                "description": "Linijka nr 3",
                "maxLength": 35
              }
            }
          }
        }
      },
      "paymentBlikAliasUnregisterRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "reason": {
            "type": "string",
            "maxLength": 20,
            "nullable": true,
            "description": "Powód wyrejestrowania - zostanie wysłany do BLIK oraz płacącego"
          }
        },
        "oneOf": [
          {
            "type": "object",
            "title": "Wyrejestrowanie przez ID aliasu SimPay",
            "required": [
              "uuid"
            ],
            "properties": {
              "uuid": {
                "$ref": "#/components/schemas/AliasId"
              }
            }
          },
          {
            "type": "object",
            "title": "Wyrejestrowanie przez value + type aliasu",
            "required": [
              "value",
              "type"
            ],
            "properties": {
              "value": {
                "type": "string",
                "maxLength": 64,
                "nullable": false,
                "description": "Wartość aliasu"
              },
              "type": {
                "$ref": "#/components/schemas/blikAliasType"
              }
            }
          }
        ]
      },
      "paymentBlikSubscriptionExecuteAutoPaymentRequest": {
        "type": "object",
        "required": [
          "transactionId"
        ],
        "properties": {
          "transactionId": {
            "$ref": "#/components/schemas/TransactionId"
          },
          "attempt": {
            "type": "integer",
            "nullable": true,
            "description": "Numer ponowienia Płatności Powtarzalnej",
            "minimum": 0,
            "maximum": 9
          },
          "descriptions": {
            "type": "object",
            "nullable": true,
            "description": "Dodatkowe opisy przekazywane do banku płacącego",
            "properties": {
              "line1": {
                "type": "string",
                "nullable": true,
                "description": "Linijka nr 1",
                "maxLength": 35
              },
              "line2": {
                "type": "string",
                "nullable": true,
                "description": "Linijka nr 2",
                "maxLength": 35
              },
              "line3": {
                "type": "string",
                "nullable": true,
                "description": "Linijka nr 3",
                "maxLength": 35
              }
            }
          },
          "alias": {
            "type": "object",
            "nullable": true,
            "description": "Informacje do aliasu",
            "properties": {
              "label": {
                "type": "string",
                "nullable": true,
                "maxLength": 35,
                "description": "Nowa wartość etykiety subskrypcji widoczna w aplikacji bankowej płacącego"
              },
              "noDelay": {
                "type": "boolean",
                "nullable": true,
                "description": "Flaga noDelay (zobacz więcej w zakładce BLIK Płatności Powtarzalne)"
              }
            }
          }
        }
      },
      "directbillingTransactionNotification": {
        "type": "object",
        "required": [
          "id",
          "serviceId",
          "status",
          "values",
          "number_from",
          "provider",
          "signature"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/TransactionId"
          },
          "serviceId": {
            "$ref": "#/components/schemas/ServiceId"
          },
          "status": {
            "$ref": "#/components/schemas/directbillingTransactionStatus"
          },
          "values": {
            "type": "object",
            "description": "Kwoty transakcji",
            "required": [
              "net",
              "gross",
              "partner"
            ],
            "properties": {
              "net": {
                "type": "number",
                "format": "float",
                "description": "Kwota transakcji netto"
              },
              "gross": {
                "type": "number",
                "format": "float",
                "description": "Kwota transakcji brutto"
              },
              "partner": {
                "type": "number",
                "format": "float",
                "description": "Prowizja dla partnera z transakcji"
              }
            }
          },
          "returns": {
            "type": "object",
            "properties": {
              "complete": {
                "type": "string",
                "format": "url",
                "description": "Adres na jaki klient miał zostać przekierowany po prawidłowej transakcji"
              },
              "failure": {
                "type": "string",
                "format": "url",
                "description": "Adres na jaki klient miał zostać przekierowany po nie prawidłowej transakcji"
              }
            }
          },
          "control": {
            "type": "string"
          },
          "number_from": {
            "type": "string",
            "description": "Numer telefonu z jakiego została przeprowadzona transakcja"
          },
          "provider": {
            "type": "integer"
          },
          "signature": {
            "type": "string",
            "description": "Sygnatura notyfikacji [Przeczytaj jak wygenerować sygnature](#tag/DirectBilling/Sygnatura/Obliczanie-sygnatury-przy-odbieraniu-notyfikacji)"
          }
        },
        "example": {
          "id": "dc261d4f-31ef-4728-bfd6-97bbe2a5ef0a",
          "serviceId": "e14f8074",
          "status": "transaction_db_payed",
          "values": {
            "net": 11.07,
            "gross": 13.61,
            "partner": 5
          },
          "returns": {
            "complete": "https://www.simpay.pl/complete",
            "failure": "https://www.simpay.pl/failure"
          },
          "number_from": "48123123123",
          "provider": 1,
          "signature": "a3116cf4f1e960223c2cc3088bf387278b6675255209bdeaf96a2f316a2fadc1"
        }
      },
      "paymentTransactionNotification": {
        "type": "object"
      }
    },
    "responses": {
      "Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponseUnauthorized"
            }
          }
        }
      },
      "Forbidden": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponseForbidden"
            }
          }
        }
      },
      "NotFound": {
        "description": "NotFound",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponseNotFound"
            }
          }
        }
      },
      "UnprocessableContent": {
        "description": "Unprocessable Content",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorUnprocessableContent"
            }
          }
        }
      }
    },
    "requestBodies": {
      "smsServiceCheckCode": {
        "description": "",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/smsCodeWithNumber"
                },
                {
                  "$ref": "#/components/schemas/smsCodeWithoutNumber"
                }
              ]
            }
          }
        }
      },
      "directbillingTransactionCreateOnlyNecessary": {
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/directbillingTransactionCreateAll"
                },
                {
                  "$ref": "#/components/schemas/directbillingTransactionCreateOnlyNecessary"
                }
              ]
            }
          }
        }
      }
    }
  }
}