diff --git a/src/main/kotlin/com/android/trisolarisserver/controller/RazorpayPaymentLinksController.kt b/src/main/kotlin/com/android/trisolarisserver/controller/RazorpayPaymentLinksController.kt index 083d769..5341f9c 100644 --- a/src/main/kotlin/com/android/trisolarisserver/controller/RazorpayPaymentLinksController.kt +++ b/src/main/kotlin/com/android/trisolarisserver/controller/RazorpayPaymentLinksController.kt @@ -83,6 +83,10 @@ class RazorpayPaymentLinksController( ) } + val guest = booking.primaryGuest + val guestName = guest?.name?.trim()?.ifBlank { null } + val guestPhone = guest?.phoneE164?.trim()?.ifBlank { null } + val notes = mapOf( "bookingId" to bookingId.toString(), "propertyId" to propertyId.toString() @@ -96,6 +100,12 @@ class RazorpayPaymentLinksController( // Razorpay requires reference_id to be unique per active link "reference_id" to "bk_${bookingId.toString().replace("-", "").take(12)}_${OffsetDateTime.now().toEpochSecond()}" ) + if (guestName != null || guestPhone != null) { + val customer = linkedMapOf() + guestName?.let { customer["name"] = it } + guestPhone?.let { customer["contact"] = it } + payload["customer"] = customer + } parseExpiryEpoch(request.expiryDate)?.let { payload["expire_by"] = it } request.isPartialPaymentAllowed?.let { payload["partial_payment"] = it } request.minAmountForCustomer?.let { payload["first_min_partial_amount"] = it * 100 } diff --git a/src/main/kotlin/com/android/trisolarisserver/controller/RazorpayQrPayments.kt b/src/main/kotlin/com/android/trisolarisserver/controller/RazorpayQrPayments.kt index e0d9291..39e418c 100644 --- a/src/main/kotlin/com/android/trisolarisserver/controller/RazorpayQrPayments.kt +++ b/src/main/kotlin/com/android/trisolarisserver/controller/RazorpayQrPayments.kt @@ -95,10 +95,15 @@ class RazorpayQrPayments( val expirySeconds = request.expirySeconds ?: request.expiryMinutes?.let { it * 60 } ?: 600 val expiresAt = expirySeconds?.let { OffsetDateTime.now().plusSeconds(it.toLong()) } - val notes = mapOf( + val guest = booking.primaryGuest + val guestName = guest?.name?.trim()?.ifBlank { null } + val guestPhone = guest?.phoneE164?.trim()?.ifBlank { null } + val notes = linkedMapOf( "bookingId" to bookingId.toString(), "propertyId" to propertyId.toString() ) + guestName?.let { notes["guestName"] = it } + guestPhone?.let { notes["guestPhone"] = it } val payload = linkedMapOf( "type" to "upi_qr",