Getting started
The following steps help you proceed one by one - first you setup the two factor authentication (client certificate / basic auth) so that you can run request without card present related encryption. After that and having set up cryptography on your end, you can send fully qualified requests with PIN block and SRED data, as later in production.
- install Java Keystore (JKS) certificate (or key / pem file) obtained from Fiserv
- Setup user / password obtained from fiserv for basic authentication
- Establish connectivity with test environment: https://test3.ipg-online.com/epas/v1
- Send diagnostic messages (unencrypted)
- Send authorization request (unencrypted)
- Repeat step 4 with encrypted card data
- Contact your Fiserv contact for further steps
Message examples
Sale (purchase) - encrypted
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caaa.001.001.06" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AccptrAuthstnReq>
<Hdr>
<MsgFctn>FAUQ</MsgFctn>
<PrtcolVrsn>6.0</PrtcolVrsn>
<XchgId>005</XchgId>
<CreDtTm>2023-09-25T16:19:22.7+00:00</CreDtTm>
<InitgPty>
<Id>19191919</Id>
<Tp>OPOI</Tp>
<ShrtNm>ShortNameExample</ShrtNm>
</InitgPty>
</Hdr>
<AuthstnReq>
<Envt>
<Acqrr>
<Id>
<Id>001</Id>
</Id>
<ParamsVrsn>202309999913228</ParamsVrsn>
</Acqrr>
<Mrchnt>
<Id>
<Id>9999945001014</Id>
</Id>
<CmonNm>MerchantName 78964 </CmonNm>
</Mrchnt>
<POI>
<Id>
<Id>ABC1234D</Id>
<Tp>OPOI</Tp>
<ShrtNm>ABC1234D</ShrtNm>
</Id>
<GrpId>9999001014</GrpId>
<Cpblties>
<CardRdngCpblties>MGST</CardRdngCpblties>
<CardRdngCpblties>CICC</CardRdngCpblties>
<CardRdngCpblties>ECTL</CardRdngCpblties>
<CardRdngCpblties>PHYS</CardRdngCpblties>
<CrdhldrVrfctnCpblties>FCPN</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>FEPN</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>NPIN</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>OTHR</CrdhldrVrfctnCpblties>
<ApprvlCdLngth>6</ApprvlCdLngth>
<OnLineCpblties>SMON</OnLineCpblties>
<MsgCpblties>
<Dstn>CDSP</Dstn>
<AvlblFrmt>TEXT</AvlblFrmt>
<NbOfLines>4</NbOfLines>
<LineWidth>32</LineWidth>
<AvlblLang>es</AvlblLang>
<AvlblLang>bg</AvlblLang>
<AvlblLang>cs</AvlblLang>
<AvlblLang>da</AvlblLang>
<AvlblLang>nl</AvlblLang>
<AvlblLang>en</AvlblLang>
<AvlblLang>hr</AvlblLang>
<AvlblLang>fi</AvlblLang>
<AvlblLang>fr</AvlblLang>
<AvlblLang>de</AvlblLang>
<AvlblLang>el</AvlblLang>
<AvlblLang>hu</AvlblLang>
<AvlblLang>it</AvlblLang>
<AvlblLang>is</AvlblLang>
<AvlblLang>lv</AvlblLang>
<AvlblLang>lt</AvlblLang>
<AvlblLang>mt</AvlblLang>
<AvlblLang>no</AvlblLang>
<AvlblLang>pl</AvlblLang>
<AvlblLang>pt</AvlblLang>
<AvlblLang>ro</AvlblLang>
<AvlblLang>sk</AvlblLang>
<AvlblLang>si</AvlblLang>
<AvlblLang>sv</AvlblLang>
</MsgCpblties>
<MsgCpblties>
<Dstn>CRCP</Dstn>
<AvlblFrmt>TEXT</AvlblFrmt>
<NbOfLines>4</NbOfLines>
<LineWidth>32</LineWidth>
<AvlblLang>es</AvlblLang>
<AvlblLang>bg</AvlblLang>
<AvlblLang>cs</AvlblLang>
<AvlblLang>da</AvlblLang>
<AvlblLang>nl</AvlblLang>
<AvlblLang>en</AvlblLang>
<AvlblLang>hr</AvlblLang>
<AvlblLang>fi</AvlblLang>
<AvlblLang>fr</AvlblLang>
<AvlblLang>de</AvlblLang>
<AvlblLang>el</AvlblLang>
<AvlblLang>hu</AvlblLang>
<AvlblLang>it</AvlblLang>
<AvlblLang>is</AvlblLang>
<AvlblLang>lv</AvlblLang>
<AvlblLang>lt</AvlblLang>
<AvlblLang>mt</AvlblLang>
<AvlblLang>no</AvlblLang>
<AvlblLang>pl</AvlblLang>
<AvlblLang>pt</AvlblLang>
<AvlblLang>ro</AvlblLang>
<AvlblLang>sk</AvlblLang>
<AvlblLang>si</AvlblLang>
<AvlblLang>sv</AvlblLang>
</MsgCpblties>
</Cpblties>
<Cmpnt>
<Tp>TERM</Tp>
<Id>
<PrvdrId>GLOBALTERMTECHNOLOGY</PrvdrId>
<Id>ABMODEL010</Id>
<SrlNb>40999237</SrlNb>
</Id>
</Cmpnt>
<Cmpnt>
<Tp>APLI</Tp>
<Id>
<PrvdrId>SOFTWAREVENDOR</PrvdrId>
<Id>NEXO ANDROID PAYMENT APPLICATION</Id>
</Id>
<Sts>
<VrsnNb>2.0.28</VrsnNb>
</Sts>
<StdCmplc>
<Id>nexo-IS</Id>
<Vrsn>4.0</Vrsn>
<Issr>nexo</Issr>
</StdCmplc>
<Assmnt>
<Tp>CERT</Tp>
<Assgnr>OSCAR</Assgnr>
<Nb>ToComplete(giveByPayCert)</Nb>
</Assmnt>
</Cmpnt>
</POI>
<Card>
<PrtctdCardData>
<CnttTp>EVLP</CnttTp>
<EnvlpdData>
<Rcpt>
<KEK>
<KEKId>
<KeyId>xxxTestKey</KeyId>
<KeyVrsn>20789xxx1911</KeyVrsn>
<DerivtnId>fztzdftvzd=</DerivtnId>
</KEKId>
<KeyNcrptnAlgo>
<Algo>DKP9</Algo>
</KeyNcrptnAlgo>
<NcrptdKey>F0xxxIs=</NcrptdKey>
</KEK>
</Rcpt>
<NcrptdCntt>
<CnttTp>DATA</CnttTp>
<CnttNcrptnAlgo>
<Algo>E3DC</Algo>
</CnttNcrptnAlgo>
<NcrptdData>qwNppBadPxxxxxxxxxxxxxxdz+tCNdcWzx4d5xMba5x5SKs3nl4WZ7AayvYcI93RqG8c49aKNWRXm+6gdzhswtAHS/70nL4X7rSkSmVNX3PCDW8onf/kHID2bqkTeMfKtPSPGhJPIBtbqY6GmR3nPBzcQHErcq3giGUbUZ6fioWo28fsaHPh3WS5FU8dJ8/D7h7nKrNb7+8KqBXHx+1IyGMuZrymS7ew9Bg==</NcrptdData>
</NcrptdCntt>
</EnvlpdData>
</PrtctdCardData>
<IssrBIN>xx0107XX</IssrBIN>
<CardCtryCd>724</CardCtryCd>
<CardCcyCd>978</CardCcyCd>
<CardPdctPrfl>M</CardPdctPrfl>
<CardBrnd>M</CardBrnd>
</Card>
<Crdhldr>
<Lang>es</Lang>
</Crdhldr>
</Envt>
<Cntxt>
<PmtCntxt>
<CardPres>true</CardPres>
<CrdhldrPres>true</CrdhldrPres>
<AttndncCntxt>ATT</AttndncCntxt>
<CardDataNtryMd>ECTL</CardDataNtryMd>
</PmtCntxt>
<SaleCntxt>
<SaleId>1xxxxxxx37</SaleId>
</SaleCntxt>
</Cntxt>
<Tx>
<TxCaptr>true</TxCaptr>
<TxTp>CRDP</TxTp>
<MrchntCtgyCd>xx99</MrchntCtgyCd>
<CstmrCnsnt>false</CstmrCnsnt>
<CardPrgrmmApld>MASTERCARD</CardPrgrmmApld>
<TxId>
<TxDtTm>2023-xx-xxT16:xx:22.7+00:00</TxDtTm>
<TxRef>xxx86</TxRef>
</TxId>
<RcncltnId>1</RcncltnId>
<TxDtls>
<Ccy>EUR</Ccy>
<TtlAmt>1.00</TtlAmt>
<AmtQlfr>ACTL</AmtQlfr>
<OnLineRsn>FRLT</OnLineRsn>
<SaleItm>
<PdctCd>9</PdctCd>
<PdctAmt>1.00</PdctAmt>
</SaleItm>
<ICCRltdData>xxxx</ICCRltdData>
</TxDtls>
<AddtlTxData>/Card/CardProductProfile/0020</AddtlTxData>
</Tx>
</AuthstnReq>
<SctyTrlr>
<CnttTp>AUTH</CnttTp>
<AuthntcdData>
<Rcpt>
<KEK>
<KEKId>
<KeyId>xxxMacTestKey</KeyId>
<KeyVrsn>20xxx51911</KeyVrsn>
<DerivtnId>EAM3AAA=</DerivtnId>
</KEKId>
<KeyNcrptnAlgo>
<Algo>DKP9</Algo>
</KeyNcrptnAlgo>
<NcrptdKey>xxxxxx</NcrptdKey>
</KEK>
</Rcpt>
<MACAlgo>
<Algo>MCCS</Algo>
</MACAlgo>
<NcpsltdCntt>
<CnttTp>DATA</CnttTp>
</NcpsltdCntt>
<MAC>xxxxxxxxxxx</MAC>
</AuthntcdData>
</SctyTrlr>
</AccptrAuthstnReq>
</Document>
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caaa.002.001.06">
<AccptrAuthstnRspn>
<Hdr>
<MsgFctn>FAUP</MsgFctn>
<PrtcolVrsn>6.0</PrtcolVrsn>
<XchgId>005</XchgId>
<CreDtTm>2023-xx-25T18:19:xx.211+xx:00</CreDtTm>
<InitgPty>
<Id>19191919</Id>
</InitgPty>
<Tracblt>
<RlayId>
<Id>7c2cbf04d41946eba98fd3b96f327461</Id>
<Tp>ACCP</Tp>
</RlayId>
<TracDtTmIn>2023-09-25T18:19:32.412+02:00</TracDtTmIn>
<TracDtTmOut>2023-09-25T18:19:33.211+02:00</TracDtTmOut>
</Tracblt>
</Hdr>
<AuthstnRspn>
<Envt>
<AcqrrId>
<Id>1</Id>
</AcqrrId>
<MrchntId>
<Id>9999945001014</Id>
</MrchntId>
<POIId>
<Id>ABC1234D</Id>
<ShrtNm>ABC1234D</ShrtNm>
</POIId>
<Card>
<CardBrnd>M</CardBrnd>
</Card>
</Envt>
<Tx>
<TxId>
<TxDtTm>2023-xx-xxT16:xx:22.7+00:00</TxDtTm>
<TxRef>xxx86</TxRef>
</TxId>
<RcptTxId>033xxxxxx0075</RcptTxId>
<RcncltnId>1</RcncltnId>
<TxDtls>
<Ccy>EUR</Ccy>
<TtlAmt>1.00</TtlAmt>
<ICCRltdData>xxxxxxxx</ICCRltdData>
</TxDtls>
</Tx>
<TxRspn>
<AuthstnRslt>
<AuthstnNtty>
<Tp>CISS</Tp>
</AuthstnNtty>
<RspnToAuthstn>
<Rspn>APPR</Rspn>
<RspnRsn>00:Function performed error-free</RspnRsn>
</RspnToAuthstn>
<AuthstnCd>xxx976</AuthstnCd>
<CmpltnReqrd>false</CmpltnReqrd>
</AuthstnRslt>
</TxRspn>
</AuthstnRspn>
<SctyTrlr>
<CnttTp>AUTH</CnttTp>
<AuthntcdData>
<Rcpt>
<KEK>
<KEKId>
<KeyId>A2MacTestKey</KeyId>
<KeyVrsn>201xxxx11</KeyVrsn>
<DerivtnId>EAxxxxAA=</DerivtnId>
</KEKId>
<KeyNcrptnAlgo>
<Algo>DKP9</Algo>
</KeyNcrptnAlgo>
<NcrptdKey>FxxxxQ=</NcrptdKey>
</KEK>
</Rcpt>
<MACAlgo>
<Algo>MCCS</Algo>
</MACAlgo>
<NcpsltdCntt>
<CnttTp>DATA</CnttTp>
</NcpsltdCntt>
<MAC>xxxxx</MAC>
</AuthntcdData>
</SctyTrlr>
</AccptrAuthstnRspn>
</Document>
Further examples will be added in the future or can be provided on request
Certification
For a successful market entry in Germany support of Girocard is required.
For this a NEXO certification is required, which has to be executed with an approved certification agency.
Terminal certifications with the schemes are also mandatory. All certifications are required per terminal type.
For the integration via Fiserv's terminal connector (=Datawire) a separate integration test and certification with Fiserv's Datawire team is mandatory.
Updated about 1 month ago