SavedPaymentMethod

@objc(DTSavedPaymentMethod)
@objcMembers
public class SavedPaymentMethod : PaymentMethod

This is the base class to save a payment method and use it to process recurring payments or fast checkouts.

This class is sufficient for some payment methods (e.g. Twint). More complex payment methods require you to specify additional details in their SavedPaymentMethod subclass (e.g. card payments, PostFinance, etc.).

Please refer to this list to see if you need to use one of the subclasses for your payments:

  • Easy payment methods: Swisscom Pay, SEPA (ELV), Twint, Apple Pay, CembraPay, SwissPass, Powerpay Invoice
  • Complex payment methods (requiring a SavedPaymentMethod subclass): Card payments, PayPal, PostFinance, Reka, Boncard

Please refer to the Datatrans documentation to see if you can register a payment method during payment or require a dedicated registration.

  • The alias that can be used to process recurring payments or fast checkouts.

    Declaration

    Swift

    public var alias: String
  • A human readable title.

    Declaration

    Swift

    public var displayTitle: String { get }
  • For VoiceOver this title is used instead of displayTitle.

    Declaration

    Swift

    public var accessibilityTitle: String { get }
  • This init method has to be used to initialize a saved payment method.

    Declaration

    Swift

    public init(type: PaymentMethodType, alias: String)

    Parameters

    type

    Payment method type, e.g. PayPal or Twint

    alias

    The alias that can be used to process recurring payments or fast checkouts.

  • Creates a SavedPaymentMethod from a JSON string.

    Use this method to deserialize a saved payment method. It takes a JSON string that has been created with toJson().

    The JSON string is compatible with the Android version of the Datatrans SDK.

    Declaration

    Swift

    public class func create(jsonString: String) -> SavedPaymentMethod?

    Parameters

    jsonString

    The JSON string representation

    Return Value

    The decoded SavedPaymentMethod or one of its subclasses, if successful, nil if jsonString is invalid.

  • Creates a SavedPaymentMethod from data encoded by the old payment library.

    Declaration

    Swift

    public class func create(legacySavedPaymentMethodData: Data) -> SavedPaymentMethod?

    Parameters

    legacySavedPaymentMethodData

    Data encoded by DTRecurringPaymentMethod.data(), DTCreditCard.data(), DTPostFinanceCard.data(), DTReka.data(), DTPayPal.data() or DTELV.data().

    Return Value

    The decoded SavedPaymentMethod or one of its subclasses, if successful, nil if legacySavedPaymentMethodData is invalid.

  • Returns a JSON string representation of this saved payment method object.

    Use this method to serialize a saved payment method. The resulting JSON string can be deserialized with create(jsonString:).

    The JSON string is compatible with the Android version of the Datatrans SDK.

    Declaration

    Swift

    public func toJson() -> String

    Return Value

    The JSON string representation

  • This function checks if the saved payment method is valid.

    When e.g. called on a SavedCard it tells you if the expiration date is in the future or not.

    Declaration

    Swift

    public func isValid() -> Bool