commit 8344295468529d906af8abc12ea6244bf6a9a73e
parent 642d36b0b738311dd0e12212f664a237bd64138c
Author: Florian Dold <florian@dold.me>
Date: Fri, 29 Sep 2023 17:58:59 +0200
bank: strip payto URI
Diffstat:
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/WireGatewayApiHandlers.kt b/bank/src/main/kotlin/tech/libeufin/bank/WireGatewayApiHandlers.kt
@@ -27,6 +27,7 @@ import io.ktor.server.request.*
import io.ktor.server.response.*
import io.ktor.server.routing.*
import net.taler.common.errorcodes.TalerErrorCode
+import tech.libeufin.util.stripIbanPayto
import java.time.Instant
fun Routing.talerWireGatewayHandlers(db: Database, ctx: BankApplicationContext) {
@@ -76,10 +77,11 @@ fun Routing.talerWireGatewayHandlers(db: Database, ctx: BankApplicationContext)
val req = call.receive<TransferRequest>()
// Checking for idempotency.
val maybeDoneAlready = db.talerTransferGetFromUid(req.request_uid)
+ val creditAccount = stripIbanPayto(req.credit_account)
if (maybeDoneAlready != null) {
val isIdempotent =
maybeDoneAlready.amount == req.amount
- && maybeDoneAlready.creditAccount == req.credit_account
+ && maybeDoneAlready.creditAccount == creditAccount
&& maybeDoneAlready.exchangeBaseUrl == req.exchange_base_url
&& maybeDoneAlready.wtid == req.wtid
if (isIdempotent) {