This error occurs on iOS when more than one currency is set against the merchant account, but the currency to be used for that transaction has not been defined within the integration.
On a test terminal, as multiple currencies are set for a default terminal ID, this error may appear.
Your integration will need to handle choosing a currency if more than one is set. The below sample code gets the available currencies and then sets the first currency in that list.
NSDictionary *dic = [properties availableCurrencies];
NSArray* arr= [dic objectForKey:kCEMPaymentMethodCard];
// display array in a picker and allow cashier to select currency
// for testing purposes, you can select an object. The following code selects the first object
NSString *first = [arr firstObject];
The test terminal ID included in the ChipDNA Mobile Demo application is a terminal ID with only one currency.