Amadis

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Multi-Acquirer is a mode of operation that is quite frequent in some countries/scenarios.

It is done when the totals are accumulated under a different contract/bank and are using a separate set of configurations.

For the sake of explaining, we are going to make a configuration with 3 acquirers :

  • Amex.

  • Cheap Bank for low value (under 25 euros)

  • Great Bank for high value (over 25 euros)

They are all going to point to the same host (ID : ACQUIRER001)

AcquirerParameters

The first things we must define are the AcquirerParameters in the ACU.

Amex

<AcqrrPrtcolParams>
	<ActnTp>UPDT</ActnTp>
	<AcqrrId>
	  <Id>01</Id>
	  <ShrtNm>AMEX</ShrtNm>
	</AcqrrId>
	<Vrsn>2022-02-25 21:01:47</Vrsn>
	<ApplId>Amadis.Arkos</ApplId>
	<Hst>
	  <HstId>ACQUIRER001</HstId>
	  <MsgToSnd>FAUQ</MsgToSnd>
	  <MsgToSnd>AUTQ</MsgToSnd>
	  <MsgToSnd>CCAQ</MsgToSnd>
	  <MsgToSnd>RCLQ</MsgToSnd>
	  <MsgToSnd>CMPV</MsgToSnd>
	  <MsgToSnd>CCAV</MsgToSnd>
	  <MsgToSnd>FRVA</MsgToSnd>
	  <MsgToSnd>FCMV</MsgToSnd>
	  <MsgToSnd>RVRA</MsgToSnd>
	  <MsgToSnd>DGNP</MsgToSnd>
	  <MsgToSnd>DCRR</MsgToSnd>
	  <MsgToSnd>DCCQ</MsgToSnd>
	</Hst>
	<OnLineTx>
	  <FinCaptr>COMP</FinCaptr>
	  <CmpltnXchg>
		<XchgPlcy>IMMD</XchgPlcy>
		<ReTry>
		  <Dely>200</Dely>
		</ReTry>
		<XchgFaild>True</XchgFaild>
		<XchgDclnd>True</XchgDclnd>
	  </CmpltnXchg>
	</OnLineTx>
	<OffLineTx>
	  <FinCaptr>COMP</FinCaptr>
	  <CmpltnXchg>
		<XchgPlcy>IMMD</XchgPlcy>
		<ReTry>
		  <Dely>200</Dely>
		</ReTry>
		<XchgFaild>True</XchgFaild>
		<XchgDclnd>True</XchgDclnd>
	  </CmpltnXchg>
	</OffLineTx>
	<RcncltnXchg>
	  <XchgPlcy>ONDM</XchgPlcy>
	  <ReTry>
		<Dely>200</Dely>
	  </ReTry>
	</RcncltnXchg>
	<MsgItm>
	  <ItmId>Hdr/InitgPty/Id</ItmId>
	  <Cond>CFVL</Cond>
	  <Val>None</Val>
	</MsgItm>
	<PrtctCardData>False</PrtctCardData>
	<MndtrySctyTrlr>False</MndtrySctyTrlr>
</AcqrrPrtcolParams>

Cheap Bank of the World

<AcqrrPrtcolParams>
	<ActnTp>UPDT</ActnTp>
	<AcqrrId>
	  <Id>02</Id>
	  <ShrtNm>Cheap Bank of the World</ShrtNm>
	</AcqrrId>
	<Vrsn>2022-02-25 21:01:47</Vrsn>
	<ApplId>Amadis.Arkos</ApplId>
	<Hst>
	  <HstId>ACQUIRER001</HstId>
	  <MsgToSnd>FAUQ</MsgToSnd>
	  <MsgToSnd>AUTQ</MsgToSnd>
	  <MsgToSnd>CCAQ</MsgToSnd>
	  <MsgToSnd>RCLQ</MsgToSnd>
	  <MsgToSnd>CMPV</MsgToSnd>
	  <MsgToSnd>CCAV</MsgToSnd>
	  <MsgToSnd>FRVA</MsgToSnd>
	  <MsgToSnd>FCMV</MsgToSnd>
	  <MsgToSnd>RVRA</MsgToSnd>
	  <MsgToSnd>DGNP</MsgToSnd>
	  <MsgToSnd>DCRR</MsgToSnd>
	  <MsgToSnd>DCCQ</MsgToSnd>
	</Hst>
	<OnLineTx>
	  <FinCaptr>COMP</FinCaptr>
	  <CmpltnXchg>
		<XchgPlcy>IMMD</XchgPlcy>
		<ReTry>
		  <Dely>200</Dely>
		</ReTry>
		<XchgFaild>True</XchgFaild>
		<XchgDclnd>True</XchgDclnd>
	  </CmpltnXchg>
	</OnLineTx>
	<OffLineTx>
	  <FinCaptr>COMP</FinCaptr>
	  <CmpltnXchg>
		<XchgPlcy>IMMD</XchgPlcy>
		<ReTry>
		  <Dely>200</Dely>
		</ReTry>
		<XchgFaild>True</XchgFaild>
		<XchgDclnd>True</XchgDclnd>
	  </CmpltnXchg>
	</OffLineTx>
	<RcncltnXchg>
	  <XchgPlcy>ONDM</XchgPlcy>
	  <ReTry>
		<Dely>200</Dely>
	  </ReTry>
	</RcncltnXchg>
	<MsgItm>
	  <ItmId>Hdr/InitgPty/Id</ItmId>
	  <Cond>CFVL</Cond>
	  <Val>None</Val>
	</MsgItm>
	<PrtctCardData>False</PrtctCardData>
	<MndtrySctyTrlr>False</MndtrySctyTrlr>
</AcqrrPrtcolParams>

Great Bank of the World

<AcqrrPrtcolParams>
	<ActnTp>UPDT</ActnTp>
	<AcqrrId>
	  <Id>03</Id>
	  <ShrtNm>Great Bank of the World</ShrtNm>
	</AcqrrId>
	<Vrsn>2022-02-25 21:01:47</Vrsn>
	<ApplId>Amadis.Arkos</ApplId>
	<Hst>
	  <HstId>ACQUIRER001</HstId>
	  <MsgToSnd>FAUQ</MsgToSnd>
	  <MsgToSnd>AUTQ</MsgToSnd>
	  <MsgToSnd>CCAQ</MsgToSnd>
	  <MsgToSnd>RCLQ</MsgToSnd>
	  <MsgToSnd>CMPV</MsgToSnd>
	  <MsgToSnd>CCAV</MsgToSnd>
	  <MsgToSnd>FRVA</MsgToSnd>
	  <MsgToSnd>FCMV</MsgToSnd>
	  <MsgToSnd>RVRA</MsgToSnd>
	  <MsgToSnd>DGNP</MsgToSnd>
	  <MsgToSnd>DCRR</MsgToSnd>
	  <MsgToSnd>DCCQ</MsgToSnd>
	</Hst>
	<OnLineTx>
	  <FinCaptr>COMP</FinCaptr>
	  <CmpltnXchg>
		<XchgPlcy>IMMD</XchgPlcy>
		<ReTry>
		  <Dely>200</Dely>
		</ReTry>
		<XchgFaild>True</XchgFaild>
		<XchgDclnd>True</XchgDclnd>
	  </CmpltnXchg>
	</OnLineTx>
	<OffLineTx>
	  <FinCaptr>COMP</FinCaptr>
	  <CmpltnXchg>
		<XchgPlcy>IMMD</XchgPlcy>
		<ReTry>
		  <Dely>200</Dely>
		</ReTry>
		<XchgFaild>True</XchgFaild>
		<XchgDclnd>True</XchgDclnd>
	  </CmpltnXchg>
	</OffLineTx>
	<RcncltnXchg>
	  <XchgPlcy>ONDM</XchgPlcy>
	  <ReTry>
		<Dely>200</Dely>
	  </ReTry>
	</RcncltnXchg>
	<MsgItm>
	  <ItmId>Hdr/InitgPty/Id</ItmId>
	  <Cond>CFVL</Cond>
	  <Val>None</Val>
	</MsgItm>
	<PrtctCardData>False</PrtctCardData>
	<MndtrySctyTrlr>False</MndtrySctyTrlr>
</AcqrrPrtcolParams>

Application Parameters

After that, we must define the application parameters to be used by the nexoFAST application.

Template ED (Acquirer Parameter Table)

Each acquirer must have an entry in the ED template

Amex

0xBF01: 
        [ 0xDF01: 01
        , 0xDF02: 414D4558 (Amex)
        , 0xDF03: 00
        ]

Cheap Bank of the World

0xBF01: 
        [ 0xDF01: 02
        , 0xDF02: 434845415042414E4B (CHEAPBANK)
        , 0xDF03: 00
        ]

Great Bank of the World

0xBF01: 
        [ 0xDF01: 03
        , 0xDF02: 475245415442414E4B
        , 0xDF03: 00
        ]

Template E2 (Application Profile Selection Table)

For the low-value vs high-value acquirers, we must configure correctly the E2 profiles to point to the correct profiles with the right acquirer parameters

For each AID-Technology combination, we will have two entries as follow :

0xBF01: 
        [ 0xDF03: e180
        , 0xDF0F: 01 (Contact Interface)
        , 0xDF01: a0000000031010 (Visa)
        , 0xDF02: 00 (Profile 00)
		, 0xDF0D: 000000002500 (Maximum Amount)
        ]
, 0xBF01: 
        [ 0xDF03: e180
        , 0xDF0F: 01 (Contact Interface)
        , 0xDF01: a0000000031010 (Visa)
        , 0xDF02: 40 (Profile 40, let's add 40 to the low value profile)
        ]
, 0xBF01: 
        [ 0xDF03: e180
        , 0xDF0F: 06 (Contactless Interface)
        , 0xDF10: 03 (Kernel ID)
        , 0xDF01: a0000000031010 (Visa)
        , 0xDF02: 02 (Profile 02)
		, 0xDF0D: 000000002500 (Maximum Amount)
        ]
, 0xBF01: 
        [ 0xDF03: e180
        , 0xDF0F: 06 (Contactless Interface)
        , 0xDF10: 03 (Kernel ID)
        , 0xDF01: a0000000031010 (Visa)
        , 0xDF02: 42 (Profile 42, let's add 40 to the low value profile)
        ]        

Note that for this example, it is crucial to have the right order, because entries without maximum amount also match low value. Therefore, low-value entry is always before high-value.

Amex Entry does not need to have low-value vs high-value because it points to the same acquirer.

  • No labels