fix(api): map API response error payload and validate card saving synchronously
This commit is contained in:
@@ -1332,9 +1332,7 @@ struct PaymentCardView: View {
|
||||
nickname: nickname.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty ? nil : nickname,
|
||||
isDefault: false
|
||||
)
|
||||
Task<Void, Never> {
|
||||
do { _ = try await ApiService().saveCard(payload: savePayload) } catch {}
|
||||
}
|
||||
_ = try await ApiService().saveCard(payload: savePayload)
|
||||
}
|
||||
|
||||
let response = try await ApiService().createOrder(storeId: context.storeId, payload: payload)
|
||||
@@ -1761,12 +1759,11 @@ struct ChangePaymentNewCardView: View {
|
||||
appState.profile.cpf = cleanCpf
|
||||
Task<Void, Never> { do { _ = try await ApiService().updateProfileCpf(cpf: cleanCpf) } catch {} }
|
||||
}
|
||||
if saveCard {
|
||||
let sp = SaveCardPayload(creditCard: SaveCardCreditCardPayload(holderName: holderName, number: cleanNumber, expiryMonth: expiryMonth, expiryYear: expiryYear, ccv: cvv), creditCardHolderInfo: holderInfo, nickname: nickname.trimmingCharacters(in: .whitespaces).isEmpty ? nil : nickname, isDefault: false)
|
||||
Task<Void, Never> { do { _ = try await ApiService().saveCard(payload: sp) } catch {} }
|
||||
}
|
||||
|
||||
do {
|
||||
if saveCard {
|
||||
let sp = SaveCardPayload(creditCard: SaveCardCreditCardPayload(holderName: holderName, number: cleanNumber, expiryMonth: expiryMonth, expiryYear: expiryYear, ccv: cvv), creditCardHolderInfo: holderInfo, nickname: nickname.trimmingCharacters(in: .whitespaces).isEmpty ? nil : nickname, isDefault: false)
|
||||
_ = try await ApiService().saveCard(payload: sp)
|
||||
}
|
||||
let response = try await ApiService().changePaymentMethod(storeId: pixContext.storeId, orderId: pixContext.orderId, payload: payload)
|
||||
if response.error { SnackbarCenter.shared.show(title: response.message ?? "Pagamento recusado.", style: .error, icon: "xmark.octagon.fill", duration: 4.0); return }
|
||||
onConfirmed(pixContext.orderId, pixContext.shortId)
|
||||
|
||||
Reference in New Issue
Block a user