Skip to content

Commit 272a97a

Browse files
committed
Updates iOS for new payment token dictionary structure
1 parent d438455 commit 272a97a

File tree

1 file changed

+9
-14
lines changed

1 file changed

+9
-14
lines changed

ios/StripeSdkImpl.swift

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1556,17 +1556,12 @@ public class StripeSdkImpl: NSObject, UIAdaptivePresentationControllerDelegate {
15561556

15571557
@objc(getCryptoTokenDisplayData:)
15581558
public func getCryptoTokenDisplayData(token: NSDictionary) -> [String: String]? {
1559-
guard let type = token["type"] as? String else {
1560-
return nil
1561-
}
1562-
15631559
let label = STPPaymentMethodType.link.displayName
15641560

1565-
switch type {
1566-
case "Card":
1567-
let brand = token["brand"] as? String ?? ""
1568-
let funding = token["funding"] as? String ?? ""
1569-
let last4 = token["last4"] as? String ?? ""
1561+
if let cardDetails = token["card"] as? [String: Any] {
1562+
let brand = cardDetails["brand"] as? String ?? ""
1563+
let funding = cardDetails["funding"] as? String ?? ""
1564+
let last4 = cardDetails["last4"] as? String ?? ""
15701565

15711566
let cardBrand = STPCard.brand(from: brand)
15721567
let icon = STPImageLibrary.cardBrandImage(for: cardBrand)
@@ -1575,14 +1570,14 @@ public class StripeSdkImpl: NSObject, UIAdaptivePresentationControllerDelegate {
15751570
let mappedFunding = STPCardFundingType(funding)
15761571
let formattedBrandName = String(format: mappedFunding.displayNameWithBrand, brandName ?? "")
15771572
let sublabel = "\(formattedBrandName) •••• \(last4)"
1578-
1573+
15791574
let result = PaymentMethodDisplayData(icon: icon, label: label, sublabel: sublabel)
15801575
let displayData = Mappers.paymentMethodDisplayDataToMap(result)
15811576

15821577
return displayData
1583-
case "BankAccount":
1584-
let bankName = token["bankName"] as? String ?? ""
1585-
let last4 = token["last4"] as? String ?? ""
1578+
} else if let bankDetails = token["us_bank_account"] as? [String: Any] {
1579+
let bankName = bankDetails["bank_name"] as? String ?? ""
1580+
let last4 = bankDetails["last4"] as? String ?? ""
15861581

15871582
let iconCode = PaymentSheetImageLibrary.bankIconCode(for: bankName)
15881583
let icon = PaymentSheetImageLibrary.bankIcon(for: iconCode, iconStyle: .filled)
@@ -1592,7 +1587,7 @@ public class StripeSdkImpl: NSObject, UIAdaptivePresentationControllerDelegate {
15921587
let displayData = Mappers.paymentMethodDisplayDataToMap(result)
15931588

15941589
return displayData
1595-
default:
1590+
} else {
15961591
return nil
15971592
}
15981593
}

0 commit comments

Comments
 (0)