Issue #421
private func maskCvcIfAny() {
    guard
        let view = paymentTextField.subviews.first(where: { !($0 is UIImageView) }),
        let cvcField = view.subviews
			.compactMap({ $0 as? UITextField })
			.first(where: { $0.tag == 2 && ($0.accessibilityLabel ?? "").lowercased().contains("cvc")  })
    else {
        return
    }
  
    cvcField.isSecureTextEntry = true
}
where tag is in STPPaymentCardTextFieldViewModel.h
typedef NS_ENUM(NSInteger, STPCardFieldType) {
    STPCardFieldTypeNumber,
    STPCardFieldTypeExpiration,
    STPCardFieldTypeCVC,
    STPCardFieldTypePostalCode,
};
Also, need to check accessibilityLabel in STPPaymentCardTextField.m
- (NSString *)defaultCVCPlaceholder {
    if (self.viewModel.brand == STPCardBrandAmex) {
        return STPLocalizedString(@"CVV", @"Label for entering CVV in text field");
    } else {
        return STPLocalizedString(@"CVC", @"Label for entering CVC in text field");
    }
}
Start the conversation