fix(buy): Verwendungszweck + QR aus Confirm-Response statt Quote#741
Merged
Conversation
Die Zahlungsdetails-Seite zeigte den Verwendungszweck (und QR) aus dem Quote (bankUsage) — falsch. Der korrekte Verwendungszweck ist die Aktionariat-Referenz, die die API erst beim Confirm liefert (DFXswiss/api#3931). confirmPayment liefert jetzt das erweiterte RealUnitBuyConfirmDto (reference + remittanceInfo + paymentRequest). Die Seite rendert remittanceInfo als Verwendungszweck und paymentRequest als QR; die separate 'Ihre Referenz'-Zeile entfällt (ungenutzter buyExecutedReference-Key entfernt). Bankverbindung kommt weiter aus dem Quote (BuyPaymentInfo).
Contributor
Author
|
Hinweis: Der golden-regenerate-Lauf hat neben |
Macht den Verwendungszweck-Fix unabhängig von der API-Änderung: das Confirm- Response liefert heute schon 'reference' (= der korrekte Verwendungszweck). - RealUnitBuyConfirmDto: remittanceInfo + paymentRequest jetzt nullable. - BuyConfirmSuccess trägt reference (immer) + optional remittanceInfo/paymentRequest. - Verwendungszweck = remittanceInfo ?? reference (Fallback auf reference, heute korrekt). - QR nur aus dem Confirm-paymentRequest (heute null → kein QR; vermeidet den falschen Quote-QR mit bankUsage). Sobald die API beide Felder liefert, werden sie bevorzugt (Vorwärtskompatibel). Backward-/Forward-Compat-Tests ergänzt.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Auf der Zahlungsdetails-Seite war der Verwendungszweck falsch: er kam (wie der QR) aus dem Quote (
bankUsage). Der korrekte Verwendungszweck ist die Aktionariat-Referenz.Reine App-Lösung, abwärtskompatibel
Das Confirm-Endpoint liefert heute schon
reference(= die Aktionariat-Referenz = der korrekte Verwendungszweck). Dieser Fix nutzt das ohne jede API-Änderung:remittanceInfo ?? reference→ heute Fallback aufreference(korrekt!); sobald die APIremittanceInfoexplizit liefert, wird es bevorzugt (vorwärtskompatibel).paymentRequest, wenn vorhanden → heute kein QR (statt des falschen Quote-QR mitbankUsage!); sobald die API den korrekten QR liefert, erscheint er automatisch.RealUnitBuyConfirmDto:remittanceInfo+paymentRequestnullable → kein Parse-Fehler gegen die aktuelle API.Damit ist der Kundenbug sofort behoben, ohne Deploy-Kopplung. Die Bankverbindung (IBAN/BIC/Empfänger/Betrag) kommt weiter aus dem Quote.
buyExecutedReference-Key entfernt (ungenutzt).Tests
flutter analyzesauber;flutter test test/screens/buy test/packages/service/dfxgrün (564). Backward- und Forward-Compat-Pfad getestet (reference-only → Verwendungszweck=reference, kein QR; bzw. remittanceInfo+QR bevorzugt). Goldenbuy_payment_details_defaultreflektiert den heutigen Ist-Zustand (Verwendungszweck gesetzt, kein QR), regeneriert auf dem Runner.Verwandt (Follow-up, NICHT blockierend)
DFXswiss/api#3931 designiert
remittanceInfoexplizit + liefert den korrekten QR — sobald gemergt+deployed nutzt die App das automatisch. Bug: DFXswiss/api#3929.