Payment fixes

This commit is contained in:
Ali 2021-04-09 15:21:37 +04:00
parent d87b5704b4
commit 593560b1f0
2 changed files with 18 additions and 2 deletions

View File

@ -431,6 +431,11 @@ private func availablePaymentMethods(form: BotPaymentForm, current: BotCheckoutP
methods.append(current) methods.append(current)
} }
} }
if let savedCredentials = form.savedCredentials {
if !methods.contains(.savedCredentials(savedCredentials)) {
methods.append(.savedCredentials(savedCredentials))
}
}
return methods return methods
} }

View File

@ -353,10 +353,21 @@ final class BotCheckoutNativeCardEntryControllerNode: ViewControllerTracingNode,
guard let maskedCardNumber = resultInfo["masked_card_number"] as? String else { guard let maskedCardNumber = resultInfo["masked_card_number"] as? String else {
throw ReponseError.generic throw ReponseError.generic
} }
guard let cardType = resultInfo["card_type"] as? String else {
throw ReponseError.generic
}
var last4 = maskedCardNumber
if last4.count > 4 {
let lastDigits = String(maskedCardNumber[maskedCardNumber.index(maskedCardNumber.endIndex, offsetBy: -4)...])
if lastDigits.allSatisfy(\.isNumber) {
last4 = "\(cardType) *\(lastDigits)"
}
}
let responseJson: [String: Any] = [ let responseJson: [String: Any] = [
"type": "card", "type": "card",
"id": "\(token)" "token": "\(token)"
] ]
let serializedResponseJson = try JSONSerialization.data(withJSONObject: responseJson, options: []) let serializedResponseJson = try JSONSerialization.data(withJSONObject: responseJson, options: [])
@ -366,7 +377,7 @@ final class BotCheckoutNativeCardEntryControllerNode: ViewControllerTracingNode,
} }
strongSelf.completion(.webToken(BotCheckoutPaymentWebToken( strongSelf.completion(.webToken(BotCheckoutPaymentWebToken(
title: maskedCardNumber, title: last4,
data: serializedResponseString, data: serializedResponseString,
saveOnServer: strongSelf.saveInfoItem.isOn saveOnServer: strongSelf.saveInfoItem.isOn
))) )))