{
  "openapi": "3.0.1",
  "x-stoplight": {
    "id": "c6mm7uj7zp3wj"
  },
  "info": {
    "title": "Ecommerce",
    "version": "v1",
    "description": "REST API for ecommerce operations — payment buttons, payment links, and payment requests. All endpoints require a valid Bearer token and the X-Session, X-Partner-Id, and X-Application-Id headers."
  },
  "paths": {
    "/ecommerce/v1/payment-buttons": {
      "get": {
        "tags": [
          "Button"
        ],
        "summary": "List of Payment Buttons",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": true,
            "description": "Page number for pagination (1-based).",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "example": 1
            },
            "example": 1
          },
          {
            "name": "size",
            "in": "query",
            "required": true,
            "description": "Number of items per page.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "example": 20
            },
            "example": 20
          },
          {
            "name": "status",
            "in": "query",
            "description": "Filter by button status. Returns all statuses if omitted.",
            "schema": {
              "type": "string",
              "enum": [
                "None",
                "Active",
                "Disabled",
                "Expired",
                "Forbidden"
              ]
            }
          },
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Models.PaginatedList`1[Application.Common.Models.Button.Response.ButtonLinksResponseModel]"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "items": [
                        {
                          "code": "B6T9KPKY3BQ98",
                          "url": "https://demo.mypos.eu/vmp/btn/B6T9KPKY3BQ9",
                          "custom_name": "Test Button",
                          "amount": 0.2,
                          "currency": "EUR",
                          "status": "Active"
                        }
                      ],
                      "page": 0,
                      "page_size": 0,
                      "total_pages": 0,
                      "total_count": 0,
                      "has_previous_page": true,
                      "has_next_page": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "olx12pr2ph125"
        },
        "operationId": "list-of-payment-buttons"
      },
      "post": {
        "tags": [
          "Button"
        ],
        "summary": "Create Payment Button",
        "parameters": [
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "X-Application-Id",
            "required": true,
            "description": "Application identifier assigned during integration setup."
          }
        ],
        "requestBody": {
          "content": {
            "application/json; x-api-version=1": {
              "schema": {
                "$ref": "#/components/schemas/Application.Common.Models.Button.Request.CreateButtonRequestModel"
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "button_size": "Small",
                    "cancel_url": "string",
                    "return_url": "string",
                    "item_name": "Creating a button",
                    "item_price": 0.1,
                    "pref_language": "en",
                    "currency": "EUR",
                    "account_number": "50480563548",
                    "custom_name": "Test Button",
                    "quantity": 1,
                    "website": "https://mywebsite.com/",
                    "ask_for_customer_name": false,
                    "ask_for_shipping_address": false,
                    "ask_for_customer_email": false,
                    "ask_for_customer_phone_number": false,
                    "ask_for_customer_id": false,
                    "send_sms": false,
                    "send_email": false
                  }
                }
              }
            },
            "text/json; x-api-version=1": {
              "schema": {
                "$ref": "#/components/schemas/Application.Common.Models.Button.Request.CreateButtonRequestModel"
              }
            },
            "application/*+json; x-api-version=1": {
              "schema": {
                "$ref": "#/components/schemas/Application.Common.Models.Button.Request.CreateButtonRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Common.Models.Button.Response.CreateButtonResponseModel"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "url": "https://demo.mypos.eu/vmp/btn/B8MQEGCFBG638"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "errors": {
                        "property1": [
                          "string"
                        ],
                        "property2": [
                          "string"
                        ]
                      },
                      "property1": null,
                      "property2": null
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "mitqhkd3d7cfj"
        },
        "operationId": "create-payment-button"
      }
    },
    "/ecommerce/v1/payment-buttons/{code}": {
      "get": {
        "tags": [
          "Button"
        ],
        "summary": "Payment Button Details",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "description": "Unique code identifying the resource.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Common.Models.Button.Response.ButtonLinkDetailsResponseModel"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "created_on": "2025-10-30T14:19:13",
                      "code": "B6T9KPKY3BQ98",
                      "url": "https://demo.mypos.eu/vmp/btn/BE2J9AR8AMB52",
                      "custom_name": "Test Button",
                      "item_name": "Creating a button",
                      "enable": true,
                      "item_price": 0.1,
                      "total_amount": 0.2,
                      "quantity": 2,
                      "button_size": 0,
                      "button_type": 1,
                      "send_sms": false,
                      "send_email": false,
                      "hide_quantity": false,
                      "ask_for_customer_name": false,
                      "ask_for_shipping_address": false,
                      "ask_for_customer_email": false,
                      "ask_for_customer_phone_number": false,
                      "ask_for_customer_id": false,
                      "currency": "EUR",
                      "pref_language": "en",
                      "website": "https://mywebsite.com/",
                      "cancel_url": "string",
                      "return_url": "string",
                      "expire_date": "2025-11-30T14:19:13",
                      "account_number": "50480563548"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "b251zmer7to16"
        },
        "operationId": "payment-button-details"
      },
      "delete": {
        "tags": [
          "Button"
        ],
        "summary": "Delete Payment Button",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "description": "Unique code identifying the resource.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "errors": {
                        "additionalProp1": [
                          "string"
                        ],
                        "additionalProp2": [
                          "string"
                        ],
                        "additionalProp3": [
                          "string"
                        ]
                      },
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "wz6il23r9pst5"
        },
        "operationId": "delete-payment-button"
      },
      "patch": {
        "tags": [
          "Button"
        ],
        "summary": "Update Details of Payment Button",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "description": "Unique code identifying the resource.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json; x-api-version=1": {
              "schema": {
                "$ref": "#/components/schemas/Application.Common.Models.Button.Request.UpdateButtonDetailsRequestModel"
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "website": "https://mywebsite.com/",
                    "cancel_url": "string",
                    "return_url": "string",
                    "button_size": "Small",
                    "pref_lang": "en",
                    "custom_name": "string",
                    "send_sms": false,
                    "send_email": false,
                    "ask_for_customer_name": false,
                    "ask_for_shipping_address": false,
                    "ask_for_customer_email": false,
                    "ask_for_customer_phone_number": false,
                    "ask_for_customer_id": false,
                    "enable": false
                  }
                }
              }
            },
            "text/json; x-api-version=1": {
              "schema": {
                "$ref": "#/components/schemas/Application.Common.Models.Button.Request.UpdateButtonDetailsRequestModel"
              }
            },
            "application/*+json; x-api-version=1": {
              "schema": {
                "$ref": "#/components/schemas/Application.Common.Models.Button.Request.UpdateButtonDetailsRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Common.Models.Button.Response.ButtonLinkDetailsResponseModel"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "created_on": "2025-10-30T14:19:13",
                      "code": "B6T9KPKY3BQ98",
                      "url": "https://demo.mypos.eu/vmp/btn/B6T9KPKY3BQ98",
                      "custom_name": "Test Button",
                      "item_name": "Creating a button",
                      "enable": true,
                      "item_price": 0.1,
                      "total_amount": 0.2,
                      "quantity": 2,
                      "button_size": 0,
                      "button_type": 1,
                      "send_sms": false,
                      "send_email": false,
                      "hide_quantity": false,
                      "ask_for_customer_name": false,
                      "ask_for_shipping_address": false,
                      "ask_for_customer_email": false,
                      "ask_for_customer_phone_number": false,
                      "ask_for_customer_id": false,
                      "currency": "EUR",
                      "pref_language": "en",
                      "website": "https://mywebsite.com/",
                      "cancel_url": "string",
                      "return_url": "string",
                      "expire_date": "2025-11-30T14:19:13",
                      "account_number": "50480563548"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "ryhskmr6lnkfv"
        },
        "operationId": "update-details-of-payment-button"
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "code",
          "in": "path",
          "required": true,
          "description": "Unique identifier of the resource."
        }
      ]
    },
    "/ecommerce/v1/payment-buttons/transactions": {
      "get": {
        "tags": [
          "Button"
        ],
        "summary": "Get Payment Button Transactions List",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": true,
            "description": "Page number for pagination (1-based).",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "example": 1
            },
            "example": 1
          },
          {
            "name": "size",
            "in": "query",
            "required": true,
            "description": "Number of items per page.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "example": 20
            },
            "example": 20
          },
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "X-Partner-Id",
            "required": true,
            "description": "Partner identifier assigned during integration setup."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "description": "Filter results to transactions for a specific button/link code. Returns transactions across all resources if omitted.",
            "name": "code"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "in": "query",
            "description": "Return only transactions on or after this date/time (ISO 8601).",
            "name": "date_from"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "in": "query",
            "description": "Return only transactions on or before this date/time (ISO 8601).",
            "name": "date_to"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Models.PaginatedList`1[Application.Common.Models.Button.Response.ButtonTransactionsResponseModel]"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "items": [
                        {
                          "date": "2025-05-16T17:37:17",
                          "code": "BDYZC4KBNFG98",
                          "custom_name": "test",
                          "amount": 1,
                          "currency": "EUR",
                          "settlement_date": "2025-05-16T17:37:17",
                          "settlement_amount": "1",
                          "settlement_currency": "EUR",
                          "fee": 0.14,
                          "customer_name": "TEST",
                          "customer_address": "test address",
                          "customer_email": "test@mypos.com",
                          "customer_phone": "359888888888",
                          "payment_reference": "MTCOR15253S5OFPX"
                        }
                      ],
                      "page": 0,
                      "page_size": 0,
                      "total_pages": 0,
                      "total_count": 0,
                      "has_previous_page": true,
                      "has_next_page": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "0il4k7bqcfdjw"
        },
        "operationId": "get-payment-button-transactions-list"
      },
      "parameters": []
    },
    "/ecommerce/v1/common/languages": {
      "get": {
        "tags": [
          "Common"
        ],
        "parameters": [
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          },
          {
            "name": "page",
            "in": "query",
            "required": true,
            "description": "Page number for pagination (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "example": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": true,
            "description": "Number of items per page.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "example": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Common.Models.Common.Response.LanguagesResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "errors": {
                        "additionalProp1": [
                          "string"
                        ],
                        "additionalProp2": [
                          "string"
                        ],
                        "additionalProp3": [
                          "string"
                        ]
                      },
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "0ee0jesufdf5w"
        },
        "summary": "List of Languages",
        "operationId": "list-of-languages"
      }
    },
    "/ecommerce/v1/common/settlement-data": {
      "get": {
        "tags": [
          "Common"
        ],
        "parameters": [
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "example": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "Number of items per page.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "example": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Common.Models.Common.Response.SettlementDataResponseModel"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "items": [
                        {
                          "settlement_currency": "EUR",
                          "account": {
                            "account_number": "50480563548",
                            "iban": "IE61MPOS99039050480563",
                            "currency": "EUR",
                            "name": "EUR Account",
                            "is_reserve": true,
                            "is_suspense_account": true
                          }
                        }
                      ],
                      "page": 0,
                      "page_size": 0,
                      "total_pages": 0,
                      "total_count": 0,
                      "has_previous_page": true,
                      "has_next_page": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "errors": {
                        "additionalProp1": [
                          "string"
                        ],
                        "additionalProp2": [
                          "string"
                        ],
                        "additionalProp3": [
                          "string"
                        ]
                      },
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "xglxt7mwer0ue"
        },
        "summary": "Settlement Data",
        "operationId": "settlement-data"
      }
    },
    "/ecommerce/v1/payment-links": {
      "get": {
        "tags": [
          "Link"
        ],
        "summary": "List of Payment Links",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "description": "Filter by link status. Returns all statuses if omitted.",
            "schema": {
              "$ref": "#/components/schemas/Application.Common.Enums.PaymentLinkStatus"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": true,
            "description": "Page number for pagination (1-based).",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "example": 1
            },
            "example": 1
          },
          {
            "name": "size",
            "in": "query",
            "required": true,
            "description": "Number of items per page.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "example": 20
            },
            "example": 20
          },
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Models.PaginatedList`1[Application.Common.Models.Link.Response.PaymentLinkListResponseModel]"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "items": [
                        {
                          "code": "BGOBAFZ65QS08",
                          "url": "https://demo.mypos.eu/vmp/btn/BGOBAFZ65QS08",
                          "custom_name": "Create a Payment Link",
                          "amount": 0.2,
                          "currency": "EUR",
                          "status": "Active"
                        }
                      ],
                      "page": 0,
                      "page_size": 0,
                      "total_pages": 0,
                      "total_count": 0,
                      "has_previous_page": true,
                      "has_next_page": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "errors": {
                        "additionalProp1": [
                          "string"
                        ],
                        "additionalProp2": [
                          "string"
                        ],
                        "additionalProp3": [
                          "string"
                        ]
                      },
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "9teaa7aqh01kz"
        },
        "operationId": "list-of-payment-links"
      },
      "post": {
        "tags": [
          "Link"
        ],
        "summary": "Create Payment Link",
        "parameters": [
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json; x-api-version=1": {
              "schema": {
                "$ref": "#/components/schemas/Application.Common.Models.Link.Request.CreateLinkRequestModel"
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "hide_quantity": false,
                    "expired_date": "2025-05-16T17:37:17",
                    "item_name": "Test Payment Link",
                    "item_price": 1,
                    "pref_language": "en",
                    "currency": "EUR",
                    "account_number": "50480563548",
                    "custom_name": "Testin1g",
                    "quantity": 1,
                    "website": "http://www.mywesbite.com/",
                    "ask_for_customer_name": false,
                    "ask_for_shipping_address": false,
                    "ask_for_customer_email": false,
                    "ask_for_customer_phone_number": false,
                    "ask_for_customer_id": false,
                    "send_sms": false,
                    "send_email": false
                  }
                }
              }
            },
            "text/json; x-api-version=1": {
              "schema": {
                "$ref": "#/components/schemas/Application.Common.Models.Link.Request.CreateLinkRequestModel"
              }
            },
            "application/*+json; x-api-version=1": {
              "schema": {
                "$ref": "#/components/schemas/Application.Common.Models.Link.Request.CreateLinkRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Common.Models.Link.Response.CreateLinkResponseModel"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "url": "https://demo.mypos.eu/vmp/btn/BGOBAFZ65QS08"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "errors": {
                        "additionalProp1": [
                          "string"
                        ],
                        "additionalProp2": [
                          "string"
                        ],
                        "additionalProp3": [
                          "string"
                        ]
                      },
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "7ubfdeyclywua"
        },
        "operationId": "create-payment-link"
      }
    },
    "/ecommerce/v1/payment-links/{code}": {
      "get": {
        "tags": [
          "Link"
        ],
        "summary": "Receive Payment Link Details by Code",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "description": "Unique code identifying the resource.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Common.Models.Link.Response.PaymentLinkResponseModel"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "created_on": "2025-10-20T14:31:50",
                      "code": "BLQ2IYI5LQV79",
                      "url": "https://demo.mypos.eu/vmp/btn/BLQ2IYI5LQV79",
                      "custom_name": "Create a Payment Link",
                      "item_name": "Test Payment Link",
                      "enable": true,
                      "item_price": 0.2,
                      "total_amount": 0.4,
                      "quantity": 2,
                      "button_size": 0,
                      "button_type": 2,
                      "send_sms": true,
                      "send_email": true,
                      "hide_quantity": true,
                      "ask_for_customer_name": true,
                      "ask_for_shipping_address": true,
                      "ask_for_customer_email": true,
                      "ask_for_customer_phone_number": true,
                      "ask_for_customer_id": true,
                      "currency": "EUR",
                      "pref_language": "en",
                      "website": "https://mywebsite.com/",
                      "cancel_url": "string",
                      "return_url": "string",
                      "expire_date": "2025-11-19T12:00:00",
                      "account_number": "50480563548"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "errors": {
                        "additionalProp1": [
                          "string"
                        ],
                        "additionalProp2": [
                          "string"
                        ],
                        "additionalProp3": [
                          "string"
                        ]
                      },
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "t9c6jwkbpi660"
        },
        "operationId": "receive-payment-link-details-by-code"
      },
      "patch": {
        "tags": [
          "Link"
        ],
        "summary": "Edit Payment Link Details",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "description": "Unique code identifying the resource.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json; x-api-version=1": {
              "schema": {
                "$ref": "#/components/schemas/Application.Common.Models.Link.Request.EditPaymentLinkRequestModel"
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "pref_lang": "string",
                    "custom_name": "string",
                    "send_sms": true,
                    "sens_email": true,
                    "ask_for_customer_name": true,
                    "ask_for_shipping_address": true,
                    "ask_for_customer_email": true,
                    "ask_for_customer_phone_number": true,
                    "ask_for_customer_id": true,
                    "enable": true,
                    "hide_quantity": true,
                    "website": "string",
                    "expired_date": "string"
                  }
                },
                "Example 2": {
                  "value": {
                    "pref_lang": "en",
                    "custom_name": "Set Custom Name",
                    "send_sms": true,
                    "sens_email": true,
                    "ask_for_customer_name": true,
                    "ask_for_shipping_address": true,
                    "ask_for_customer_email": true,
                    "ask_for_customer_phone_number": true,
                    "ask_for_customer_id": true,
                    "enable": true,
                    "hide_quantity": true,
                    "website": "https://mywebsite.com/",
                    "expired_date": "2025-11-19T12:00:00"
                  }
                }
              }
            },
            "text/json; x-api-version=1": {
              "schema": {
                "$ref": "#/components/schemas/Application.Common.Models.Link.Request.EditPaymentLinkRequestModel"
              }
            },
            "application/*+json; x-api-version=1": {
              "schema": {
                "$ref": "#/components/schemas/Application.Common.Models.Link.Request.EditPaymentLinkRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Common.Models.Link.Response.PaymentLinkResponseModel"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "created_on": "2025-10-20T14:31:50",
                      "code": "BLQ2IYI5LQV79",
                      "url": "https://demo.mypos.eu/vmp/btn/BLQ2IYI5LQV79",
                      "custom_name": "Create a Payment Link",
                      "item_name": "Test Payment Link",
                      "enable": true,
                      "item_price": 0.2,
                      "total_amount": 0.4,
                      "quantity": 2,
                      "button_size": 0,
                      "button_type": 2,
                      "send_sms": true,
                      "send_email": true,
                      "hide_quantity": true,
                      "ask_for_customer_name": true,
                      "ask_for_shipping_address": true,
                      "ask_for_customer_email": true,
                      "ask_for_customer_phone_number": true,
                      "ask_for_customer_id": true,
                      "currency": "EUR",
                      "pref_language": "en",
                      "website": "https://mywebsite.com/",
                      "cancel_url": "string",
                      "return_url": "string",
                      "expire_date": "2025-11-19T12:00:00",
                      "account_number": "50480563548"
                    }
                  },
                  "Example 2": {
                    "value": {
                      "created_on": "2025-10-20T14:31:50",
                      "code": "BLQ2IYI5LQV79",
                      "url": "https://demo.mypos.eu/vmp/btn/BLQ2IYI5LQV79",
                      "custom_name": "Set Custom Name",
                      "item_name": "string",
                      "enable": true,
                      "item_price": 0.2,
                      "total_amount": 0.4,
                      "quantity": 2,
                      "button_size": 0,
                      "button_type": 2,
                      "send_sms": true,
                      "send_email": true,
                      "hide_quantity": true,
                      "ask_for_customer_name": true,
                      "ask_for_shipping_address": true,
                      "ask_for_customer_email": true,
                      "ask_for_customer_phone_number": true,
                      "ask_for_customer_id": true,
                      "currency": "EUR",
                      "pref_language": "en",
                      "website": "https://mywebsite.com/",
                      "cancel_url": "string",
                      "return_url": "string",
                      "expire_date": "2025-11-19T12:00:00",
                      "account_number": "50480563548"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "errors": {
                        "additionalProp1": [
                          "string"
                        ],
                        "additionalProp2": [
                          "string"
                        ],
                        "additionalProp3": [
                          "string"
                        ]
                      },
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "u8elg45gy8prj"
        },
        "operationId": "edit-payment-link-details"
      },
      "delete": {
        "tags": [
          "Link"
        ],
        "summary": "Delete payment link by code",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "description": "Unique code identifying the resource.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "errors": {
                        "additionalProp1": [
                          "string"
                        ],
                        "additionalProp2": [
                          "string"
                        ],
                        "additionalProp3": [
                          "string"
                        ]
                      },
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "1rfcusgi0zhxb"
        },
        "operationId": "delete-payment-link-by-code"
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "code",
          "in": "path",
          "required": true,
          "description": "Unique identifier of the resource."
        }
      ]
    },
    "/ecommerce/v1/payment-links/transactions": {
      "get": {
        "tags": [
          "Link"
        ],
        "summary": "Receive a list with transactions for the payment links",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "description": "Filter by link status. Returns all statuses if omitted.",
            "schema": {
              "$ref": "#/components/schemas/Application.Common.Enums.PaymentLinkStatus"
            }
          },
          {
            "name": "code",
            "in": "query",
            "description": "Filter results to transactions for a specific link code. Returns transactions across all links if omitted.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date_from",
            "in": "query",
            "description": "Return only transactions on or after this date/time (ISO 8601).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "date_to",
            "in": "query",
            "description": "Return only transactions on or before this date/time (ISO 8601).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": true,
            "description": "Page number for pagination (1-based).",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "example": 1
            },
            "example": 1
          },
          {
            "name": "size",
            "in": "query",
            "required": true,
            "description": "Number of items per page.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "example": 20
            },
            "example": 20
          },
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Models.PaginatedList`1[Application.Common.Models.Link.Response.PaymentLinkTransactionDetailsReponseModel]"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "items": [
                        {
                          "date": "string",
                          "code": "string",
                          "custom_name": "string",
                          "amount": 0,
                          "currency": "string",
                          "settlement_date": "string",
                          "settlement_amount": "string",
                          "settlement_currency": "string",
                          "fee": 0,
                          "customer_name": "string",
                          "customer_address": "string",
                          "customer_email": "string",
                          "customer_phone": "string",
                          "payment_reference": "string"
                        }
                      ],
                      "page": 0,
                      "page_size": 0,
                      "total_pages": 0,
                      "total_count": 0,
                      "has_previous_page": true,
                      "has_next_page": true
                    }
                  },
                  "Example 2": {
                    "value": {
                      "items": [
                        {
                          "date": "2025-05-29T14:21:10",
                          "code": "BIE589ACVLD43",
                          "custom_name": "DEMO",
                          "amount": 1,
                          "currency": "EUR",
                          "settlement_date": "2025-05-29T14:21:11",
                          "settlement_amount": "1",
                          "settlement_currency": "EUR",
                          "fee": 0.29,
                          "customer_name": "DEMO",
                          "customer_address": "string",
                          "customer_email": "string",
                          "customer_phone": "string",
                          "payment_reference": "MTCOS0224461F39K"
                        }
                      ],
                      "page": 0,
                      "page_size": 0,
                      "total_pages": 0,
                      "total_count": 0,
                      "has_previous_page": true,
                      "has_next_page": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "errors": {
                        "additionalProp1": [
                          "string"
                        ],
                        "additionalProp2": [
                          "string"
                        ],
                        "additionalProp3": [
                          "string"
                        ]
                      },
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "k6mvh6pnnrjo4"
        },
        "operationId": "receive-payment-link-transactions-list"
      },
      "parameters": []
    },
    "/ecommerce/v1/payment-requests": {
      "post": {
        "summary": "Create Payment Request",
        "parameters": [
          {
            "name": "X-Session",
            "in": "header",
            "required": true,
            "description": "Merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Partner-Id",
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Application-Id",
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json; x-api-version=1": {
              "schema": {
                "$ref": "#/components/schemas/Application.Common.Models.PaymentRequest.Request.CreatePrRequestModel"
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "amount": 28.78,
                    "currency": "EUR",
                    "client_name": "EUR",
                    "reason": "Test Reason",
                    "booking_text": "Random Text",
                    "dba": "company",
                    "expiry_date": "2025-08-18",
                    "payment_request_lang": "en",
                    "notify_gsm": "+359885885885",
                    "qr_generated": true
                  }
                }
              }
            },
            "text/json; x-api-version=1": {
              "schema": {
                "$ref": "#/components/schemas/Application.Common.Models.PaymentRequest.Request.CreatePrRequestModel"
              }
            },
            "application/*+json; x-api-version=1": {
              "schema": {
                "$ref": "#/components/schemas/Application.Common.Models.PaymentRequest.Request.CreatePrRequestModel"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Common.Models.PaymentRequest.Response.CreatePrResponseModel"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "code": "B9UU2SESPY5Y42",
                      "payment_request_url": "https://demo.mypos.eu/bg/qr-pr/B9UU2SESPY5Y42"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "errors": {
                        "additionalProp1": [
                          "string"
                        ],
                        "additionalProp2": [
                          "string"
                        ],
                        "additionalProp3": [
                          "string"
                        ]
                      },
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "itvqzaz9ctyo4"
        },
        "operationId": "create-payment-request",
        "tags": [
          "Payment-request"
        ]
      },
      "parameters": [],
      "get": {
        "summary": "Receive List of Payment Requests",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "description": "Filter by payment request status. Returns all statuses if omitted.",
            "schema": {
              "$ref": "#/components/schemas/Application.Common.Enums.PaymentRequestStatus"
            }
          },
          {
            "name": "code",
            "in": "query",
            "description": "Filter results to a specific payment request code. Returns all if omitted.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from_amount",
            "in": "query",
            "description": "Return only payment requests with an amount greater than or equal to this value.",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "to_amount",
            "in": "query",
            "description": "Return only payment requests with an amount less than or equal to this value.",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "description": "Filter by ISO 4217 currency code (e.g., `EUR`).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from_date",
            "in": "query",
            "description": "Return only payment requests created on or after this date/time (ISO 8601).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "Return only payment requests created on or before this date/time (ISO 8601).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "client_name",
            "in": "query",
            "description": "Filter by client name (partial match).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reason",
            "in": "query",
            "description": "Filter by payment reason (partial match).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "booking_text",
            "in": "query",
            "description": "Filter by booking text (partial match).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": true,
            "description": "Page number for pagination (1-based).",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "example": 1
            },
            "example": 1
          },
          {
            "name": "size",
            "in": "query",
            "required": true,
            "description": "Number of items per page.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "example": 20
            },
            "example": 20
          },
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Models.PaginatedList`1[Application.Common.Models.PaymentRequest.Response.PrListDetailsResponseModel]"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "items": [
                        {
                          "code": "BF4FWKWIQXPV30",
                          "url": "https://demo.mypos.eu/bg/qr-pr/BF4FWKWIQXPV30",
                          "added_on": "2025-10-31T09:03:03",
                          "client_name": "Test Client Name",
                          "amount": 28.78,
                          "currency": "EUR",
                          "reason": "Test Reason",
                          "booking_text": "Test booking ",
                          "status": "Pending"
                        }
                      ],
                      "page": 1,
                      "page_size": 20,
                      "total_pages": 1,
                      "total_count": 2,
                      "has_previous_page": false,
                      "has_next_page": false
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "errors": {
                        "additionalProp1": [
                          "string"
                        ],
                        "additionalProp2": [
                          "string"
                        ],
                        "additionalProp3": [
                          "string"
                        ]
                      },
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "gguhwlokykocr"
        },
        "operationId": "receive-list-of-payment-requests",
        "tags": [
          "Payment-request"
        ]
      }
    },
    "/ecommerce/v1/payment-requests/{code}": {
      "get": {
        "summary": "Payment Request Details",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "description": "Unique code identifying the resource.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Common.Models.PaymentRequest.Response.PrDetailsResponseModel"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "code": "B9UU2SESPY5Y42",
                      "url": "https://demo.mypos.eu/bg/qr-pr/B9UU2SESPY5Y42",
                      "added_on": "2025-10-31T09:00:00",
                      "client_name": "Test Client",
                      "amount": 28.78,
                      "currency": "EUR",
                      "reason": "Test Reason",
                      "booking_text": "Test booking text",
                      "attempts": 0,
                      "expiry_on": "2025-11-30T23:59:59",
                      "qr_generated": true,
                      "email": "test@mypos.com",
                      "gsm": "+359888888888",
                      "status": "Pending"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "errors": {
                        "additionalProp1": [
                          "string"
                        ],
                        "additionalProp2": [
                          "string"
                        ],
                        "additionalProp3": [
                          "string"
                        ]
                      },
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "type": "string",
                      "title": "string",
                      "status": 0,
                      "detail": "string",
                      "instance": "string",
                      "additionalProp1": "string",
                      "additionalProp2": "string",
                      "additionalProp3": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "or7wodtr8lauy"
        },
        "operationId": "payment-requests-details",
        "tags": [
          "Payment-request"
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "code",
          "in": "path",
          "required": true,
          "description": "Unique identifier of the resource."
        }
      ]
    },
    "/ecommerce/v1/payment-requests/{code}/reminder": {
      "patch": {
        "summary": "Send Payment Request Reminder",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "description": "Unique code identifying the resource.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Session",
            "in": "header",
            "description": "Non-interactive merchant session token identifying the authenticated merchant.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Partner identifier assigned during integration setup.",
            "name": "X-Partner-Id"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "required": true,
            "description": "Application identifier assigned during integration setup.",
            "name": "X-Application-Id"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application.Common.Models.PaymentRequest.Response.PrDetailsResponseModel"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "code": "B9UU2SESPY5Y42",
                      "url": "https://demo.mypos.eu/bg/qr-pr/B9UU2SESPY5Y42",
                      "added_on": "2025-10-31T09:00:00",
                      "client_name": "Test Client",
                      "amount": 28.78,
                      "currency": "EUR",
                      "reason": "Test Reason",
                      "booking_text": "Test booking text",
                      "attempts": 0,
                      "expiry_on": "2025-11-30T23:59:59",
                      "qr_generated": true,
                      "email": "test@mypos.com",
                      "gsm": "+359888888888",
                      "status": "Pending"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "x-stoplight": {
          "id": "uiqtmyq3iw6m0"
        },
        "description": "Reminder is available only for Payhment Requests which are not having 'QR' (qr_generated = **true**).",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "gsm": {
                    "type": "string",
                    "x-stoplight": {
                      "id": "dxsqssn0yjr3p"
                    },
                    "example": "+359885885885"
                  },
                  "email": {
                    "type": "string",
                    "x-stoplight": {
                      "id": "wrbx59b3ytuo5"
                    },
                    "example": "test@mypos.com"
                  }
                }
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "gsm": "+359885885885",
                    "email": "test@mypos.com"
                  }
                }
              }
            }
          }
        },
        "operationId": "send-payment-request-reminder",
        "tags": [
          "Payment-request"
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "code",
          "in": "path",
          "required": true,
          "description": "Unique identifier of the resource."
        }
      ]
    }
  },
  "components": {
    "schemas": {
      "Application.Common.Enums.PaymentButtonSizeEnum": {
        "enum": [
          "Small",
          "Big"
        ],
        "type": "string",
        "description": "Visual size of the payment button widget when embedded on a webpage.\n\n- `Small` — Compact button, suitable for inline or constrained layouts.\n- `Big` — Full-size button, suitable for prominent call-to-action placement.",
        "x-stoplight": {
          "id": "a8tft8yzeirzw"
        }
      },
      "Application.Common.Enums.PaymentButtonStatus": {
        "enum": [
          "None",
          "Active",
          "Disabled",
          "Expired",
          "Forbidden"
        ],
        "type": "string",
        "description": "Status of a payment button.\n\n- `None` — No status; used when filtering is not applied.\n- `Active` — Button is live and can receive payments.\n- `Disabled` — Button has been manually disabled and cannot accept payments.\n- `Expired` — Button has passed its expiry date and can no longer receive payments.\n- `Forbidden` — Button has been blocked by the platform.",
        "x-stoplight": {
          "id": "8pclh2mujh864"
        },
        "example": "Active",
        "x-examples": {
          "Example 1": "None"
        }
      },
      "Application.Common.Enums.PaymentLinkStatus": {
        "enum": [
          "None",
          "Active",
          "Disabled",
          "Expired",
          "Forbidden"
        ],
        "type": "string",
        "description": "Status of a payment link.\n\n- `None` — No status; used when filtering is not applied.\n- `Active` — Link is live and can receive payments.\n- `Disabled` — Link has been manually disabled and cannot accept payments.\n- `Expired` — Link has passed its expiry date and can no longer receive payments.\n- `Forbidden` — Link has been blocked by the platform.",
        "x-stoplight": {
          "id": "0hp1spxrah908"
        },
        "x-examples": {
          "Example 1": "None"
        },
        "example": "Active",
        "x-extension-1": null
      },
      "Application.Common.Enums.PaymentRequestStatus": {
        "enum": [
          "None",
          "Pending",
          "Seen",
          "Failed",
          "Paid",
          "Expired",
          "Cancelled"
        ],
        "type": "string",
        "description": "Current lifecycle status of a payment request.\n\n- `None` — No status; used when filtering is not applied.\n- `Pending` — Payment request has been sent; awaiting customer action.\n- `Seen` — Customer has opened or viewed the payment request.\n- `Failed` — A payment attempt was made but failed.\n- `Paid` — Payment has been completed successfully.\n- `Expired` — Payment request expired before payment was received.\n- `Cancelled` — Payment request was cancelled before completion.",
        "x-stoplight": {
          "id": "f6xeco2bfeoup"
        },
        "example": "Pending"
      },
      "Application.Common.Models.Button.Request.ButtonTransactionsRequestModel": {
        "description": "Filter for looking up payment button transactions by button code and date range.",
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Filter results to transactions for a specific button code. Returns all buttons' transactions if omitted.",
            "nullable": true
          },
          "date_from": {
            "type": "string",
            "format": "date-time",
            "description": "Return only transactions on or after this date/time (ISO 8601).",
            "nullable": true
          },
          "date_to": {
            "type": "string",
            "format": "date-time",
            "description": "Return only transactions on or before this date/time (ISO 8601).",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "x-stoplight": {
          "id": "ovvwacz488pnh"
        }
      },
      "Application.Common.Models.Button.Request.CreateButtonRequestModel": {
        "description": "Request to create a payment button that can be embedded on a website.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "9qoxm63xq258l"
        },
        "x-internal": false,
        "x-examples": {
          "Example 1": {
            "button_size": "Small",
            "cancel_url": "string",
            "return_url": "string",
            "item_name": "Creating a button",
            "item_price": 0.1,
            "pref_language": "en",
            "currency": "EUR",
            "account_number": "50480563548",
            "custom_name": "Test Button",
            "quantity": 1,
            "website": "https://mywebsite.com/",
            "ask_for_customer_name": false,
            "ask_for_shipping_address": false,
            "ask_for_customer_email": false,
            "ask_for_customer_phone_number": false,
            "ask_for_customer_id": false,
            "send_sms": false,
            "send_email": false
          }
        },
        "properties": {
          "button_size": {
            "description": "Visual size of the payment button widget when embedded on a webpage.",
            "$ref": "#/components/schemas/Application.Common.Enums.PaymentButtonSizeEnum"
          },
          "cancel_url": {
            "type": "string",
            "description": "URL the customer is redirected to if they cancel the payment.",
            "nullable": true
          },
          "return_url": {
            "type": "string",
            "description": "URL the customer is redirected to after successful payment.",
            "nullable": true
          },
          "item_name": {
            "type": "string",
            "description": "Name of the product or service displayed on the payment page.",
            "example": "Creating a button",
            "nullable": true
          },
          "item_price": {
            "type": "number",
            "format": "double",
            "description": "Unit price of the item in `currency`.",
            "example": 0.1
          },
          "pref_language": {
            "type": "string",
            "description": "Preferred language for the payment page (ISO 639-1 code, e.g., `en`, `bg`).",
            "example": "en",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code (e.g., `EUR`).",
            "example": "EUR",
            "nullable": true
          },
          "account_number": {
            "type": "string",
            "description": "Merchant account number that will receive the settlement for this button.",
            "example": "50480563548",
            "nullable": true
          },
          "custom_name": {
            "type": "string",
            "description": "Merchant-assigned internal name for identifying this button. Not shown to customers.",
            "example": "Test Button",
            "nullable": true
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "description": "Number of units. The total charge is `item_price × quantity`.",
            "example": 1
          },
          "website": {
            "type": "string",
            "description": "URL of the merchant's website, displayed on the payment page.",
            "example": "https://mywebsite.com/",
            "nullable": true
          },
          "ask_for_customer_name": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer to enter their name. Defaults to `false`.",
            "default": false
          },
          "ask_for_shipping_address": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for a shipping address. Defaults to `false`.",
            "default": false
          },
          "ask_for_customer_email": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for their email address. Defaults to `false`.",
            "default": false
          },
          "ask_for_customer_phone_number": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for their phone number. Defaults to `false`.",
            "default": false
          },
          "ask_for_customer_id": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for a customer ID. Defaults to `false`.",
            "default": false
          },
          "send_sms": {
            "type": "boolean",
            "description": "When `true`, an SMS payment confirmation is sent to the customer. Defaults to `false`.",
            "default": false
          },
          "send_email": {
            "type": "boolean",
            "description": "When `true`, an email payment confirmation is sent to the customer. Defaults to `false`.",
            "default": false
          }
        }
      },
      "Application.Common.Models.Button.Request.UpdateButtonDetailsRequestModel": {
        "description": "Changes to apply to an existing payment button. Omitted fields keep their current value.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "7bp1qyptj1ske"
        },
        "x-examples": {
          "Example 1": {
            "website": "https://mywebsite.com/",
            "cancel_url": "string",
            "return_url": "string",
            "button_size": "Small",
            "pref_lang": "en",
            "custom_name": "string",
            "send_sms": false,
            "send_email": false,
            "ask_for_customer_name": false,
            "ask_for_shipping_address": false,
            "ask_for_customer_email": false,
            "ask_for_customer_phone_number": false,
            "ask_for_customer_id": false,
            "enable": false
          }
        },
        "properties": {
          "website": {
            "type": "string",
            "description": "URL of the merchant's website, displayed on the payment page. Omit to keep the current value.",
            "example": "https://mywebsite.com/",
            "nullable": true
          },
          "cancel_url": {
            "type": "string",
            "description": "URL the customer is redirected to if they cancel the payment. Omit to keep the current value.",
            "example": "https://mywebsite.com/cancel",
            "nullable": true
          },
          "return_url": {
            "type": "string",
            "description": "URL the customer is redirected to after a successful payment. Omit to keep the current value.",
            "example": "https://mywebsite.com/thank-you",
            "nullable": true
          },
          "button_size": {
            "description": "Visual size of the payment button widget when embedded on a webpage. Omit to keep the current value.",
            "$ref": "#/components/schemas/Application.Common.Enums.PaymentButtonSizeEnum"
          },
          "pref_lang": {
            "type": "string",
            "description": "Preferred language for the payment page (ISO 639-1 code, e.g., `en`, `bg`). Omit to keep the current value.",
            "example": "en",
            "nullable": true
          },
          "custom_name": {
            "type": "string",
            "description": "Merchant-assigned internal name for the button. Not shown to customers. Omit to keep the current value.",
            "nullable": true
          },
          "send_sms": {
            "type": "boolean",
            "description": "When `true`, an SMS payment confirmation is sent to the customer. Omit to keep the current value.",
            "default": false,
            "nullable": true
          },
          "send_email": {
            "type": "boolean",
            "description": "When `true`, an email payment confirmation is sent to the customer. Omit to keep the current value.",
            "default": false,
            "nullable": true
          },
          "ask_for_customer_name": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer to enter their name. Omit to keep the current value.",
            "default": false,
            "nullable": true
          },
          "ask_for_shipping_address": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for a shipping address. Omit to keep the current value.",
            "default": false,
            "nullable": true
          },
          "ask_for_customer_email": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for their email address. Omit to keep the current value.",
            "default": false,
            "nullable": true
          },
          "ask_for_customer_phone_number": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for their phone number. Omit to keep the current value.",
            "default": false,
            "nullable": true
          },
          "ask_for_customer_id": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for a customer ID. Omit to keep the current value.",
            "default": false,
            "nullable": true
          },
          "enable": {
            "type": "boolean",
            "description": "When `true`, the button is active and accepts payments. Set to `false` to disable the button. Omit to keep the current value.",
            "default": false,
            "nullable": true
          }
        }
      },
      "Application.Common.Models.Button.Response.ButtonLinkDetailsResponseModel": {
        "description": "The full configuration and current state of a single payment button.",
        "type": "object",
        "x-examples": {
          "Example 1": {
            "created_on": "2025-10-30T12:35:45.656Z",
            "code": "string",
            "url": "string",
            "custom_name": "string",
            "item_name": "string",
            "enable": true,
            "item_price": 0,
            "total_amount": 0,
            "quantity": 0,
            "button_size": 0,
            "button_type": 0,
            "send_sms": true,
            "send_email": true,
            "hide_quantity": true,
            "ask_for_customer_name": true,
            "ask_for_shipping_address": true,
            "ask_for_customer_email": true,
            "ask_for_customer_phone_number": true,
            "ask_for_customer_id": true,
            "currency": "string",
            "pref_language": "string",
            "website": "string",
            "cancel_url": "string",
            "return_url": "string",
            "expire_date": "2025-10-30T12:35:45.656Z",
            "account_number": "string"
          }
        },
        "properties": {
          "created_on": {
            "type": "string",
            "description": "Date and time the button was created.",
            "example": "2025-10-30T14:19:13"
          },
          "code": {
            "type": "string",
            "description": "Unique identifier for this payment button.",
            "example": "B6T9KPKY3BQ98"
          },
          "url": {
            "type": "string",
            "description": "Public URL of the payment button.",
            "example": "https://demo.mypos.eu/vmp/btn/BE2J9AR8AMB52"
          },
          "custom_name": {
            "type": "string",
            "description": "Merchant-assigned internal name.",
            "example": "Test Button"
          },
          "item_name": {
            "type": "string",
            "description": "Name of the product or service displayed on the payment page.",
            "example": "Creating a button"
          },
          "enable": {
            "type": "boolean",
            "description": "`true` if the button is currently active and can accept payments.",
            "default": true
          },
          "item_price": {
            "type": "number",
            "format": "double",
            "description": "Unit price of the item.",
            "example": 0.1
          },
          "total_amount": {
            "type": "number",
            "format": "double",
            "description": "Total charge amount (item_price × quantity).",
            "example": 0.2
          },
          "quantity": {
            "type": "integer",
            "description": "Number of units.",
            "example": 2
          },
          "button_size": {
            "type": "integer",
            "description": "Visual size of the button (0 = Small, 1 = Big).",
            "example": 0
          },
          "button_type": {
            "type": "integer",
            "description": "Type code for the button (0 = None, 1 = Button, 2 = Link, 3 = Paytag).",
            "example": 1
          },
          "send_sms": {
            "type": "boolean",
            "description": "Whether SMS confirmation is sent to the customer after payment.",
            "default": false
          },
          "send_email": {
            "type": "boolean",
            "description": "Whether email confirmation is sent to the customer after payment.",
            "default": false
          },
          "hide_quantity": {
            "type": "boolean",
            "description": "When `true`, the quantity field is hidden from the customer on the payment page.",
            "default": false
          },
          "ask_for_customer_name": {
            "type": "boolean",
            "description": "Whether the payment page prompts the customer to enter their name.",
            "default": false
          },
          "ask_for_shipping_address": {
            "type": "boolean",
            "description": "Whether the payment page prompts the customer for a shipping address.",
            "default": false
          },
          "ask_for_customer_email": {
            "type": "boolean",
            "description": "Whether the payment page prompts the customer for their email address.",
            "default": false
          },
          "ask_for_customer_phone_number": {
            "type": "boolean",
            "description": "Whether the payment page prompts the customer for their phone number.",
            "default": false
          },
          "ask_for_customer_id": {
            "type": "boolean",
            "description": "Whether the payment page prompts the customer for a customer ID.",
            "default": false
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code (e.g., `EUR`).",
            "example": "EUR"
          },
          "pref_language": {
            "type": "string",
            "description": "ISO 639-1 language code for the payment page (e.g., `en`, `bg`).",
            "example": "en"
          },
          "website": {
            "type": "string",
            "description": "Merchant website URL displayed on the payment page.",
            "example": "https://mywebsite.com/"
          },
          "cancel_url": {
            "type": "string",
            "description": "URL the customer is redirected to if they cancel the payment.",
            "example": "https://mywebsite.com/cancel"
          },
          "return_url": {
            "type": "string",
            "description": "URL the customer is redirected to after successful payment.",
            "example": "https://mywebsite.com/thank-you"
          },
          "expire_date": {
            "type": "string",
            "description": "Date after which the button can no longer accept payments. Null if no expiry is set.",
            "example": "2025-11-30T14:19:13"
          },
          "account_number": {
            "type": "string",
            "description": "Merchant account number that receives settlement for this button.",
            "example": "50480563548"
          }
        }
      },
      "Application.Common.Models.Button.Response.ButtonLinksResponseModel": {
        "description": "A payment button as it appears in a list, reduced to its identifying fields.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "nfxget106p4fd"
        },
        "properties": {
          "code": {
            "type": "string",
            "description": "Unique identifier of the payment button. Used in all other button endpoints.",
            "example": "B6T9KPKY3BQ98",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "Public URL where the payment button can be accessed by customers.",
            "example": "https://demo.mypos.eu/vmp/btn/B6T9KPKY3BQ9",
            "nullable": true
          },
          "custom_name": {
            "type": "string",
            "description": "Merchant-assigned display name for this button.",
            "example": "Test Button",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "description": "Total charge amount (item price × quantity).",
            "example": 0.2
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code (e.g., `EUR`).",
            "example": "EUR",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/Application.Common.Enums.PaymentButtonStatus"
          }
        },
        "x-examples": {
          "Example 2": {
            "code": "B6T9KPKY3BQ98",
            "url": "https://demo.mypos.eu/vmp/btn/B6T9KPKY3BQ9",
            "custom_name": "Test Button",
            "amount": 0.2,
            "currency": "EUR",
            "status": "Active"
          }
        }
      },
      "Application.Common.Models.Button.Response.ButtonTransactionsResponseModel": {
        "description": "A transaction taken through a payment button, with its settlement, fee and customer details.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "dt2gbexm21cjn"
        },
        "properties": {
          "date": {
            "type": "string",
            "description": "Date and time the transaction occurred.",
            "example": "2025-05-16T17:37:17",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "Code of the payment button that received the payment.",
            "example": "BDYZC4KBNFG98",
            "nullable": true
          },
          "custom_name": {
            "type": "string",
            "description": "Merchant-assigned name of the button at time of transaction.",
            "example": "test",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "description": "Transaction amount in `currency`.",
            "example": 1
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code of the original transaction.",
            "example": "EUR",
            "nullable": true
          },
          "settlement_date": {
            "type": "string",
            "description": "Date and time the transaction was settled to the merchant's account.",
            "example": "2025-05-16T17:37:17",
            "nullable": true
          },
          "settlement_amount": {
            "type": "string",
            "description": "Net amount received after fees and currency conversion.",
            "example": "1",
            "nullable": true
          },
          "settlement_currency": {
            "type": "string",
            "description": "ISO 4217 currency code of the settled amount.",
            "example": "EUR",
            "nullable": true
          },
          "fee": {
            "type": "number",
            "format": "double",
            "description": "Platform fee charged for this transaction.",
            "example": 0.14
          },
          "customer_name": {
            "type": "string",
            "description": "Customer name collected during checkout. Null if not collected.",
            "example": "TEST",
            "nullable": true
          },
          "customer_address": {
            "type": "string",
            "description": "Customer shipping address collected during checkout. Null if not collected.",
            "example": "test address",
            "nullable": true
          },
          "customer_email": {
            "type": "string",
            "description": "Customer email address collected during checkout. Null if not collected.",
            "example": "test@mypos.com",
            "nullable": true
          },
          "customer_phone": {
            "type": "string",
            "description": "Customer phone number collected during checkout. Null if not collected.",
            "example": "359888888888",
            "nullable": true
          },
          "payment_reference": {
            "type": "string",
            "description": "Unique platform-assigned reference for this transaction.",
            "example": "MTCOR15253S5OFPX",
            "nullable": true
          }
        },
        "x-examples": {
          "Example 1": {
            "date": "2025-05-16T17:37:17",
            "code": "BDYZC4KBNFG98",
            "custom_name": "test",
            "amount": 1,
            "currency": "EUR",
            "settlement_date": "2025-05-16T17:37:17",
            "settlement_amount": "1",
            "settlement_currency": "EUR",
            "fee": 0.14,
            "customer_name": "TEST",
            "customer_address": "test address",
            "customer_email": "test@mypos.com",
            "customer_phone": "359888888888",
            "payment_reference": "MTCOR15253S5OFPX"
          }
        }
      },
      "Application.Common.Models.Button.Response.CreateButtonResponseModel": {
        "description": "The URL of the newly created payment button.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "s0hf81dk290k6"
        },
        "properties": {
          "url": {
            "type": "string",
            "description": "URL of the newly created payment button page.",
            "example": "https://demo.mypos.eu/vmp/btn/B8MQEGCFBG638",
            "nullable": true
          }
        },
        "x-examples": {
          "Example 1": {
            "url": "https://demo.mypos.eu/vmp/btn/B8MQEGCFBG638"
          }
        }
      },
      "Application.Common.Models.Common.Response.LanguagesResponseModel": {
        "description": "A paginated list of the languages a payment page can be displayed in.",
        "type": "object",
        "x-examples": {
          "Example ": {
            "items": [
              {
                "code": "EN",
                "description": "English"
              }
            ],
            "page": 0,
            "page_size": 0,
            "total_pages": 0,
            "total_count": 0,
            "has_previous_page": true,
            "has_next_page": true
          },
          "Example 1": {
            "items": [
              {
                "code": "EN",
                "description": "English"
              }
            ],
            "page": 0,
            "page_size": 0,
            "total_pages": 0,
            "total_count": 0,
            "has_previous_page": true,
            "has_next_page": true
          }
        },
        "properties": {
          "items": {
            "type": "array",
            "description": "List of supported languages for the current page.",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "ISO 639-1 language code (e.g., `EN`, `BG`).",
                  "example": "EN"
                },
                "description": {
                  "type": "string",
                  "description": "Human-readable name of the language (e.g., `English`).",
                  "example": "English"
                }
              }
            }
          },
          "page": {
            "type": "integer",
            "description": "Current page number (1-based).",
            "example": 1
          },
          "page_size": {
            "type": "integer",
            "description": "Number of items returned per page.",
            "example": 20
          },
          "total_pages": {
            "type": "integer",
            "description": "Total number of pages available.",
            "example": 1
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages.",
            "example": 12
          },
          "has_previous_page": {
            "type": "boolean",
            "description": "`true` if there is a page before the current one.",
            "default": true
          },
          "has_next_page": {
            "type": "boolean",
            "description": "`true` if there is a page after the current one.",
            "default": true
          }
        }
      },
      "Application.Common.Models.Common.Response.SettlementDataResponseModel": {
        "description": "A paginated list of the merchant's settlement accounts.",
        "type": "object",
        "x-examples": {
          "Example 1": {
            "items": [
              {
                "settlement_currency": "EUR",
                "account": {
                  "account_number": "50480563548",
                  "iban": "IE61MPOS99039050480563",
                  "currency": "EUR",
                  "name": "EUR Account",
                  "is_reserve": true,
                  "is_suspense_account": true
                }
              }
            ],
            "page": 0,
            "page_size": 0,
            "total_pages": 0,
            "total_count": 0,
            "has_previous_page": true,
            "has_next_page": true
          }
        },
        "properties": {
          "items": {
            "type": "array",
            "description": "List of settlement accounts for the current page.",
            "items": {
              "type": "object",
              "properties": {
                "settlement_currency": {
                  "type": "string",
                  "description": "ISO 4217 currency code of the settlement (e.g., `EUR`).",
                  "example": "EUR"
                },
                "account": {
                  "type": "object",
                  "description": "Merchant account that will receive settlement funds in `settlement_currency`.",
                  "properties": {
                    "account_number": {
                      "type": "string",
                      "description": "Account number used when referencing this account in payment requests.",
                      "example": "50480563548"
                    },
                    "iban": {
                      "type": "string",
                      "description": "IBAN for the account.",
                      "example": "IE61MPOS99039050480563"
                    },
                    "currency": {
                      "type": "string",
                      "description": "ISO 4217 currency code of the account (e.g., `EUR`).",
                      "example": "EUR"
                    },
                    "name": {
                      "type": "string",
                      "description": "Display name of the account.",
                      "example": "EUR Account"
                    },
                    "is_reserve": {
                      "type": "boolean",
                      "description": "`true` if this is a reserve/escrow account held by the platform.",
                      "default": true
                    },
                    "is_suspense_account": {
                      "type": "boolean",
                      "description": "`true` if this is a suspense account used for temporary holds.",
                      "default": true
                    }
                  }
                }
              }
            }
          },
          "page": {
            "type": "integer",
            "description": "Current page number (1-based).",
            "example": 1
          },
          "page_size": {
            "type": "integer",
            "description": "Number of items per page.",
            "example": 20
          },
          "total_pages": {
            "type": "integer",
            "description": "Total number of pages available.",
            "example": 1
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages.",
            "example": 5
          },
          "has_previous_page": {
            "type": "boolean",
            "description": "`true` if there is a page before the current one.",
            "default": false
          },
          "has_next_page": {
            "type": "boolean",
            "description": "`true` if there is a page after the current one.",
            "default": false
          }
        }
      },
      "Application.Common.Models.Link.Request.CreateLinkRequestModel": {
        "description": "Request to create a payment link that can be sent to a customer.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "kczpv0c6o8yl9"
        },
        "properties": {
          "hide_quantity": {
            "type": "boolean",
            "description": "When `true`, the quantity field is hidden on the payment page. Defaults to `false`.",
            "default": false
          },
          "expired_date": {
            "type": "string",
            "description": "Optional expiry date/time after which the link can no longer be used (ISO 8601 format). Omit for a non-expiring link.",
            "example": "2025-05-16T17:37:17",
            "nullable": true
          },
          "item_name": {
            "type": "string",
            "description": "Name of the product or service displayed on the payment page.",
            "example": "Test Payment Link",
            "nullable": true
          },
          "item_price": {
            "type": "number",
            "format": "double",
            "description": "Unit price of the item in `currency`. The total charge is `item_price × quantity`.",
            "example": 1
          },
          "pref_language": {
            "type": "string",
            "description": "Preferred language for the payment page (ISO 639-1 code, e.g., `en`, `bg`).",
            "example": "en",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code (e.g., `EUR`).",
            "example": "EUR",
            "nullable": true
          },
          "account_number": {
            "type": "string",
            "description": "Merchant account number that will receive settlement for this payment link.",
            "example": "50480563548",
            "nullable": true
          },
          "custom_name": {
            "type": "string",
            "description": "Merchant-assigned internal name for this link. Not shown to customers.",
            "example": "Summer Sale Link",
            "nullable": true
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "description": "Number of units. The total charge is `item_price × quantity`.",
            "example": 1
          },
          "website": {
            "type": "string",
            "description": "URL of the merchant's website, displayed on the payment page.",
            "example": "https://mywebsite.com/",
            "nullable": true
          },
          "ask_for_customer_name": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer to enter their name. Defaults to `false`.",
            "default": false
          },
          "ask_for_shipping_address": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for a shipping address. Defaults to `false`.",
            "default": false
          },
          "ask_for_customer_email": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for their email address. Defaults to `false`.",
            "default": false
          },
          "ask_for_customer_phone_number": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for their phone number. Defaults to `false`.",
            "default": false
          },
          "ask_for_customer_id": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for a customer ID. Defaults to `false`.",
            "default": false
          },
          "send_sms": {
            "type": "boolean",
            "description": "When `true`, an SMS payment confirmation is sent to the customer. Defaults to `false`.",
            "default": false
          },
          "send_email": {
            "type": "boolean",
            "description": "When `true`, an email payment confirmation is sent to the customer. Defaults to `false`.",
            "default": false
          }
        },
        "x-examples": {
          "Example 1": {
            "hide_quantity": false,
            "expired_date": "2025-05-16T17:37:17",
            "item_name": "Test Payment Link",
            "item_price": 1,
            "pref_language": "en",
            "currency": "EUR",
            "account_number": "50480563548",
            "custom_name": "Testin1g",
            "quantity": 1,
            "website": "http://www.mywesbite.com/",
            "ask_for_customer_name": false,
            "ask_for_shipping_address": false,
            "ask_for_customer_email": false,
            "ask_for_customer_phone_number": false,
            "ask_for_customer_id": false,
            "send_sms": false,
            "send_email": false
          }
        }
      },
      "Application.Common.Models.Link.Request.EditPaymentLinkRequestModel": {
        "description": "Changes to apply to an existing payment link. Omitted fields keep their current value.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "xparb3qpqzy7n"
        },
        "properties": {
          "pref_lang": {
            "type": "string",
            "description": "Preferred language for the payment page (ISO 639-1 code, e.g., `en`, `bg`). Omit to keep the current value.",
            "example": "en",
            "nullable": true
          },
          "custom_name": {
            "type": "string",
            "description": "Merchant-assigned internal name for this link. Not shown to customers. Omit to keep the current value.",
            "example": "Set Custom Name",
            "nullable": true
          },
          "send_sms": {
            "type": "boolean",
            "description": "When `true`, an SMS confirmation is sent to the customer after payment. Omit to keep the current value.",
            "default": true,
            "nullable": true
          },
          "sens_email": {
            "type": "boolean",
            "description": "⚠️ Field name typo in source — should be `send_email`. When `true`, an email confirmation is sent to the customer after payment. Omit to keep the current value.",
            "default": true,
            "nullable": true
          },
          "ask_for_customer_name": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer to enter their name. Omit to keep the current value.",
            "default": true,
            "nullable": true
          },
          "ask_for_shipping_address": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for a shipping address. Omit to keep the current value.",
            "default": true,
            "nullable": true
          },
          "ask_for_customer_email": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for their email address. Omit to keep the current value.",
            "default": true,
            "nullable": true
          },
          "ask_for_customer_phone_number": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for their phone number. Omit to keep the current value.",
            "default": true,
            "nullable": true
          },
          "ask_for_customer_id": {
            "type": "boolean",
            "description": "When `true`, the payment page prompts the customer for a customer ID. Omit to keep the current value.",
            "default": true,
            "nullable": true
          },
          "enable": {
            "type": "boolean",
            "description": "When `true`, the link is active and accepts payments. Set to `false` to disable the link. Omit to keep the current value.",
            "default": true,
            "nullable": true
          },
          "hide_quantity": {
            "type": "boolean",
            "description": "When `true`, the quantity field is hidden on the payment page. Omit to keep the current value.",
            "default": true,
            "nullable": true
          },
          "website": {
            "type": "string",
            "description": "URL of the merchant's website, displayed on the payment page. Omit to keep the current value.",
            "example": "https://mywebsite.com/",
            "nullable": true
          },
          "expired_date": {
            "type": "string",
            "description": "Expiry date/time after which the link can no longer be used (ISO 8601). Omit to keep the current value.",
            "example": "2025-11-19T12:00:00",
            "nullable": true
          }
        },
        "x-examples": {
          "Example 1": {
            "pref_lang": "en",
            "custom_name": "Set Custom Name",
            "send_sms": true,
            "sens_email": true,
            "ask_for_customer_name": true,
            "ask_for_shipping_address": true,
            "ask_for_customer_email": true,
            "ask_for_customer_phone_number": true,
            "ask_for_customer_id": true,
            "enable": true,
            "hide_quantity": true,
            "website": "https://mywebsite.com/",
            "expired_date": "2025-11-19T12:00:00"
          }
        }
      },
      "Application.Common.Models.Link.Response.CreateLinkResponseModel": {
        "description": "The URL of the newly created payment link.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "lb17sqau4asw1"
        },
        "x-examples": {
          "Example 1": {
            "url": "https://demo.mypos.eu/vmp/btn/BGOBAFZ65QS08\""
          }
        },
        "properties": {
          "url": {
            "type": "string",
            "description": "URL of the newly created payment link page.",
            "example": "https://demo.mypos.eu/vmp/btn/BGOBAFZ65QS08",
            "nullable": true
          }
        }
      },
      "Application.Common.Models.Link.Response.PaymentLinkListResponseModel": {
        "description": "A payment link as it appears in a list, reduced to its identifying fields.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "dc12x8zp66qyp"
        },
        "properties": {
          "code": {
            "type": "string",
            "description": "Unique identifier for the payment link.",
            "example": "BGOBAFZ65QS08",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "URL of the payment page customers visit to complete the payment.",
            "example": "https://demo.mypos.eu/vmp/btn/BGOBAFZ65QS08",
            "nullable": true
          },
          "custom_name": {
            "type": "string",
            "description": "Merchant-assigned internal name for this link.",
            "example": "Create a Payment Link",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "description": "Total charge amount for this link.",
            "example": 0.2
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code (e.g., `EUR`).",
            "example": "EUR",
            "nullable": true
          },
          "status": {
            "description": "Current status of the payment link.",
            "$ref": "#/components/schemas/Application.Common.Enums.PaymentLinkStatus"
          }
        },
        "x-examples": {
          "Example 1": {
            "code": "BGOBAFZ65QS08",
            "url": "https://demo.mypos.eu/vmp/btn/BGOBAFZ65QS08",
            "custom_name": "Create a Payment Link",
            "amount": 0.2,
            "currency": "EUR",
            "status": "Active"
          }
        }
      },
      "Application.Common.Models.Link.Response.PaymentLinkResponseModel": {
        "description": "The full configuration and current state of a single payment link.",
        "type": "object",
        "x-examples": {
          "Example 1": {
            "created_on": "2025-10-20T14:31:50",
            "code": "BLQ2IYI5LQV79",
            "url": "https://demo.mypos.eu/vmp/btn/BLQ2IYI5LQV79",
            "custom_name": "Set Custom Name",
            "item_name": "string",
            "enable": true,
            "item_price": 0.2,
            "total_amount": 0.4,
            "quantity": 2,
            "button_size": 0,
            "button_type": 2,
            "send_sms": true,
            "send_email": true,
            "hide_quantity": true,
            "ask_for_customer_name": true,
            "ask_for_shipping_address": true,
            "ask_for_customer_email": true,
            "ask_for_customer_phone_number": true,
            "ask_for_customer_id": true,
            "currency": "EUR",
            "pref_language": "en",
            "website": "https://mywebsite.com/",
            "cancel_url": "string",
            "return_url": "string",
            "expire_date": "2025-11-19T12:00:00",
            "account_number": "50480563548"
          }
        },
        "properties": {
          "created_on": {
            "type": "string",
            "description": "ISO 8601 timestamp when the payment link was created.",
            "example": "2025-10-20T14:31:50"
          },
          "code": {
            "type": "string",
            "description": "Unique identifier for the payment link.",
            "example": "BLQ2IYI5LQV79"
          },
          "url": {
            "type": "string",
            "description": "URL of the payment page customers visit to complete the payment.",
            "example": "https://demo.mypos.eu/vmp/btn/BLQ2IYI5LQV79"
          },
          "custom_name": {
            "type": "string",
            "description": "Merchant-assigned internal name for this link.",
            "example": "Set Custom Name"
          },
          "item_name": {
            "type": "string",
            "description": "Name of the product or service displayed on the payment page.",
            "example": "Summer Offer"
          },
          "enable": {
            "type": "boolean",
            "description": "`true` if the link is active and can accept payments; `false` if it has been disabled.",
            "default": true
          },
          "item_price": {
            "type": "number",
            "format": "double",
            "description": "Unit price of the item.",
            "example": 0.2
          },
          "total_amount": {
            "type": "number",
            "format": "double",
            "description": "Total charge amount (item_price × quantity).",
            "example": 0.4
          },
          "quantity": {
            "type": "integer",
            "description": "Number of units.",
            "example": 2
          },
          "button_size": {
            "type": "integer",
            "description": "Visual size of the button widget (0 = Small, 1 = Big).",
            "example": 0
          },
          "button_type": {
            "type": "integer",
            "description": "Object type code. `2` indicates a payment link (as opposed to a button or paytag).",
            "example": 2
          },
          "send_sms": {
            "type": "boolean",
            "description": "`true` if an SMS confirmation is sent to the customer after payment.",
            "default": true
          },
          "send_email": {
            "type": "boolean",
            "description": "`true` if an email confirmation is sent to the customer after payment.",
            "default": true
          },
          "hide_quantity": {
            "type": "boolean",
            "description": "`true` if the quantity field is hidden on the payment page.",
            "default": true
          },
          "ask_for_customer_name": {
            "type": "boolean",
            "description": "`true` if the payment page prompts the customer to enter their name.",
            "default": true
          },
          "ask_for_shipping_address": {
            "type": "boolean",
            "description": "`true` if the payment page prompts the customer for a shipping address.",
            "default": true
          },
          "ask_for_customer_email": {
            "type": "boolean",
            "description": "`true` if the payment page prompts the customer for their email address.",
            "default": true
          },
          "ask_for_customer_phone_number": {
            "type": "boolean",
            "description": "`true` if the payment page prompts the customer for their phone number.",
            "default": true
          },
          "ask_for_customer_id": {
            "type": "boolean",
            "description": "`true` if the payment page prompts the customer for a customer ID.",
            "default": true
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code (e.g., `EUR`).",
            "example": "EUR"
          },
          "pref_language": {
            "type": "string",
            "description": "Preferred language code for the payment page (ISO 639-1, e.g., `en`).",
            "example": "en"
          },
          "website": {
            "type": "string",
            "description": "URL of the merchant's website, displayed on the payment page.",
            "example": "https://mywebsite.com/"
          },
          "cancel_url": {
            "type": "string",
            "description": "URL the customer is redirected to if they cancel the payment.",
            "example": "https://mywebsite.com/cancel"
          },
          "return_url": {
            "type": "string",
            "description": "URL the customer is redirected to after a successful payment.",
            "example": "https://mywebsite.com/thank-you"
          },
          "expire_date": {
            "type": "string",
            "description": "ISO 8601 expiry date/time after which the link can no longer be used. `null` if the link has no expiry.",
            "example": "2025-11-19T12:00:00"
          },
          "account_number": {
            "type": "string",
            "description": "Merchant account number receiving settlement for this link.",
            "example": "50480563548"
          }
        }
      },
      "Application.Common.Models.Link.Response.PaymentLinkTransactionDetailsReponseModel": {
        "description": "A transaction taken through a payment link, with its settlement, fee and customer details.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "30q9iv31flkow"
        },
        "properties": {
          "date": {
            "type": "string",
            "description": "ISO 8601 timestamp when the payment transaction was made.",
            "example": "2025-05-29T14:21:10",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "Payment link code associated with this transaction.",
            "example": "BIE589ACVLD43",
            "nullable": true
          },
          "custom_name": {
            "type": "string",
            "description": "Merchant-assigned internal name of the payment link at the time of payment.",
            "example": "DEMO",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "description": "Transaction amount in `currency`.",
            "example": 1
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code of the transaction.",
            "example": "EUR",
            "nullable": true
          },
          "settlement_date": {
            "type": "string",
            "description": "ISO 8601 timestamp when the funds were settled to the merchant's account. `null` if settlement is pending.",
            "example": "2025-05-29T14:21:11",
            "nullable": true
          },
          "settlement_amount": {
            "type": "string",
            "description": "Amount settled to the merchant account (may differ from `amount` after fees are applied). `null` if settlement is pending.",
            "example": "1",
            "nullable": true
          },
          "settlement_currency": {
            "type": "string",
            "description": "ISO 4217 currency code of the settled amount. May differ from `currency` if the merchant account uses a different currency.",
            "example": "EUR",
            "nullable": true
          },
          "fee": {
            "type": "number",
            "format": "double",
            "description": "Platform fee charged for this transaction.",
            "example": 0.29
          },
          "customer_name": {
            "type": "string",
            "description": "Name provided by the customer during checkout. `null` if not collected.",
            "example": "Jane Doe",
            "nullable": true
          },
          "customer_address": {
            "type": "string",
            "description": "Shipping address provided by the customer during checkout. `null` if not collected.",
            "example": "1 Example Street, Dublin",
            "nullable": true
          },
          "customer_email": {
            "type": "string",
            "description": "Email address provided by the customer during checkout. `null` if not collected.",
            "example": "jane.doe@example.com",
            "nullable": true
          },
          "customer_phone": {
            "type": "string",
            "description": "Phone number provided by the customer during checkout. `null` if not collected.",
            "example": "+35312345678",
            "nullable": true
          },
          "payment_reference": {
            "type": "string",
            "description": "Unique platform-assigned payment reference for this transaction.",
            "example": "MTCOS0224461F39K",
            "nullable": true
          }
        },
        "x-examples": {
          "Example 1": {
            "date": "2025-05-29T14:21:10",
            "code": "BIE589ACVLD43",
            "custom_name": "DEMO",
            "amount": 1,
            "currency": "EUR",
            "settlement_date": "2025-05-29T14:21:11",
            "settlement_amount": "1",
            "settlement_currency": "EUR",
            "fee": 0.29,
            "customer_name": "DEMO",
            "customer_address": "string",
            "customer_email": "string",
            "customer_phone": "string",
            "payment_reference": "MTCOS0224461F39K"
          }
        }
      },
      "Application.Common.Models.PaymentRequest.Request.CreatePrRequestModel": {
        "description": "Request to create a payment request to send to a named customer.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "vt4d1hcznollk"
        },
        "x-examples": {
          "Example 1": {
            "amount": 28.78,
            "currency": "EUR",
            "client_name": "EUR",
            "reason": "Test Reason",
            "booking_text": "Random Text",
            "dba": "company",
            "expiry_date": "2025-08-18",
            "payment_request_lang": "en",
            "notify_gsm": "+359885885885",
            "qr_generated": true
          }
        },
        "properties": {
          "amount": {
            "type": "number",
            "format": "double",
            "description": "Requested payment amount in `currency`.",
            "example": 28.78
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code (e.g., `EUR`).",
            "example": "EUR",
            "nullable": true
          },
          "client_name": {
            "type": "string",
            "description": "Name of the client to whom the payment request is being sent.",
            "example": "John Smith",
            "nullable": true
          },
          "reason": {
            "type": "string",
            "description": "Reason for the payment request, shown to the customer on the payment page.",
            "example": "Invoice #1042",
            "nullable": true
          },
          "booking_text": {
            "type": "string",
            "description": "Additional booking or memo text attached to the payment request.",
            "example": "Order ref: ORD-2025-001",
            "nullable": true
          },
          "dba": {
            "type": "string",
            "description": "Doing-Business-As name displayed to the customer on the payment page.",
            "example": "My Company Ltd",
            "nullable": true
          },
          "expiry_date": {
            "type": "string",
            "description": "Date after which the payment request expires and can no longer be paid. Format: `yyyy-MM-dd`.",
            "example": "2025-08-18",
            "nullable": true
          },
          "payment_request_lang": {
            "type": "string",
            "description": "Language for the payment request page (ISO 639-1 code, e.g., `en`, `bg`).",
            "example": "en",
            "nullable": true
          },
          "notify_gsm": {
            "type": "string",
            "description": "Phone number to notify by SMS when the payment request is viewed or paid (E.164 format, e.g., `+359885885885`).",
            "example": "+359885885885",
            "nullable": true
          },
          "qr_generated": {
            "type": "boolean",
            "description": "When `true`, a QR code is generated for the payment request. Defaults to `true`.",
            "default": true
          }
        }
      },
      "Application.Common.Models.PaymentRequest.Response.CreatePrResponseModel": {
        "description": "The code and URL of the newly created payment request.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "hzautjhf4ovl7"
        },
        "properties": {
          "code": {
            "type": "string",
            "description": "Unique identifier for the created payment request.",
            "example": "B9UU2SESPY5Y42",
            "nullable": true
          },
          "payment_request_url": {
            "type": "string",
            "description": "URL of the payment page the customer visits to complete the payment.",
            "example": "https://demo.mypos.eu/bg/qr-pr/B9UU2SESPY5Y42",
            "nullable": true
          }
        },
        "x-examples": {
          "Example 1": {
            "code": "B9UU2SESPY5Y42",
            "payment_request_url": "https://demo.mypos.eu/bg/qr-pr/B9UU2SESPY5Y42"
          }
        }
      },
      "Application.Common.Models.PaymentRequest.Response.PrDetailsResponseModel": {
        "description": "The full details and current status of a single payment request.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "kd4u42lgnzqh2"
        },
        "x-examples": {
          "Example 1": {
            "code": "B9UU2SESPY5Y42",
            "url": "https://demo.mypos.eu/bg/qr-pr/B9UU2SESPY5Y42",
            "added_on": "2025-10-31T09:00:00",
            "client_name": "Test Client",
            "amount": 28.78,
            "currency": "EUR",
            "reason": "Test Reason",
            "booking_text": "Test booking text",
            "attempts": 0,
            "expiry_on": "2025-11-30T23:59:59",
            "qr_generated": true,
            "email": "test@mypos.com",
            "gsm": "+359888888888",
            "status": "Pending"
          }
        },
        "properties": {
          "code": {
            "type": "string",
            "description": "Unique identifier for the payment request.",
            "example": "B9UU2SESPY5Y42",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "URL of the payment page the customer visits to complete the payment.",
            "example": "https://demo.mypos.eu/bg/qr-pr/B9UU2SESPY5Y42",
            "nullable": true
          },
          "added_on": {
            "type": "string",
            "description": "ISO 8601 timestamp when the payment request was created.",
            "example": "2025-10-31T09:00:00",
            "nullable": true
          },
          "client_name": {
            "type": "string",
            "description": "Name of the client to whom the payment request was sent.",
            "example": "Test Client",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "description": "Requested payment amount in `currency`.",
            "example": 28.78
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code (e.g., `EUR`).",
            "example": "EUR",
            "nullable": true
          },
          "reason": {
            "type": "string",
            "description": "Reason for the payment request, as shown to the customer.",
            "example": "Test Reason",
            "nullable": true
          },
          "booking_text": {
            "type": "string",
            "description": "Additional booking or memo text attached to the request.",
            "example": "Test booking text",
            "nullable": true
          },
          "attempts": {
            "type": "integer",
            "format": "int32",
            "description": "Number of times the customer has opened the payment page.",
            "example": 0
          },
          "expiry_on": {
            "type": "string",
            "description": "ISO 8601 timestamp after which the payment request expires. `null` if no expiry was set.",
            "example": "2025-11-30T23:59:59",
            "nullable": true
          },
          "qr_generated": {
            "type": "boolean",
            "description": "`true` if a QR code was generated for this payment request.",
            "default": true
          },
          "email": {
            "type": "string",
            "description": "Email address associated with the payment request. `null` if not provided.",
            "example": "test@mypos.com",
            "nullable": true
          },
          "gsm": {
            "type": "string",
            "description": "Phone number associated with the payment request. `null` if not provided.",
            "example": "+359888888888",
            "nullable": true
          },
          "status": {
            "description": "Current status of the payment request.",
            "$ref": "#/components/schemas/Application.Common.Enums.PaymentRequestStatus"
          }
        }
      },
      "Application.Common.Models.PaymentRequest.Response.PrListDetailsResponseModel": {
        "description": "A payment request as it appears in a list, reduced to its identifying fields.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "jjl984pv4b3xk"
        },
        "properties": {
          "code": {
            "type": "string",
            "description": "Unique identifier for the payment request.",
            "example": "BF4FWKWIQXPV30",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "URL of the payment page the customer visits to complete the payment.",
            "example": "https://demo.mypos.eu/bg/qr-pr/BF4FWKWIQXPV30",
            "nullable": true
          },
          "added_on": {
            "type": "string",
            "description": "ISO 8601 timestamp when the payment request was created.",
            "example": "2025-10-31T09:03:03",
            "nullable": true
          },
          "client_name": {
            "type": "string",
            "description": "Name of the client to whom the payment request was sent.",
            "example": "Test Client Name",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "description": "Requested payment amount in `currency`.",
            "example": 28.78
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code (e.g., `EUR`).",
            "example": "EUR",
            "nullable": true
          },
          "reason": {
            "type": "string",
            "description": "Reason for the payment request, as shown to the customer.",
            "example": "Test Reason",
            "nullable": true
          },
          "booking_text": {
            "type": "string",
            "description": "Additional booking or memo text attached to the request.",
            "example": "Test booking text",
            "nullable": true
          },
          "status": {
            "description": "Current status of the payment request.",
            "$ref": "#/components/schemas/Application.Common.Enums.PaymentRequestStatus"
          }
        },
        "x-examples": {
          "Example 1": {
            "code": "BF4FWKWIQXPV30",
            "url": "https://demo.mypos.eu/bg/qr-pr/BF4FWKWIQXPV30",
            "added_on": "2025-10-31T09:03:03",
            "client_name": "Test Client Name",
            "amount": 28.78,
            "currency": "EUR",
            "reason": "Test Reason",
            "booking_text": "Test booking ",
            "status": "Pending"
          }
        }
      },
      "Application.Models.PaginatedList`1[Application.Common.Models.Button.Response.ButtonLinksResponseModel]": {
        "description": "A paginated page of payment buttons.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "o3g9yybzdlg1l"
        },
        "x-examples": {
          "Example 2": {
            "items": [
              {
                "code": "B6T9KPKY3BQ98",
                "url": "https://demo.mypos.eu/vmp/btn/B6T9KPKY3BQ9",
                "custom_name": "Test Button",
                "amount": 0.2,
                "currency": "EUR",
                "status": "Active"
              }
            ],
            "page": 0,
            "page_size": 0,
            "total_pages": 0,
            "total_count": 0,
            "has_previous_page": true,
            "has_next_page": true
          }
        },
        "properties": {
          "items": {
            "type": "array",
            "description": "Paginated list of payment buttons.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Application.Common.Models.Button.Response.ButtonLinksResponseModel"
            }
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based).",
            "example": 1
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items per page.",
            "example": 20
          },
          "total_pages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages available.",
            "example": 1
          },
          "total_count": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of items across all pages.",
            "example": 0
          },
          "has_previous_page": {
            "type": "boolean",
            "description": "`true` if there is a page before the current one.",
            "default": false,
            "readOnly": true
          },
          "has_next_page": {
            "type": "boolean",
            "description": "`true` if there is a page after the current one.",
            "default": false,
            "readOnly": true
          }
        }
      },
      "Application.Models.PaginatedList`1[Application.Common.Models.Button.Response.ButtonTransactionsResponseModel]": {
        "description": "A paginated page of payment button transactions.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "nzm6sxnro48pm"
        },
        "properties": {
          "items": {
            "type": "array",
            "description": "Paginated list of button transactions.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Application.Common.Models.Button.Response.ButtonTransactionsResponseModel"
            }
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based).",
            "example": 1
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items per page.",
            "example": 20
          },
          "total_pages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages available.",
            "example": 1
          },
          "total_count": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of items across all pages.",
            "example": 0
          },
          "has_previous_page": {
            "type": "boolean",
            "description": "`true` if there is a page before the current one.",
            "default": false,
            "readOnly": true
          },
          "has_next_page": {
            "type": "boolean",
            "description": "`true` if there is a page after the current one.",
            "default": false,
            "readOnly": true
          }
        }
      },
      "Application.Models.PaginatedList`1[Application.Common.Models.Link.Response.PaymentLinkListResponseModel]": {
        "description": "A paginated page of payment links.",
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "description": "Paginated list of payment links.",
            "items": {
              "$ref": "#/components/schemas/Application.Common.Models.Link.Response.PaymentLinkListResponseModel"
            },
            "nullable": true
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items per page."
          },
          "total_pages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages available."
          },
          "total_count": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of items across all pages."
          },
          "has_previous_page": {
            "type": "boolean",
            "description": "`true` if there is a page before the current one.",
            "readOnly": true
          },
          "has_next_page": {
            "type": "boolean",
            "description": "`true` if there is a page after the current one.",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "x-stoplight": {
          "id": "oc1ybz59jn8uq"
        }
      },
      "Application.Models.PaginatedList`1[Application.Common.Models.Link.Response.PaymentLinkTransactionDetailsReponseModel]": {
        "description": "A paginated page of payment link transactions.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "iuv8a3iy6ew7a"
        },
        "properties": {
          "items": {
            "type": "array",
            "description": "Paginated list of link transactions.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Application.Common.Models.Link.Response.PaymentLinkTransactionDetailsReponseModel"
            }
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based).",
            "example": 1
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items per page.",
            "example": 20
          },
          "total_pages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages available.",
            "example": 1
          },
          "total_count": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of items across all pages.",
            "example": 0
          },
          "has_previous_page": {
            "type": "boolean",
            "description": "`true` if there is a page before the current one.",
            "default": false,
            "readOnly": true
          },
          "has_next_page": {
            "type": "boolean",
            "description": "`true` if there is a page after the current one.",
            "default": false,
            "readOnly": true
          }
        }
      },
      "Application.Models.PaginatedList`1[Application.Common.Models.PaymentRequest.Response.PrListDetailsResponseModel]": {
        "description": "A paginated page of payment requests.",
        "type": "object",
        "additionalProperties": false,
        "x-stoplight": {
          "id": "kq5pq4e11dxza"
        },
        "x-examples": {
          "Example 1": {
            "items": [
              {
                "code": "BF4FWKWIQXPV30",
                "url": "https://demo.mypos.eu/bg/qr-pr/BF4FWKWIQXPV30",
                "added_on": "2025-10-31T09:03:03",
                "client_name": "Test Client Name",
                "amount": 28.78,
                "currency": "EUR",
                "reason": "Test Reason",
                "booking_text": "Test booking ",
                "status": "Pending"
              }
            ],
            "page": 1,
            "page_size": 20,
            "total_pages": 1,
            "total_count": 2,
            "has_previous_page": false,
            "has_next_page": false
          }
        },
        "properties": {
          "items": {
            "type": "array",
            "description": "Paginated list of payment requests.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Application.Common.Models.PaymentRequest.Response.PrListDetailsResponseModel"
            }
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based).",
            "example": 1
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items per page.",
            "example": 20
          },
          "total_pages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages available.",
            "example": 1
          },
          "total_count": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of items across all pages.",
            "example": 2
          },
          "has_previous_page": {
            "type": "boolean",
            "description": "`true` if there is a page before the current one.",
            "default": false,
            "readOnly": true
          },
          "has_next_page": {
            "type": "boolean",
            "description": "`true` if there is a page after the current one.",
            "default": false,
            "readOnly": true
          }
        }
      },
      "Microsoft.AspNetCore.Mvc.ProblemDetails": {
        "description": "The standard error payload (RFC 7807) returned when a request fails.",
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "integer"
          },
          "detail": {
            "type": "string"
          },
          "instance": {
            "type": "string"
          },
          "additionalProp1": {
            "type": "string"
          },
          "additionalProp2": {
            "type": "string"
          },
          "additionalProp3": {
            "type": "string"
          }
        },
        "x-examples": {
          "Example 1": {
            "type": "string",
            "title": "string",
            "status": 0,
            "detail": "string",
            "instance": "string",
            "additionalProp1": "string",
            "additionalProp2": "string",
            "additionalProp3": "string"
          }
        }
      },
      "Microsoft.AspNetCore.Mvc.ValidationProblemDetails": {
        "description": "The error payload returned when a request fails validation, adding a per-field errors map.",
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "integer"
          },
          "detail": {
            "type": "string"
          },
          "instance": {
            "type": "string"
          },
          "errors": {
            "type": "object",
            "properties": {
              "additionalProp1": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "additionalProp2": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "additionalProp3": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "additionalProp1": {
            "type": "string"
          },
          "additionalProp2": {
            "type": "string"
          },
          "additionalProp3": {
            "type": "string"
          }
        },
        "x-examples": {
          "Example 1": {
            "type": "string",
            "title": "string",
            "status": 0,
            "detail": "string",
            "instance": "string",
            "errors": {
              "additionalProp1": [
                "string"
              ],
              "additionalProp2": [
                "string"
              ],
              "additionalProp3": [
                "string"
              ]
            },
            "additionalProp1": "string",
            "additionalProp2": "string",
            "additionalProp3": "string"
          }
        }
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "Input your Bearer token to access this API",
        "scheme": "Bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "servers": [
    {
      "url": "https://demo-api-gateway.mypos.com",
      "description": "Demo"
    },
    {
      "url": "https://api-gateway.mypos.com",
      "description": "Prod"
    }
  ]
}
