Align PayU QR request with docs
Some checks failed
build-and-deploy / build-deploy (push) Failing after 29s
Some checks failed
build-and-deploy / build-deploy (push) Failing after 29s
This commit is contained in:
@@ -77,14 +77,15 @@ class PayuQrPayments(
|
||||
val productInfo = "Booking $bookingId"
|
||||
val firstname = request.customerName?.trim()?.ifBlank { null } ?: "Guest"
|
||||
val email = request.customerEmail?.trim()?.ifBlank { null } ?: "guest@example.com"
|
||||
val phone = request.customerPhone?.trim()?.ifBlank { null } ?: ""
|
||||
val phone = request.customerPhone?.trim()?.ifBlank { null }
|
||||
?: throw ResponseStatusException(HttpStatus.BAD_REQUEST, "customerPhone required")
|
||||
val amount = String.format("%.2f", pending.toDouble())
|
||||
|
||||
val udf1 = bookingId.toString()
|
||||
val udf2 = propertyId.toString()
|
||||
val udf3 = ""
|
||||
val udf4 = ""
|
||||
val udf5 = ""
|
||||
val udf3 = request.udf3?.trim()?.ifBlank { "" } ?: ""
|
||||
val udf4 = request.udf4?.trim()?.ifBlank { "" } ?: ""
|
||||
val udf5 = request.udf5?.trim()?.ifBlank { "" } ?: ""
|
||||
val hash = sha512(
|
||||
listOf(
|
||||
settings.merchantKey,
|
||||
@@ -116,15 +117,32 @@ class PayuQrPayments(
|
||||
add("firstname", firstname)
|
||||
add("email", email)
|
||||
add("phone", phone)
|
||||
add("surl", settings.successUrl)
|
||||
add("furl", settings.failureUrl)
|
||||
add("pg", "DBQR")
|
||||
add("bankcode", "UPIDBQR")
|
||||
add("hash", hash)
|
||||
add("udf1", udf1)
|
||||
add("udf2", udf2)
|
||||
if (udf3.isNotBlank()) add("udf3", udf3)
|
||||
if (udf4.isNotBlank()) add("udf4", udf4)
|
||||
if (udf5.isNotBlank()) add("udf5", udf5)
|
||||
add("txn_s2s_flow", "4")
|
||||
add("s2s_client_ip", "127.0.0.1")
|
||||
add("s2s_device_info", "TrisolarisServer")
|
||||
request.expiryMinutes?.let { add("expiry_time", it.toString()) }
|
||||
val clientIp = request.clientIp?.trim()?.ifBlank { null }
|
||||
?: throw ResponseStatusException(HttpStatus.BAD_REQUEST, "clientIp required")
|
||||
val deviceInfo = request.deviceInfo?.trim()?.ifBlank { null }
|
||||
?: throw ResponseStatusException(HttpStatus.BAD_REQUEST, "deviceInfo required")
|
||||
add("s2s_client_ip", clientIp)
|
||||
add("s2s_device_info", deviceInfo)
|
||||
val expirySeconds = request.expirySeconds
|
||||
?: request.expiryMinutes?.let { it * 60 }
|
||||
expirySeconds?.let { add("expiry_time", it.toString()) }
|
||||
request.address1?.trim()?.ifBlank { null }?.let { add("address1", it) }
|
||||
request.address2?.trim()?.ifBlank { null }?.let { add("address2", it) }
|
||||
request.city?.trim()?.ifBlank { null }?.let { add("city", it) }
|
||||
request.state?.trim()?.ifBlank { null }?.let { add("state", it) }
|
||||
request.country?.trim()?.ifBlank { null }?.let { add("country", it) }
|
||||
request.zipcode?.trim()?.ifBlank { null }?.let { add("zipcode", it) }
|
||||
}
|
||||
|
||||
val requestPayload = form.entries.joinToString("&") { entry ->
|
||||
|
||||
Reference in New Issue
Block a user