AdditionalData

@interface AdditionalData : AbstractData

Additional Data Field: Additional information beyond basic may be required in certain cases. This information may be either presented by the merchant or acquirer or the Consumer may be prompted for entry on the app. For consumer prompt, the value field of Tag would be 3 asterisks i.e. ***.

  • Invoice number or bill number

    Declaration

    Objective-C

    @property (readwrite, retain, atomic, nullable) NSString *billNumber;

    Swift

    var billNumber: String? { get set }
  • Mobile number: To be used for top-up or bill payment

    Declaration

    Objective-C

    @property (readwrite, retain, atomic, nullable) NSString *mobileNumber;

    Swift

    var mobileNumber: String? { get set }
  • A distinctive number associated to a Store

    Declaration

    Objective-C

    @property (readwrite, retain, atomic, nullable) NSString *storeId;

    Swift

    var storeId: String? { get set }
  • Typically a loyalty card number as provided by store or airline

    Declaration

    Objective-C

    @property (readwrite, retain, atomic, nullable) NSString *loyaltyNumber;

    Swift

    var loyaltyNumber: String? { get set }
  • Any value as defined by merchant or acquirer in order to identify the transaction

    Declaration

    Objective-C

    @property (readwrite, retain, atomic, nullable) NSString *referenceId;

    Swift

    var referenceId: String? { get set }
  • Typically a subscriber ID for subscription services or student enrollment number etc.

    Declaration

    Objective-C

    @property (readwrite, retain, atomic, nullable) NSString *consumerId;

    Swift

    var consumerId: String? { get set }
  • A distinctive number associated to a Terminal in the store

    Declaration

    Objective-C

    @property (readwrite, retain, atomic, nullable) NSString *terminalId;

    Swift

    var terminalId: String? { get set }
  • Any value as defined by the merchant or acquirer in order to define the purpose of the transaction

    Declaration

    Objective-C

    @property (readwrite, retain, atomic, nullable) NSString *purpose;

    Swift

    var purpose: String? { get set }
  • Additional information to prompt consumer for; ‘A’ for Address, ‘E’ for email and ‘M’ for consumer mobile.

    Declaration

    Objective-C

    @property (readwrite, retain, atomic, nullable)
        NSString *additionalConsumerDataRequest;

    Swift

    var additionalConsumerDataRequest: String? { get set }
  • Get Unreserved Data value for tag string. The tag are from 50 to 99.

    Declaration

    Objective-C

    - (UnrestrictedData *_Nullable)
    getUnreservedDataForSubTag:(NSString *_Nonnull)tag
                         error:(NSError *_Nullable *_Nullable)error;

    Swift

    func getUnreservedData(forSubTag tag: String) throws -> UnrestrictedData

    Parameters

    tag

    NSString* tag for which to get value

    Return Value

    Value if found else nil

  • Set Unreserved Data value for tag string. The tag are from 50 to 99.

    Declaration

    Objective-C

    - (BOOL)setUnreservedData:(UnrestrictedData *_Nonnull)value
                       forTag:(NSString *_Nonnull)tag
                        error:(NSError *_Nullable *_Nullable)error;

    Swift

    func setUnreserved(_ value: UnrestrictedData, forTag tag: String) throws

    Parameters

    value

    NSString* to set

    tag

    NSString* tag to set the value of

  • Store value at any empty tag in dynamically allocatable range. This function is available on additional data class of tag 62. The function will set the sub-tag 50 to 99 automatically, starting from lowest sub-tag to highest sub-tag.

    Note

    Throws
    • UnknownTagException when the tag number is invalid
    • LimitException when all tags in range are already filled

    Declaration

    Objective-C

    - (BOOL)setDynamicTag:(UnrestrictedData *_Nonnull)value
                    error:(NSError *_Nullable *_Nullable)error;

    Swift

    func setDynamicTag(_ value: UnrestrictedData) throws

    Parameters

    value

    the value to assign

    Return Value

    updated AdditionalData

  • Get UnrestrictedData of all available tag. The return value can then be use to get the value by calling method (getTagInfoValueForTagString:error:). The tags are from 50 to 99.

    Declaration

    Objective-C

    - (NSArray<NSString *> *_Nullable)getAllDynamicTags;

    Swift

    func getAllDynamicTags() -> [String]?

    Return Value

    NSArray of available tag in string