From cf0c38deb52ed48af97800653ba18983737f44d5 Mon Sep 17 00:00:00 2001 From: androidlover5842 Date: Sun, 1 Feb 2026 12:03:23 +0530 Subject: [PATCH] Fix Razorpay webhook payload size limits --- AGENTS.md | 8 ++++++++ .../config/RazorpayPaymentAttemptSchemaFix.kt | 2 ++ .../config/RazorpayPaymentLinkRequestSchemaFix.kt | 4 ++++ .../config/RazorpayWebhookLogSchemaFix.kt | 4 ++++ .../models/payment/RazorpayPaymentAttempt.kt | 2 +- .../models/payment/RazorpayPaymentLinkRequest.kt | 6 +++--- .../models/payment/RazorpayQrRequest.kt | 12 ++++++------ .../models/payment/RazorpaySettings.kt | 6 +++--- .../models/payment/RazorpayWebhookLog.kt | 6 +++--- 9 files changed, 34 insertions(+), 16 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 9e9733c..5486f2b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -189,3 +189,11 @@ Notes / constraints Operational notes - Payment provider migrated: PayU removed; Razorpay now used for settings, QR, payment links, and webhooks. - Server access: SSH host alias `hotel` is available for server operations (e.g., `ssh hotel`). Use carefully; DB changes were done via `sudo -u postgres psql` on the server when needed. + +Access / ops notes (prod) +- Service: `TrisolarisServer.service` (systemd). `systemctl cat TrisolarisServer.service`. +- Deploy path: `/opt/deploy/TrisolarisServer` (runs `build/libs/*.jar`). +- Active profile: `prod` (see service Environment=SPRING_PROFILES_ACTIVE=prod). +- DB (prod): PostgreSQL `trisolaris` on `localhost:5432` (see `/opt/deploy/TrisolarisServer/src/main/resources/application-prod.properties`). +- DB (dev): PostgreSQL `trisolaris` on `192.168.1.53:5432` (see `application-dev.properties`). +- DB access (server): `sudo -u postgres psql -d trisolaris`. diff --git a/src/main/kotlin/com/android/trisolarisserver/config/RazorpayPaymentAttemptSchemaFix.kt b/src/main/kotlin/com/android/trisolarisserver/config/RazorpayPaymentAttemptSchemaFix.kt index 5cef0a1..c93d604 100644 --- a/src/main/kotlin/com/android/trisolarisserver/config/RazorpayPaymentAttemptSchemaFix.kt +++ b/src/main/kotlin/com/android/trisolarisserver/config/RazorpayPaymentAttemptSchemaFix.kt @@ -37,5 +37,7 @@ class RazorpayPaymentAttemptSchemaFix( """.trimIndent() ) } + logger.info("Ensuring razorpay_payment_attempt text column sizes") + jdbcTemplate.execute("alter table razorpay_payment_attempt alter column payload type text") } } diff --git a/src/main/kotlin/com/android/trisolarisserver/config/RazorpayPaymentLinkRequestSchemaFix.kt b/src/main/kotlin/com/android/trisolarisserver/config/RazorpayPaymentLinkRequestSchemaFix.kt index 3c08987..a7f537b 100644 --- a/src/main/kotlin/com/android/trisolarisserver/config/RazorpayPaymentLinkRequestSchemaFix.kt +++ b/src/main/kotlin/com/android/trisolarisserver/config/RazorpayPaymentLinkRequestSchemaFix.kt @@ -37,5 +37,9 @@ class RazorpayPaymentLinkRequestSchemaFix( """.trimIndent() ) } + logger.info("Ensuring razorpay_payment_link_request text column sizes") + jdbcTemplate.execute("alter table razorpay_payment_link_request alter column short_url type text") + jdbcTemplate.execute("alter table razorpay_payment_link_request alter column request_payload type text") + jdbcTemplate.execute("alter table razorpay_payment_link_request alter column response_payload type text") } } diff --git a/src/main/kotlin/com/android/trisolarisserver/config/RazorpayWebhookLogSchemaFix.kt b/src/main/kotlin/com/android/trisolarisserver/config/RazorpayWebhookLogSchemaFix.kt index 43a7bb2..f08e13a 100644 --- a/src/main/kotlin/com/android/trisolarisserver/config/RazorpayWebhookLogSchemaFix.kt +++ b/src/main/kotlin/com/android/trisolarisserver/config/RazorpayWebhookLogSchemaFix.kt @@ -32,5 +32,9 @@ class RazorpayWebhookLogSchemaFix( """.trimIndent() ) } + logger.info("Ensuring razorpay_webhook_log text column sizes") + jdbcTemplate.execute("alter table razorpay_webhook_log alter column headers type text") + jdbcTemplate.execute("alter table razorpay_webhook_log alter column payload type text") + jdbcTemplate.execute("alter table razorpay_webhook_log alter column content_type type text") } } diff --git a/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayPaymentAttempt.kt b/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayPaymentAttempt.kt index 4d414ac..111a8aa 100644 --- a/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayPaymentAttempt.kt +++ b/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayPaymentAttempt.kt @@ -40,7 +40,7 @@ class RazorpayPaymentAttempt( @Column(name = "order_id") var orderId: String? = null, - @Column(name = "payload") + @Column(name = "payload", columnDefinition = "text") var payload: String? = null, @Column(name = "received_at", nullable = false, columnDefinition = "timestamptz") diff --git a/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayPaymentLinkRequest.kt b/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayPaymentLinkRequest.kt index 2becf96..03d145d 100644 --- a/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayPaymentLinkRequest.kt +++ b/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayPaymentLinkRequest.kt @@ -34,13 +34,13 @@ class RazorpayPaymentLinkRequest( @Column(name = "status") var status: String, - @Column(name = "short_url") + @Column(name = "short_url", columnDefinition = "text") var shortUrl: String? = null, - @Column(name = "request_payload") + @Column(name = "request_payload", columnDefinition = "text") var requestPayload: String? = null, - @Column(name = "response_payload") + @Column(name = "response_payload", columnDefinition = "text") var responsePayload: String? = null, @Column(name = "created_at", nullable = false, columnDefinition = "timestamptz") diff --git a/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayQrRequest.kt b/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayQrRequest.kt index cbbc609..fea7bd0 100644 --- a/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayQrRequest.kt +++ b/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayQrRequest.kt @@ -22,25 +22,25 @@ class RazorpayQrRequest( @JoinColumn(name = "booking_id", nullable = false) var booking: Booking, - @Column(name = "qr_id") + @Column(name = "qr_id", columnDefinition = "text") var qrId: String? = null, @Column(name = "amount") var amount: Long, - @Column(name = "currency") + @Column(name = "currency", columnDefinition = "text") var currency: String, - @Column(name = "status") + @Column(name = "status", columnDefinition = "text") var status: String, - @Column(name = "image_url") + @Column(name = "image_url", columnDefinition = "text") var imageUrl: String? = null, - @Column(name = "request_payload") + @Column(name = "request_payload", columnDefinition = "text") var requestPayload: String? = null, - @Column(name = "response_payload") + @Column(name = "response_payload", columnDefinition = "text") var responsePayload: String? = null, @Column(name = "expiry_at", columnDefinition = "timestamptz") diff --git a/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpaySettings.kt b/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpaySettings.kt index 29ccb73..466366e 100644 --- a/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpaySettings.kt +++ b/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpaySettings.kt @@ -17,13 +17,13 @@ class RazorpaySettings( @JoinColumn(name = "property_id", nullable = false, unique = true) var property: Property, - @Column(name = "key_id", nullable = false) + @Column(name = "key_id", nullable = false, columnDefinition = "text") var keyId: String, - @Column(name = "key_secret", nullable = false) + @Column(name = "key_secret", nullable = false, columnDefinition = "text") var keySecret: String, - @Column(name = "webhook_secret") + @Column(name = "webhook_secret", columnDefinition = "text") var webhookSecret: String? = null, @Column(name = "is_test", nullable = false) diff --git a/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayWebhookLog.kt b/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayWebhookLog.kt index 654d293..07379ec 100644 --- a/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayWebhookLog.kt +++ b/src/main/kotlin/com/android/trisolarisserver/models/payment/RazorpayWebhookLog.kt @@ -17,13 +17,13 @@ class RazorpayWebhookLog( @JoinColumn(name = "property_id", nullable = false) var property: Property, - @Column(name = "headers") + @Column(name = "headers", columnDefinition = "text") var headers: String? = null, - @Column(name = "payload") + @Column(name = "payload", columnDefinition = "text") var payload: String? = null, - @Column(name = "content_type") + @Column(name = "content_type", columnDefinition = "text") var contentType: String? = null, @Column(name = "received_at", nullable = false, columnDefinition = "timestamptz")