SB nº SB-81 : CPA Currency Conversion Accumulator Overflow (Spec Change)

v1.0 Specification Bulletins

Specification Bulletin No. 81 First Edition February 2010 CPA Currency Conversion Accumulator Overflow Clarifies when an accumulator overflow is checked during Currency Conversion for CPA applications.

Effective Date

This bulletin is currently optional; any affected or new type approval testing is available immediately. It is mandatory from November 2010.

Applicability

This Specification Bulletin applies to:

  • EMV Integrated Circuit Card Specifications for Payment Systems, Common Payment Application Specification

Related Documents

  • Specification Update Bulletin 58

Description

The CPA specification flow for currency conversion during First Card Action Analysis includes checking whether the accumulator has overflowed in the middle of converting the Amount Authorised to the Target Currency (in addition to checking whether the end result after conversion results in an overflow). This additional check is inconsistent with the currency conversion flow shown during Second Card Action Analysis and with the requirements described in the text, causing inconsistency between currency conversion in First Card Action Analysis and Second Card Action Analysis and between implementations that follow the text versus implementations that follow the flow. Performing the extra overflow check in the middle of currency conversion could result in an overflow, even if the final result after adjusting for the conversion exponent would not result in an overflow. The more frequent overflow detection could cause more transactions to be sent online or declined offline. The purpose of this bulletin is to correct the currency conversion flow during First Card Action Analysis to be consistent with the flow during Second Card Action Analysis, the text requirements, and existing testing by removing the additional check for an overflow. Specification Change Notice Please replace Figure 15-16.1 with the following simplified figure (which also incorporates edit #301 from Specification Update Bulletin 58): 75 Temp Amount = ‘Amount authorised’ X ‘Currency conversion parameter’ from current currency conversion entry Conversion Y exponent ≥ 128 N [bit 8 set] ? Converted amount = Temp Amount / 10 (conv. Exponent - 128) Converted amount = Temp Amount X 10 (conv. exponent) Overflow? N Y Return (error condition) Return Converted amount