libeufin

Integration and sandbox testing for FinTech APIs and data formats
Log | Files | Refs | Submodules | README | LICENSE

commit 8344295468529d906af8abc12ea6244bf6a9a73e
parent 642d36b0b738311dd0e12212f664a237bd64138c
Author: Florian Dold <florian@dold.me>
Date:   Fri, 29 Sep 2023 17:58:59 +0200

bank: strip payto URI

Diffstat:
Mbank/src/main/kotlin/tech/libeufin/bank/WireGatewayApiHandlers.kt | 4+++-
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) {