taler-ios

iOS apps for GNU Taler (wallet)
Log | Files | Refs | README | LICENSE

commit b4edb8d136bbd773adaf13bd11a94f9ed346b244
parent 663feac189b2bdb4c04fe113975f1dd64a443697
Author: Marc Stibane <marc@taler.net>
Date:   Fri,  4 Sep 2026 19:03:37 +0200

unclaimPayment

Diffstat:
MTalerWallet1/Model/Model+Payment.swift | 26++++++++++++++++++++++++++
1 file changed, 26 insertions(+), 0 deletions(-)

diff --git a/TalerWallet1/Model/Model+Payment.swift b/TalerWallet1/Model/Model+Payment.swift @@ -639,6 +639,22 @@ fileprivate struct ConfirmPayForUri: WalletBackendFormattedRequest { var progressToken: String? } } + +struct UnclaimPaymentResult: Decodable { + var talerPayUri: String +} + +fileprivate struct UnclaimPayment: WalletBackendFormattedRequest { + typealias Response = UnclaimPaymentResult + var operation: String { "unclaimPayment" } + func args() -> Args { Args(transactionId: transactionId, progressToken: transactionId) } + + var transactionId: String + struct Args: Encodable { + var transactionId: String + var progressToken: String? + } +} // MARK: - extension WalletModel { /// load payment details. Networking involved @@ -687,4 +703,14 @@ extension WalletModel { let response = try await sendRequest(request, viewHandles: viewHandles) return response } + + nonisolated func unclaimPayment(_ transactionId: String, viewHandles: Bool = false) + async throws -> String { + let request = UnclaimPayment(transactionId: transactionId) + let controller = Controller.shared + controller.progressOperation = request.operation + controller.progressToken = transactionId + let response = try await sendRequest(request, viewHandles: viewHandles) + return response.talerPayUri + } }