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.

  1. install JayaKeystore (JKS) certificate (or key / pem file) obtained from Fiserv
  2. Setup user / password obtained from fiserv for basic authentication
  3. Establish connectivity with test environment: https://test3.ipg-online.com/epas/v1
  4. Send diagnostic messages (unencrypted)
    example see below
  5. Send authorization request (unencrypted)
  6. Terminal provider:
    Send message from previous steps with encrypted card data
  7. 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.