{
	"openapi": "3.0.3",
	"info": {
		"title": "MyTown — ws_spring_payment",
		"version": "0.2.0",
		"description": "Pagamenti online e riscontro delle transazioni.\n\nDocumentazione generata automaticamente dal codice sorgente da `platform/tools/openapi-gen`.\nNon modificare a mano: le modifiche vanno fatte nei controller e la specifica va rigenerata.\n\nAutenticazione: token JWT nell’header `Authorization: Bearer <token>`, ottenuto da\n`POST /ws_spring_portal_login/api/login`. Gli endpoint marcati come pubblici non richiedono il token.",
		"license": {
			"name": "AGPL-3.0-or-later",
			"url": "https://www.gnu.org/licenses/agpl-3.0.html"
		}
	},
	"servers": [
		{
			"url": "/ws_spring_payment/api",
			"description": "Stesso host, servizi esposti alla radice (Tomcat diretto)"
		},
		{
			"url": "/api/ws_spring_payment/api",
			"description": "Stesso host, servizi dietro reverse proxy montato su /api (vedi platform/INSTALL.md)"
		},
		{
			"url": "{host}/ws_spring_payment/api",
			"description": "Host esplicito",
			"variables": {
				"host": {
					"default": "http://localhost:8080",
					"description": "Schema e host del server applicativo"
				}
			}
		}
	],
	"tags": [
		{
			"name": "CompanyConfig",
			"description": "Endpoint di CompanyConfigController (src/main/java/com/kondorcs/ws_spring_payment/controller/CompanyConfigController.java)"
		},
		{
			"name": "Payment",
			"description": "Endpoint di PaymentController (src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java)"
		}
	],
	"paths": {
		"/api/company-config/active-by-company/{cmp_id}": {
			"get": {
				"tags": [
					"CompanyConfig"
				],
				"summary": "Get Active By Company",
				"description": "Lista delle configurazioni ATTIVE per un'azienda (senza credenziali, neppure mascherati).\r Usata dal CheckoutComponent per popolare la scelta utente.\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_payment/controller/CompanyConfigController.java:87` — `CompanyConfigController.GetActiveByCompany()`.",
				"operationId": "CompanyConfigController.GetActiveByCompany",
				"x-source": "src/main/java/com/kondorcs/ws_spring_payment/controller/CompanyConfigController.java:87",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/CompanyPaymentConfig"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/company-config/add": {
			"post": {
				"tags": [
					"CompanyConfig"
				],
				"summary": "Insert Company Config",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_payment/controller/CompanyConfigController.java:119` — `CompanyConfigController.InsertCompanyConfig()`.",
				"operationId": "CompanyConfigController.InsertCompanyConfig",
				"x-source": "src/main/java/com/kondorcs/ws_spring_payment/controller/CompanyConfigController.java:119",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/CompanyPaymentConfig"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/company-config/del/{pcc_id}": {
			"delete": {
				"tags": [
					"CompanyConfig"
				],
				"summary": "Delete Company Config",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_payment/controller/CompanyConfigController.java:139` — `CompanyConfigController.DeleteCompanyConfig()`.",
				"operationId": "CompanyConfigController.DeleteCompanyConfig",
				"x-source": "src/main/java/com/kondorcs/ws_spring_payment/controller/CompanyConfigController.java:139",
				"parameters": [
					{
						"name": "pcc_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/company-config/get": {
			"get": {
				"tags": [
					"CompanyConfig"
				],
				"summary": "Get Company Config",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_payment/controller/CompanyConfigController.java:73` — `CompanyConfigController.GetCompanyConfig()`.",
				"operationId": "CompanyConfigController.GetCompanyConfig",
				"x-source": "src/main/java/com/kondorcs/ws_spring_payment/controller/CompanyConfigController.java:73",
				"parameters": [
					{
						"name": "pcc_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/CompanyPaymentConfig"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/company-config/list": {
			"get": {
				"tags": [
					"CompanyConfig"
				],
				"summary": "Get Company Configs",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_payment/controller/CompanyConfigController.java:58` — `CompanyConfigController.GetCompanyConfigs()`.",
				"operationId": "CompanyConfigController.GetCompanyConfigs",
				"x-source": "src/main/java/com/kondorcs/ws_spring_payment/controller/CompanyConfigController.java:58",
				"parameters": [
					{
						"name": "txtsearch",
						"in": "query",
						"required": true,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "order_by",
						"in": "query",
						"required": true,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "limit",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "offset",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int64"
						}
					},
					{
						"name": "cmp_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/CompanyPaymentConfig"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/company-config/secret/{pcc_id}": {
			"get": {
				"tags": [
					"CompanyConfig"
				],
				"summary": "Get Company Config Secret",
				"description": "Restituisce i params IN CHIARO. Richiede funzione \"view_secret\" nel modulo.\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_payment/controller/CompanyConfigController.java:100` — `CompanyConfigController.GetCompanyConfigSecret()`.",
				"operationId": "CompanyConfigController.GetCompanyConfigSecret",
				"x-source": "src/main/java/com/kondorcs/ws_spring_payment/controller/CompanyConfigController.java:100",
				"parameters": [
					{
						"name": "pcc_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/CompanyPaymentConfig"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"403": {
						"description": "Non autorizzato per il ruolo dell’utente"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/company-config/upd": {
			"post": {
				"tags": [
					"CompanyConfig"
				],
				"summary": "Update Company Config",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_payment/controller/CompanyConfigController.java:129` — `CompanyConfigController.UpdateCompanyConfig()`.\n\nTipo di risposta non deducibile dal sorgente: il metodo restituisce `ResponseEntity<?>`.",
				"operationId": "CompanyConfigController.UpdateCompanyConfig",
				"x-source": "src/main/java/com/kondorcs/ws_spring_payment/controller/CompanyConfigController.java:129",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/CompanyPaymentConfig"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK"
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/pay/config": {
			"post": {
				"tags": [
					"Payment"
				],
				"summary": "Get Payment Config",
				"description": "POST /pay/config\r Genera la configurazione per il gateway di pagamento selezionato.\r Crea una transazione PENDING in DB e restituisce ConfigXpay o ConfigPayPal.\r Body: { type_code, amount, module, entity_id, entity_ref?, currency? }\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:73` — `PaymentController.GetPaymentConfig()`.\n\nTipo di risposta non risolto dal generatore (`Object`).",
				"operationId": "PaymentController.GetPaymentConfig",
				"x-source": "src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:73",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/PaymentRequest"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK"
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/pay/link-pp-order": {
			"post": {
				"tags": [
					"Payment"
				],
				"summary": "Link Pay Pal Order",
				"description": "POST /pay/link-pp-order\r Associa l'id ordine PayPal (es. 0H7335648B3948236) al record PENDING in pay_transaction.\r Chiamato dal FE subito dopo actions.order.create() per consentire allo scheduler reconciler\r di interrogare PayPal in caso di mancato completamento.\r Body: { uid_transaction, external_id }\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:125` — `PaymentController.LinkPayPalOrder()`.",
				"operationId": "PaymentController.LinkPayPalOrder",
				"x-source": "src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:125",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/PaymentRequest"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/pay/list": {
			"get": {
				"tags": [
					"Payment"
				],
				"summary": "List Transactions",
				"description": "GET /pay/list\r Lista filtrata + paginata di transazioni per la pagina globale di backoffice.\r Query params: txtsearch, state, provider, module, cmp_id, date_from, date_to, order_by, limit, offset\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:222` — `PaymentController.ListTransactions()`.",
				"operationId": "PaymentController.ListTransactions",
				"x-source": "src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:222",
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/PayTransaction"
									}
								}
							}
						}
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/pay/reconcile": {
			"post": {
				"tags": [
					"Payment"
				],
				"summary": "Reconcile Transaction",
				"description": "POST /pay/reconcile\r Riconciliazione manuale di una transazione PENDING orfana:\r interroga il gateway (PayPal/Nexi) e decide lo stato finale.\r - COMPLETED se il gateway conferma pagamento avvenuto (NON perdiamo il pagamento)\r - CANCELLED se il gateway dice fallita/annullata/non trovata\r - PENDING (no update) se il gateway non risponde / stato indeterminabile\r\r Body: { uid_transaction }\r Response: { action: COMPLETED|CANCELLED|PENDING, message: \"...\" }\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:154` — `PaymentController.ReconcileTransaction()`.",
				"operationId": "PaymentController.ReconcileTransaction",
				"x-source": "src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:154",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/PaymentRequest"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "string"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/pay/refund": {
			"post": {
				"tags": [
					"Payment"
				],
				"summary": "Refund Transaction",
				"description": "POST /pay/refund\r Storno di una transazione COMPLETED.\r Body: { uid_transaction, refund_amount? }  (refund_amount opzionale: se omesso fa refund pieno)\r Response: { action: REFUNDED|FAILED, message: \"...\", gateway_response?: \"...\" }\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:179` — `PaymentController.RefundTransaction()`.",
				"operationId": "PaymentController.RefundTransaction",
				"x-source": "src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:179",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/PaymentRequest"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "string"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/pay/save": {
			"post": {
				"tags": [
					"Payment"
				],
				"summary": "Save Payment",
				"description": "POST /pay/save\r Salva il risultato del pagamento ricevuto dal gateway.\r Aggiorna lo stato della transazione (COMPLETED / FAILED / CANCELLED).\r Body: { uid_transaction, state, response_json }\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:100` — `PaymentController.SavePayment()`.",
				"operationId": "PaymentController.SavePayment",
				"x-source": "src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:100",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/PaymentRequest"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/pay/transactions/{module}/{entity_id}": {
			"get": {
				"tags": [
					"Payment"
				],
				"summary": "Get Transactions By Entity",
				"description": "GET /pay/transactions/{module}/{entity_id}\r Lista transazioni per un'entità specifica (es. booking, ordine).\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:204` — `PaymentController.GetTransactionsByEntity()`.",
				"operationId": "PaymentController.GetTransactionsByEntity",
				"x-source": "src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:204",
				"parameters": [
					{
						"name": "module",
						"in": "path",
						"required": true,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "entity_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/PayTransaction"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/pay/types": {
			"get": {
				"tags": [
					"Payment"
				],
				"summary": "Get Payment Types",
				"description": "GET /pay/types\r Lista tipi di pagamento attivi (NEXI, PAYPAL, CASH)\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:59` — `PaymentController.GetPaymentTypes()`.",
				"operationId": "PaymentController.GetPaymentTypes",
				"x-source": "src/main/java/com/kondorcs/ws_spring_payment/controller/PaymentController.java:59",
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/PayType"
									}
								}
							}
						}
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		}
	},
	"components": {
		"securitySchemes": {
			"bearerAuth": {
				"type": "http",
				"scheme": "bearer",
				"bearerFormat": "JWT",
				"description": "Token JWT emesso dal servizio di login del portale."
			}
		},
		"schemas": {
			"ErrorResponse": {
				"type": "object",
				"description": "Corpo di errore del gestore centralizzato delle eccezioni (kondorcs-utils, GlobalExceptionHandler). Le proprietà oltre a `requestId` sono presenti solo se il chiamante ha ruolo ADMIN.",
				"properties": {
					"timestamp": {
						"type": "string",
						"format": "date-time"
					},
					"status": {
						"type": "integer",
						"format": "int32"
					},
					"error": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"requestId": {
						"type": "string",
						"description": "Solo nella variante generica (utenti non ADMIN)."
					},
					"rootCause": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"formattedRootCause": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"location": {
						"type": "string",
						"description": "Solo per ADMIN: classe, metodo e riga."
					},
					"requestUri": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"httpMethod": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"user": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"parameters": {
						"type": "object",
						"additionalProperties": {
							"type": "string"
						},
						"description": "Solo per ADMIN."
					},
					"contentType": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"requestHeaders": {
						"type": "object",
						"additionalProperties": {
							"type": "string"
						},
						"description": "Solo per ADMIN."
					},
					"requestBody": {
						"type": "string",
						"description": "Solo per ADMIN, se la richiesta aveva un corpo."
					},
					"stackTrace": {
						"type": "string",
						"description": "Solo per ADMIN e solo se `log.db.write.stacktrace` è attivo."
					}
				}
			},
			"CompanyPaymentConfig": {
				"type": "object",
				"properties": {
					"pcc_id": {
						"type": "integer",
						"format": "int32"
					},
					"pcc_cmp_id": {
						"type": "integer",
						"format": "int32"
					},
					"pcc_provider": {
						"type": "string"
					},
					"pcc_environment": {
						"type": "string"
					},
					"pcc_params_enc": {
						"type": "string"
					},
					"pcc_date_upd": {
						"type": "string",
						"format": "date-time"
					},
					"totalrows": {
						"type": "integer",
						"format": "int64"
					}
				}
			},
			"PaymentRequest": {
				"type": "object"
			},
			"PayTransaction": {
				"type": "object",
				"properties": {
					"pt_uid": {
						"type": "string"
					},
					"pt_type_id": {
						"type": "integer",
						"format": "int32"
					},
					"pt_type_code": {
						"type": "string"
					},
					"pt_type_name": {
						"type": "string"
					},
					"pt_amount": {
						"type": "number"
					},
					"pt_currency": {
						"type": "string"
					},
					"pt_state": {
						"type": "string"
					},
					"pt_module": {
						"type": "string"
					},
					"pt_entity_id": {
						"type": "integer",
						"format": "int32"
					},
					"pt_entity_ref": {
						"type": "string"
					},
					"pt_detail": {
						"type": "string"
					},
					"pt_response": {
						"type": "string"
					},
					"pt_date_ins": {
						"type": "string",
						"format": "date-time"
					},
					"pt_date_response": {
						"type": "string",
						"format": "date-time"
					},
					"pt_usr_id": {
						"type": "integer",
						"format": "int32"
					},
					"pt_portal_id": {
						"type": "integer",
						"format": "int32"
					},
					"pt_external_id": {
						"type": "string"
					},
					"pt_refund_response": {
						"type": "string"
					},
					"totalrows": {
						"type": "integer",
						"format": "int64"
					}
				}
			},
			"PayType": {
				"type": "object",
				"properties": {
					"pt_id": {
						"type": "integer",
						"format": "int32"
					},
					"pt_code": {
						"type": "string"
					},
					"pt_name": {
						"type": "string"
					},
					"pt_icon": {
						"type": "string"
					},
					"pt_is_active": {
						"type": "boolean"
					}
				}
			}
		}
	},
	"security": [
		{
			"bearerAuth": []
		}
	]
}
