...
...
Based on your protocol, acquirer, or your transaction context, some of the following values could be mandatory as well as required.
This document applies to the Nexo version of the original transaction.
...
If you need specific values in your original transaction structures, an example will be provided below.
It is to be noted that our implementation of NOTE: If the original transaction structure differs in the TransactionIdentification section.
...
we decided to put the transactionReference and transactionDateTime directly in the OriginalTransaction DO to avoid unnecessary complexity.
Besides that, the same structure has been implemented and an example as mentioned above will be found belowis retrieved from the database, the values will be overwritten.
Code Block |
---|
public static void createOriginalTransaction(PaymentParams params, String transactionReference, PaymentServiceID serviceID){
TlvTree originalTrx = params.paramTree.AddChild(ArkosTags.OriginalTransaction);
originalTrx.AddAscii(ArkosTags.SaleReferenceIdentification,"saleReferenceIdentification");
//Date //Time //Timezone
Calendar cal = Calendar.getInstance();
int utcOffsetMinutes = cal.getTimeZone().getOffset(cal.getTimeInMillis()) / 1000 / 60;
byte[] utcOffset = new byte[2];
utcOffset[0] = (byte) (utcOffsetMinutes / 60);
utcOffset[1] = (byte) (utcOffsetMinutes % 60);
originalTrx.AddEMVDate(TransactionIdentificationID.Date, cal.get(Calendar.YEAR) % 100, cal.get(Calendar.MONTH) + 1, cal.get(Calendar.DAY_OF_MONTH));
originalTrx.AddEMVTime(TransactionIdentificationID.Time, cal.get(Calendar.HOUR), cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND));
originalTrx.SetBin(ArkosTags.LocalTimezone, utcOffset);
originalTrx.AddAscii(TransactionIdentificationID.ReferenceData, transactionReference);
TlvTree poiIdentification = originalTrx.AddChild(ArkosTags.PoiIdentification);
poiIdentification.AddAscii(POIIdentificationID.TerminalIdentification,"Terminal1");
poiIdentification.AddEnum(POIIdentificationID.Type, POIIdentificationTypeID.ACCP);
poiIdentification.AddEnum(POIIdentificationID.Issuer, POIIdentificationIssuerID.ACCP);
poiIdentification.AddAscii(POIIdentificationID.ShortName,"Term");
originalTrx.AddAscii(ArkosTags.InitiatorTransactionIdentification,"InitiatorTransactionIdentification");
originalTrx.AddAscii(ArkosTags.RecipientTransactionIdentification,"RecipientTransactionIdentification");
originalTrx.AddEnum(ArkosTags.SelectedService, serviceID);
originalTrx.AddEnum(ArkosTags.TechnologySelected, SelectedTechnologyID.MagneticStripe);
// originalTrx.AddBin(ArkosTags.CashbackPresent, new byte[]{0x01});
// originalTrx.AddBin(ArkosTags.SupplementaryAmountPresent, new byte[]{0x01});
TlvTree transactionResult = originalTrx.AddChild(ArkosTags.TransactionResult);
TlvTree authorisationEntity = transactionResult.AddChild(TransactionResultID.AuthorisationEntity);
authorisationEntity.AddAscii(AuthorisationEntityID.AuthorisationEntityIdentification,"Identification");
authorisationEntity.AddEnum(AuthorisationEntityID.AuthorisationEntityType, AuthorisationEntityTypeID.ACCP);
authorisationEntity.AddEnum(AuthorisationEntityID.AuthorisationEntityIssuer, AuthorisationEntityIssuerID.ACCP);
authorisationEntity.AddAscii(AuthorisationEntityID.AuthorisationEntityCountry,"Cou");
authorisationEntity.AddAscii(AuthorisationEntityID.AuthorisationEntityShortName,"ShortName");
TlvTree responseToAuthorisation = transactionResult.AddChild(TransactionResultID.ResponseToAuthorisation);
responseToAuthorisation.AddEnum(ResponseToAuthorisationID.Response, ResponseID.APPR);
responseToAuthorisation.AddAscii(ResponseToAuthorisationID.ResponseReason,"Reason");
responseToAuthorisation.AddAscii(ResponseToAuthorisationID.AdditionalResponseInformation,"AdditionalInformation");
transactionResult.AddAscii(TransactionResultID.AuthorisationCode,"000001");
} |
NOTE: If your original transaction is of type payment, you can add those two tags if you want to include the presence of cashback or supplementary amount.
Code Block |
---|
// originalTrx.AddBin(ArkosTags.CashbackPresent, new byte[]{0x01});
//
originalTrx.AddBin(ArkosTags.SupplementaryAmountPresent, new byte[]{0x01}); |
...
Code Block |
---|
public static PaymentParams createPaymentCompletion(String transactionReference, int amount) {
PaymentParams params = new PaymentParams();
setTerminalInfo(params);
//service
params.paramTree.AddEnum(ArkosTags.SelectedService, PaymentServiceID.PaymentCompletion);
createOriginalTransaction(params,transactionReference,PaymentServiceID.Preauth);
//Amount
byte[] bcdAmount = IntToBCD(amount);
if (bcdAmount == null) {
return null;
}
params.paramTree.AddBin(TransactionAmount, bcdAmount);
params.paramTree.AddBin(AmountAuthorised, bcdAmount);
params.paramTree.AddBin(TransactionAmountBeforeAdjustment, bcdAmount);
return params;
} |
Expand |
---|
title | AcceptorAuthorisationRequest |
---|
|
public static PaymentParams createUpdatePreAuth(String transactionReference, int amount, AmountQualifierID amountQualifier) {version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caaa.001.001.06">
<AccptrAuthstnReq>
<Hdr>
<MsgFctn>AUTQ</MsgFctn>
| PaymentParamsparams=newPaymentParams();
<PrtcolVrsn>6.0</PrtcolVrsn>
| setTerminalInfo(params);<XchgId>51</XchgId>
<CreDtTm>2022-02-22T07:55:36.000+00:00</CreDtTm>
| //serviceparams.paramTree.AddEnum(ArkosTags.SelectedService, PaymentServiceID.UpdatePreauth);
<Id>Amadis</Id>
</InitgPty>
<RcptPty>
<Id>Amadis</Id>
</RcptPty>
</Hdr>
<AuthstnReq>
| params.paramTree.AddEnum(ArkosTags.UpdatePreAuthAmountQualifier,amountQualifier);createOriginalTransaction(params,transactionReference,PaymentServiceID.Preauth); //Amount
byte[] bcdAmount = IntToBCD(amount);
if (bcdAmount == null) {
return null;
}
params.paramTree.AddBin(TransactionAmount, bcdAmount);
params.paramTree.AddBin(AmountAuthorised, bcdAmount);
params.paramTree.AddBin(TransactionAmountBeforeAdjustment, bcdAmount);
return params;
} |
Code Block |
---|
public static PaymentParams CreateReversal(String transactionReference) {
PaymentParams params = new PaymentParams();
setTerminalInfo(params);
//service
params.paramTree.AddEnum(ArkosTags.SelectedService, PaymentServiceID.Cancellation);
createOriginalTransaction(params,transactionReference,PaymentServiceID.Payment);
<Id>10009287351</Id>
</Id>
<ParamsVrsn>2022-02-22 18:25:09</ParamsVrsn>
</Acqrr>
<Mrchnt>
<Id>
<Id>00000NEXOMER001</Id>
</Id>
<CmonNm>AMADIS 1111 Saint-Urbain Montréal</CmonNm>
</Mrchnt>
<POI>
<Id>
<Id>ASA00002</Id>
</Id>
<Cpblties>
<CardRdngCpblties>PHYS</CardRdngCpblties>
<CardRdngCpblties>MGST</CardRdngCpblties>
<CardRdngCpblties>CICC</CardRdngCpblties>
<CardRdngCpblties>ECTL</CardRdngCpblties>
<CrdhldrVrfctnCpblties>FCPN</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>MNSG</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>FEPN</CrdhldrVrfctnCpblties>
<ApprvlCdLngth>6</ApprvlCdLngth>
<OnLineCpblties>SMON</OnLineCpblties>
<MsgCpblties>
<Dstn>CRCP</Dstn>
<Dstn>MDSP</Dstn>
<Dstn>MRCP</Dstn>
<AvlblLang>en</AvlblLang>
<AvlblLang>fr</AvlblLang>
<AvlblLang>it</AvlblLang>
</MsgCpblties>
</Cpblties>
<Cmpnt>
<Tp>TERM</Tp>
<Id>
<PrvdrId>Google</PrvdrId>
<Id>sdk_gphone_x86_arm</Id>
<SrlNb>ArkosPay DEMOSN00</SrlNb>
</Id>
<Sts />
</Cmpnt>
<Cmpnt>
<Tp>APLI</Tp>
<Id>
<PrvdrId>AMADIS</PrvdrId>
<Id>ARKOS</Id>
</Id>
<Sts>
<VrsnNb>3.0.8-dev-stub</VrsnNb>
</Sts>
</Cmpnt>
</POI>
<Card>
<CardPdctPrfl>90</CardPdctPrfl>
<CardBrnd>STANDARD</CardBrnd>
<IntrnlCard>false</IntrnlCard>
</Card>
<Crdhldr>
<Lang>fr</Lang>
</Crdhldr>
</Envt>
<Cntxt>
<PmtCntxt>
<CardPres>false</CardPres>
<CrdhldrPres>false</CrdhldrPres>
<AttndncCntxt>ATTD</AttndncCntxt>
<CardDataNtryMd>DFLE</CardDataNtryMd>
</PmtCntxt>
</Cntxt>
<Tx>
<TxCaptr>false</TxCaptr>
<TxTp>RESA</TxTp>
<SvcAttr>PRES</SvcAttr>
<MrchntCtgyCd>5555</MrchntCtgyCd>
<TxId>
<TxDtTm>2022-02-22T07:55:36.000+00:00</TxDtTm>
<TxRef>00000023</TxRef>
</TxId>
<OrgnlTx>
<SaleRefId>saleReferenceIdentification</SaleRefId>
<TxId>
<TxDtTm>2022-02-22T07:55:36.000-05:00</TxDtTm>
<TxRef>0000000323</TxRef>
</TxId>
<POIId>
<Id>Terminal1</Id>
<Tp>ACCP</Tp>
<Issr>ACCP</Issr>
<ShrtNm>Term</ShrtNm>
</POIId>
<InitrTxId>InitiatorTransactionIdentification</InitrTxId>
<RcptTxId>RecipientTransactionIdentification</RcptTxId>
<TxTp>RESA</TxTp>
<SvcAttr>IRES</SvcAttr>
<CardDataNtryMd>MGST</CardDataNtryMd>
<TxRslt>
<AuthstnNtty>
<Id>Identification</Id>
<Tp>ACCP</Tp>
<Issr>ACCP</Issr>
<Ctry>Cou</Ctry>
<ShrtNm>ShortName</ShrtNm>
</AuthstnNtty>
<RspnToAuthstn>
<Rspn>APPR</Rspn>
<RspnRsn>Reason</RspnRsn>
<AddtlRspnInf>AdditionalInformation</AddtlRspnInf>
</RspnToAuthstn>
<AuthstnCd>000001</AuthstnCd>
</TxRslt>
</OrgnlTx>
<RcncltnId>9</RcncltnId>
<TxDtls>
<Ccy>EUR</Ccy>
<TtlAmt>5.55</TtlAmt>
<AmtQlfr>ACTL</AmtQlfr>
<OnLineRsn>TRMF</OnLineRsn>
</TxDtls>
</Tx>
</AuthstnReq>
</AccptrAuthstnReq>
</Document> |
|
Expand |
---|
title | AcceptorAuthorisationResponse |
---|
|
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caaa.002.001.06">
<AccptrAuthstnRspn>
<Hdr>
<MsgFctn>AUTP</MsgFctn>
<PrtcolVrsn>6.0</PrtcolVrsn>
<XchgId>51</XchgId>
<CreDtTm>2022-02-23T00:55:36.931+00:00</CreDtTm>
<InitgPty>
<Id>Amadis</Id>
</InitgPty>
<RcptPty>
<Id>Amadis</Id>
</RcptPty>
</Hdr>
<AuthstnRspn>
<Envt>
<POIId>
<Id>ASA00002</Id>
</POIId>
</Envt>
<Tx>
<TxId>
<TxDtTm>2022-02-22T07:55:36.000+00:00</TxDtTm>
<TxRef>00000023</TxRef>
</TxId>
<RcptTxId>000000000103</RcptTxId>
<TxDtls>
<Ccy>EUR</Ccy>
<TtlAmt>5.55</TtlAmt>
<ICCRltdData>ioECMDA=</ICCRltdData>
</TxDtls>
</Tx>
<TxRspn>
<AuthstnRslt>
<RspnToAuthstn>
<Rspn>APPR</Rspn>
</RspnToAuthstn>
<AuthstnCd>001897</AuthstnCd>
</AuthstnRslt>
</TxRspn>
</AuthstnRspn>
</AccptrAuthstnRspn>
</Document> |
|
Expand |
---|
title | AcceptorCompletionAdvice |
---|
|
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caaa.003.001.06">
<AccptrCmpltnAdvc>
<Hdr>
<MsgFctn>FCMV</MsgFctn>
<PrtcolVrsn>6.0</PrtcolVrsn>
<XchgId>52</XchgId>
<CreDtTm>2022-02-22T07:55:36.000+00:00</CreDtTm>
<InitgPty>
<Id>Amadis</Id>
</InitgPty>
<RcptPty>
<Id>Amadis</Id>
</RcptPty>
</Hdr>
<CmpltnAdvc>
<Envt>
<Acqrr>
<Id>
<Id>10009287351</Id>
</Id>
<ParamsVrsn>2022-02-22 18:25:09</ParamsVrsn>
</Acqrr>
<Mrchnt>
<Id>
<Id>00000NEXOMER001</Id>
</Id>
<CmonNm>AMADIS 1111 Saint-Urbain Montréal</CmonNm>
</Mrchnt>
<POI>
<Id>
<Id>ASA00002</Id>
</Id>
<Cpblties>
<CardRdngCpblties>PHYS</CardRdngCpblties>
<CardRdngCpblties>MGST</CardRdngCpblties>
<CardRdngCpblties>CICC</CardRdngCpblties>
<CardRdngCpblties>ECTL</CardRdngCpblties>
<CrdhldrVrfctnCpblties>FCPN</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>MNSG</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>FEPN</CrdhldrVrfctnCpblties>
<ApprvlCdLngth>6</ApprvlCdLngth>
<OnLineCpblties>SMON</OnLineCpblties>
<MsgCpblties>
<Dstn>CRCP</Dstn>
<Dstn>MDSP</Dstn>
<Dstn>MRCP</Dstn>
<AvlblLang>en</AvlblLang>
<AvlblLang>fr</AvlblLang>
<AvlblLang>it</AvlblLang>
</MsgCpblties>
</Cpblties>
<Cmpnt>
<Tp>TERM</Tp>
<Id>
<PrvdrId>Google</PrvdrId>
<Id>sdk_gphone_x86_arm</Id>
<SrlNb>ArkosPay DEMOSN00</SrlNb>
</Id>
<Sts />
</Cmpnt>
<Cmpnt>
<Tp>APLI</Tp>
<Id>
<PrvdrId>AMADIS</PrvdrId>
<Id>ARKOS</Id>
</Id>
<Sts>
<VrsnNb>3.0.8-dev-stub</VrsnNb>
</Sts>
</Cmpnt>
</POI>
<Card>
<CardPdctPrfl>90</CardPdctPrfl>
<CardBrnd>STANDARD</CardBrnd>
</Card>
</Envt>
<Cntxt>
<PmtCntxt>
<CardPres>false</CardPres>
<CrdhldrPres>false</CrdhldrPres>
<OnLineCntxt>true</OnLineCntxt>
<AttndncCntxt>ATTD</AttndncCntxt>
<CardDataNtryMd>DFLE</CardDataNtryMd>
</PmtCntxt>
</Cntxt>
<Tx>
<TxCaptr>true</TxCaptr>
<TxTp>RESA</TxTp>
<SvcAttr>PRES</SvcAttr>
<MrchntCtgyCd>5555</MrchntCtgyCd>
<TxId>
<TxDtTm>2022-02-22T07:55:36.000+00:00</TxDtTm>
<TxRef>00000023</TxRef>
</TxId>
<OrgnlTx>
<SaleRefId>saleReferenceIdentification</SaleRefId>
<TxId>
<TxDtTm>2022-02-22T07:55:36.000-05:00</TxDtTm>
<TxRef>0000000323</TxRef>
</TxId>
<POIId>
<Id>Terminal1</Id>
<Tp>ACCP</Tp>
<Issr>ACCP</Issr>
<ShrtNm>Term</ShrtNm>
</POIId>
<InitrTxId>InitiatorTransactionIdentification</InitrTxId>
<RcptTxId>RecipientTransactionIdentification</RcptTxId>
<TxTp>RESA</TxTp>
<SvcAttr>IRES</SvcAttr>
<CardDataNtryMd>MGST</CardDataNtryMd>
<TxRslt>
<AuthstnNtty>
<Id>Identification</Id>
<Tp>ACCP</Tp>
<Issr>ACCP</Issr>
<Ctry>Cou</Ctry>
<ShrtNm>ShortName</ShrtNm>
</AuthstnNtty>
<RspnToAuthstn>
<Rspn>APPR</Rspn>
<RspnRsn>Reason</RspnRsn>
<AddtlRspnInf>AdditionalInformation</AddtlRspnInf>
</RspnToAuthstn>
<AuthstnCd>000001</AuthstnCd>
</TxRslt>
</OrgnlTx>
<TxSucss>true</TxSucss>
<Rvsl>false</Rvsl>
<MrchntOvrrd>false</MrchntOvrrd>
<RcptTxId>000000000103</RcptTxId>
<RcncltnId>1</RcncltnId>
<TxDtls>
<Ccy>EUR</Ccy>
<TtlAmt>5.55</TtlAmt>
<AmtQlfr>ACTL</AmtQlfr>
<AuthrsdAmt>5.55</AuthrsdAmt>
</TxDtls>
</Tx>
</CmpltnAdvc>
</AccptrCmpltnAdvc>
</Document> |
|
Expand |
---|
title | AcceptorCompletionAdviceResponse |
---|
|
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caaa.004.001.06">
<AccptrCmpltnAdvcRspn>
<Hdr>
<MsgFctn>CMPK</MsgFctn>
<PrtcolVrsn>6.0</PrtcolVrsn>
<XchgId>52</XchgId>
<CreDtTm>2022-02-23T00:55:41.028+00:00</CreDtTm>
<InitgPty>
<Id>Amadis</Id>
</InitgPty>
<RcptPty>
<Id>Amadis</Id>
</RcptPty>
</Hdr>
<CmpltnAdvcRspn>
<Envt>
<AcqrrId>
<Id>10009287351</Id>
</AcqrrId>
<MrchntId>
<Id>00000NEXOMER001</Id>
</MrchntId>
<POIId>
<Id>ASA00002</Id>
</POIId>
</Envt>
<Tx>
<TxId>
<TxDtTm>2022-02-22T07:55:36.000+00:00</TxDtTm>
<TxRef>00000023</TxRef>
</TxId>
<RcptTxId>000000000103</RcptTxId>
<Rspn>APPR</Rspn>
</Tx>
</CmpltnAdvcRspn>
</AccptrCmpltnAdvcRspn>
</Document> |
|
Code Block |
---|
public static PaymentParams createUpdatePreAuth(String transactionReference, int amount, AmountQualifierID amountQualifier) {
PaymentParams params = new PaymentParams();
setTerminalInfo(params);
//service
params.paramTree.AddEnum(ArkosTags.SelectedService, PaymentServiceID.UpdatePreauth);
params.paramTree.AddEnum(ArkosTags.UpdatePreAuthAmountQualifier,amountQualifier);
createOriginalTransaction(params,transactionReference,PaymentServiceID.Preauth);
//Amount
byte[] bcdAmount = IntToBCD(amount);
if (bcdAmount == null) {
return null;
}
params.paramTree.AddBin(TransactionAmount, bcdAmount);
params.paramTree.AddBin(AmountAuthorised, bcdAmount);
params.paramTree.AddBin(TransactionAmountBeforeAdjustment, bcdAmount);
return params;
} |
Expand |
---|
title | AcceptorAuthorisationRequest |
---|
|
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caaa.001.001.06">
<AccptrAuthstnReq>
<Hdr>
<MsgFctn>AUTQ</MsgFctn>
<PrtcolVrsn>6.0</PrtcolVrsn>
<XchgId>53</XchgId>
<CreDtTm>2022-02-22T08:00:41.000+00:00</CreDtTm>
<InitgPty>
<Id>Amadis</Id>
</InitgPty>
<RcptPty>
<Id>Amadis</Id>
</RcptPty>
</Hdr>
<AuthstnReq>
<Envt>
<Acqrr>
<Id>
<Id>10009287351</Id>
</Id>
<ParamsVrsn>2022-02-22 18:25:09</ParamsVrsn>
</Acqrr>
<Mrchnt>
<Id>
<Id>00000NEXOMER001</Id>
</Id>
<CmonNm>AMADIS 1111 Saint-Urbain Montréal</CmonNm>
</Mrchnt>
<POI>
<Id>
<Id>ASA00002</Id>
</Id>
<Cpblties>
<CardRdngCpblties>PHYS</CardRdngCpblties>
<CardRdngCpblties>MGST</CardRdngCpblties>
<CardRdngCpblties>CICC</CardRdngCpblties>
<CardRdngCpblties>ECTL</CardRdngCpblties>
<CrdhldrVrfctnCpblties>FCPN</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>MNSG</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>FEPN</CrdhldrVrfctnCpblties>
<ApprvlCdLngth>6</ApprvlCdLngth>
<OnLineCpblties>SMON</OnLineCpblties>
<MsgCpblties>
<Dstn>CRCP</Dstn>
<Dstn>MDSP</Dstn>
<Dstn>MRCP</Dstn>
<AvlblLang>en</AvlblLang>
<AvlblLang>fr</AvlblLang>
<AvlblLang>it</AvlblLang>
</MsgCpblties>
</Cpblties>
<Cmpnt>
<Tp>TERM</Tp>
<Id>
<PrvdrId>Google</PrvdrId>
<Id>sdk_gphone_x86_arm</Id>
<SrlNb>ArkosPay DEMOSN00</SrlNb>
</Id>
<Sts />
</Cmpnt>
<Cmpnt>
<Tp>APLI</Tp>
<Id>
<PrvdrId>AMADIS</PrvdrId>
<Id>ARKOS</Id>
</Id>
<Sts>
<VrsnNb>3.0.8-dev-stub</VrsnNb>
</Sts>
</Cmpnt>
</POI>
<Card>
<CardPdctPrfl>90</CardPdctPrfl>
<CardBrnd>STANDARD</CardBrnd>
<IntrnlCard>false</IntrnlCard>
</Card>
<Crdhldr>
<Lang>fr</Lang>
</Crdhldr>
</Envt>
<Cntxt>
<PmtCntxt>
<CardPres>false</CardPres>
<CrdhldrPres>false</CrdhldrPres>
<AttndncCntxt>ATTD</AttndncCntxt>
<CardDataNtryMd>DFLE</CardDataNtryMd>
</PmtCntxt>
</Cntxt>
<Tx>
<TxCaptr>false</TxCaptr>
<TxTp>RESA</TxTp>
<SvcAttr>URES</SvcAttr>
<MrchntCtgyCd>5555</MrchntCtgyCd>
<TxId>
<TxDtTm>2022-02-22T08:00:41.000+00:00</TxDtTm>
<TxRef>00000024</TxRef>
</TxId>
<OrgnlTx>
<SaleRefId>saleReferenceIdentification</SaleRefId>
<TxId>
<TxDtTm>2022-02-22T08:00:41.000-05:00</TxDtTm>
<TxRef>0000000343</TxRef>
</TxId>
<POIId>
<Id>Terminal1</Id>
<Tp>ACCP</Tp>
<Issr>ACCP</Issr>
<ShrtNm>Term</ShrtNm>
</POIId>
<InitrTxId>InitiatorTransactionIdentification</InitrTxId>
<RcptTxId>RecipientTransactionIdentification</RcptTxId>
<TxTp>RESA</TxTp>
<SvcAttr>IRES</SvcAttr>
<CardDataNtryMd>MGST</CardDataNtryMd>
<TxRslt>
<AuthstnNtty>
<Id>Identification</Id>
<Tp>ACCP</Tp>
<Issr>ACCP</Issr>
<Ctry>Cou</Ctry>
<ShrtNm>ShortName</ShrtNm>
</AuthstnNtty>
<RspnToAuthstn>
<Rspn>APPR</Rspn>
<RspnRsn>Reason</RspnRsn>
<AddtlRspnInf>AdditionalInformation</AddtlRspnInf>
</RspnToAuthstn>
<AuthstnCd>000001</AuthstnCd>
</TxRslt>
</OrgnlTx>
<RcncltnId>9</RcncltnId>
<TxDtls>
<Ccy>EUR</Ccy>
<TtlAmt>5.00</TtlAmt>
<AmtQlfr>INCR</AmtQlfr>
<OnLineRsn>TRMF</OnLineRsn>
</TxDtls>
</Tx>
</AuthstnReq>
</AccptrAuthstnReq>
</Document> |
|
Expand |
---|
title | AcceptorAuthorisationResponse |
---|
|
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caaa.002.001.06">
<AccptrAuthstnRspn>
<Hdr>
<MsgFctn>AUTP</MsgFctn>
<PrtcolVrsn>6.0</PrtcolVrsn>
<XchgId>53</XchgId>
<CreDtTm>2022-02-23T01:00:41.466+00:00</CreDtTm>
<InitgPty>
<Id>Amadis</Id>
</InitgPty>
<RcptPty>
<Id>Amadis</Id>
</RcptPty>
</Hdr>
<AuthstnRspn>
<Envt>
<POIId>
<Id>ASA00002</Id>
</POIId>
</Envt>
<Tx>
<TxId>
<TxDtTm>2022-02-22T08:00:41.000+00:00</TxDtTm>
<TxRef>00000024</TxRef>
</TxId>
<RcptTxId>000000000104</RcptTxId>
<TxDtls>
<Ccy>EUR</Ccy>
<TtlAmt>5.00</TtlAmt>
<ICCRltdData>ioECMDA=</ICCRltdData>
</TxDtls>
</Tx>
<TxRspn>
<AuthstnRslt>
<RspnToAuthstn>
<Rspn>APPR</Rspn>
</RspnToAuthstn>
<AuthstnCd>001898</AuthstnCd>
</AuthstnRslt>
</TxRspn>
</AuthstnRspn>
</AccptrAuthstnRspn>
</Document> |
|
Expand |
---|
title | AcceptorCompletionAdvice |
---|
|
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caaa.003.001.06">
<AccptrCmpltnAdvc>
<Hdr>
<MsgFctn>CMPV</MsgFctn>
<PrtcolVrsn>6.0</PrtcolVrsn>
<XchgId>54</XchgId>
<CreDtTm>2022-02-22T08:00:41.000+00:00</CreDtTm>
<InitgPty>
<Id>Amadis</Id>
</InitgPty>
<RcptPty>
<Id>Amadis</Id>
</RcptPty>
</Hdr>
<CmpltnAdvc>
<Envt>
<Acqrr>
<Id>
<Id>10009287351</Id>
</Id>
<ParamsVrsn>2022-02-22 18:25:09</ParamsVrsn>
</Acqrr>
<Mrchnt>
<Id>
<Id>00000NEXOMER001</Id>
</Id>
<CmonNm>AMADIS 1111 Saint-Urbain Montréal</CmonNm>
</Mrchnt>
<POI>
<Id>
<Id>ASA00002</Id>
</Id>
<Cpblties>
<CardRdngCpblties>PHYS</CardRdngCpblties>
<CardRdngCpblties>MGST</CardRdngCpblties>
<CardRdngCpblties>CICC</CardRdngCpblties>
<CardRdngCpblties>ECTL</CardRdngCpblties>
<CrdhldrVrfctnCpblties>FCPN</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>MNSG</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>FEPN</CrdhldrVrfctnCpblties>
<ApprvlCdLngth>6</ApprvlCdLngth>
<OnLineCpblties>SMON</OnLineCpblties>
<MsgCpblties>
<Dstn>CRCP</Dstn>
<Dstn>MDSP</Dstn>
<Dstn>MRCP</Dstn>
<AvlblLang>en</AvlblLang>
<AvlblLang>fr</AvlblLang>
<AvlblLang>it</AvlblLang>
</MsgCpblties>
</Cpblties>
<Cmpnt>
<Tp>TERM</Tp>
<Id>
<PrvdrId>Google</PrvdrId>
<Id>sdk_gphone_x86_arm</Id>
<SrlNb>ArkosPay DEMOSN00</SrlNb>
</Id>
<Sts />
</Cmpnt>
<Cmpnt>
<Tp>APLI</Tp>
<Id>
<PrvdrId>AMADIS</PrvdrId>
<Id>ARKOS</Id>
</Id>
<Sts>
<VrsnNb>3.0.8-dev-stub</VrsnNb>
</Sts>
</Cmpnt>
</POI>
<Card>
<CardPdctPrfl>90</CardPdctPrfl>
<CardBrnd>STANDARD</CardBrnd>
</Card>
</Envt>
<Cntxt>
<PmtCntxt>
<CardPres>false</CardPres>
<CrdhldrPres>false</CrdhldrPres>
<OnLineCntxt>true</OnLineCntxt>
<AttndncCntxt>ATTD</AttndncCntxt>
<CardDataNtryMd>DFLE</CardDataNtryMd>
</PmtCntxt>
</Cntxt>
<Tx>
<TxCaptr>false</TxCaptr>
<TxTp>RESA</TxTp>
<SvcAttr>URES</SvcAttr>
<MrchntCtgyCd>5555</MrchntCtgyCd>
<TxId>
<TxDtTm>2022-02-22T08:00:41.000+00:00</TxDtTm>
<TxRef>00000024</TxRef>
</TxId>
<OrgnlTx>
<SaleRefId>saleReferenceIdentification</SaleRefId>
<TxId>
<TxDtTm>2022-02-22T08:00:41.000-05:00</TxDtTm>
<TxRef>0000000343</TxRef>
</TxId>
<POIId>
<Id>Terminal1</Id>
<Tp>ACCP</Tp>
<Issr>ACCP</Issr>
<ShrtNm>Term</ShrtNm>
</POIId>
<InitrTxId>InitiatorTransactionIdentification</InitrTxId>
<RcptTxId>RecipientTransactionIdentification</RcptTxId>
<TxTp>RESA</TxTp>
<SvcAttr>IRES</SvcAttr>
<CardDataNtryMd>MGST</CardDataNtryMd>
<TxRslt>
<AuthstnNtty>
<Id>Identification</Id>
<Tp>ACCP</Tp>
<Issr>ACCP</Issr>
<Ctry>Cou</Ctry>
<ShrtNm>ShortName</ShrtNm>
</AuthstnNtty>
<RspnToAuthstn>
<Rspn>APPR</Rspn>
<RspnRsn>Reason</RspnRsn>
<AddtlRspnInf>AdditionalInformation</AddtlRspnInf>
</RspnToAuthstn>
<AuthstnCd>000001</AuthstnCd>
</TxRslt>
</OrgnlTx>
<TxSucss>true</TxSucss>
<Rvsl>false</Rvsl>
<MrchntOvrrd>false</MrchntOvrrd>
<RcptTxId>000000000104</RcptTxId>
<RcncltnId>1</RcncltnId>
<TxDtls>
<Ccy>EUR</Ccy>
<TtlAmt>5.00</TtlAmt>
<AmtQlfr>INCR</AmtQlfr>
<AuthrsdAmt>5.00</AuthrsdAmt>
</TxDtls>
</Tx>
</CmpltnAdvc>
</AccptrCmpltnAdvc>
</Document> |
|
Expand |
---|
title | AcceptorCompletionAdviceResponse |
---|
|
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caaa.004.001.06">
<AccptrCmpltnAdvcRspn>
<Hdr>
<MsgFctn>CMPK</MsgFctn>
<PrtcolVrsn>6.0</PrtcolVrsn>
<XchgId>54</XchgId>
<CreDtTm>2022-02-23T01:00:44.547+00:00</CreDtTm>
<InitgPty>
<Id>Amadis</Id>
</InitgPty>
<RcptPty>
<Id>Amadis</Id>
</RcptPty>
</Hdr>
<CmpltnAdvcRspn>
<Envt>
<AcqrrId>
<Id>10009287351</Id>
</AcqrrId>
<MrchntId>
<Id>00000NEXOMER001</Id>
</MrchntId>
<POIId>
<Id>ASA00002</Id>
</POIId>
</Envt>
<Tx>
<TxId>
<TxDtTm>2022-02-22T08:00:41.000+00:00</TxDtTm>
<TxRef>00000024</TxRef>
</TxId>
<RcptTxId>000000000104</RcptTxId>
<Rspn>APPR</Rspn>
</Tx>
</CmpltnAdvcRspn>
</AccptrCmpltnAdvcRspn>
</Document> |
|
Code Block |
---|
public static PaymentParams CreateReversal(String transactionReference) {
PaymentParams params = new PaymentParams();
setTerminalInfo(params);
//service
params.paramTree.AddEnum(ArkosTags.SelectedService, PaymentServiceID.Cancellation);
createOriginalTransaction(params,transactionReference,PaymentServiceID.Payment);
byte[] bcdAmount = IntToBCD(0);
if (bcdAmount == null) {
return null;
}
params.paramTree.AddBin(TransactionAmount, bcdAmount);
params.paramTree.AddBin(AmountAuthorised, bcdAmount);
params.paramTree.AddBin(TransactionAmountBeforeAdjustment, bcdAmount);
return params;
} |
Expand |
---|
title | AcceptorCancellationRequest |
---|
|
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caaa.005.001.06">
<AccptrCxlReq>
<Hdr>
<MsgFctn>CCAQ</MsgFctn>
<PrtcolVrsn>6.0</PrtcolVrsn>
<XchgId>18</XchgId>
<CreDtTm>2022-02-22T00:54:05.000+00:00</CreDtTm>
<InitgPty>
<Id>Amadis</Id>
</InitgPty>
<RcptPty>
<Id>Amadis</Id>
</RcptPty>
</Hdr>
<CxlReq>
<Envt>
<Acqrr>
<Id>
<Id>10009287351</Id>
</Id>
<ParamsVrsn>2022-02-22 16:58:09</ParamsVrsn>
</Acqrr>
<Mrchnt>
<Id>
<Id>00000NEXOMER001</Id>
</Id>
<CmonNm>AMADIS 1111 Saint-Urbain Montréal</CmonNm>
</Mrchnt>
<POI>
<Id>
<Id>ASA00002</Id>
</Id>
<Cpblties>
<CardRdngCpblties>PHYS</CardRdngCpblties>
<CardRdngCpblties>MGST</CardRdngCpblties>
<CardRdngCpblties>CICC</CardRdngCpblties>
<CardRdngCpblties>ECTL</CardRdngCpblties>
<CrdhldrVrfctnCpblties>FCPN</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>MNSG</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>FEPN</CrdhldrVrfctnCpblties>
<ApprvlCdLngth>6</ApprvlCdLngth>
<OnLineCpblties>SMON</OnLineCpblties>
<MsgCpblties>
<Dstn>CRCP</Dstn>
<Dstn>MDSP</Dstn>
<Dstn>MRCP</Dstn>
<AvlblLang>en</AvlblLang>
<AvlblLang>fr</AvlblLang>
<AvlblLang>it</AvlblLang>
</MsgCpblties>
</Cpblties>
<Cmpnt>
<Tp>TERM</Tp>
<Id>
<PrvdrId>Google</PrvdrId>
<Id>sdk_gphone_x86_arm</Id>
<SrlNb>ArkosPay DEMOSN00</SrlNb>
</Id>
<Sts />
</Cmpnt>
<Cmpnt>
<Tp>APLI</Tp>
<Id>
<PrvdrId>AMADIS</PrvdrId>
<Id>ARKOS</Id>
</Id>
<Sts>
<VrsnNb>3.0.8-dev-stub</VrsnNb>
</Sts>
</Cmpnt>
</POI>
<Card>
<CardPdctPrfl>90</CardPdctPrfl>
<CardBrnd>STANDARD</CardBrnd>
</Card>
</Envt>
<Cntxt>
<PmtCntxt>
<CardPres>false</CardPres>
<CrdhldrPres>false</CrdhldrPres>
<AttndncCntxt>ATTD</AttndncCntxt>
<CardDataNtryMd>DFLE</CardDataNtryMd>
</PmtCntxt>
</Cntxt>
<Tx>
<TxCaptr>false</TxCaptr>
<MrchntCtgyCd>5555</MrchntCtgyCd>
<TxId>
<TxDtTm>2022-02-22T00:54:05.000+00:00</TxDtTm>
<TxRef>00000009</TxRef>
</TxId>
<OrgnlTx>
<SaleRefId>saleReferenceIdentification</SaleRefId>
<TxId>
<TxDtTm>2022-02-22T00:54:05.000-05:00</TxDtTm>
<TxRef>0000000008</TxRef>
</TxId>
<POIId>
<Id>Terminal1</Id>
<Tp>ACCP</Tp>
<Issr>ACCP</Issr>
<ShrtNm>Term</ShrtNm>
</POIId>
<InitrTxId>InitiatorTransactionIdentification</InitrTxId>
<RcptTxId>RecipientTransactionIdentification</RcptTxId>
<TxTp>CRDP</TxTp>
<CardDataNtryMd>MGST</CardDataNtryMd>
<TxRslt>
<AuthstnNtty>
<Id>Identification</Id>
<Tp>ACCP</Tp>
<Issr>ACCP</Issr>
<Ctry>Cou</Ctry>
<ShrtNm>ShortName</ShrtNm>
</AuthstnNtty>
<RspnToAuthstn>
<Rspn>APPR</Rspn>
<RspnRsn>Reason</RspnRsn>
<AddtlRspnInf>AdditionalInformation</AddtlRspnInf>
</RspnToAuthstn>
<AuthstnCd>000001</AuthstnCd>
</TxRslt>
</OrgnlTx>
<RcncltnId>4</RcncltnId>
<TxDtls>
<Ccy>EUR</Ccy>
<TtlAmt>0.00</TtlAmt>
</TxDtls>
</Tx>
</CxlReq>
</AccptrCxlReq>
</Document> |
|
Expand |
---|
title | AcceptorCancellationResponse |
---|
|
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caaa.006.001.06">
<AccptrCxlRspn>
<Hdr>
<MsgFctn>CCAP</MsgFctn>
<PrtcolVrsn>6.0</PrtcolVrsn>
<XchgId>18</XchgId>
<CreDtTm>2022-02-22T17:54:05.738+00:00</CreDtTm>
<InitgPty>
<Id>Amadis</Id>
</InitgPty>
<RcptPty>
<Id>Amadis</Id>
</RcptPty>
</Hdr>
<CxlRspn>
<Envt>
<AcqrrId>
<Id>10009287351</Id>
</AcqrrId>
<MrchntId>
<Id>00000NEXOMER001</Id>
</MrchntId>
<POIId>
<Id>ASA00002</Id>
</POIId>
</Envt>
<Tx>
<TxId>
<TxDtTm>2022-02-22T00:54:05.000+00:00</TxDtTm>
<TxRef>00000009</TxRef>
</TxId>
<RcncltnId>4</RcncltnId>
<TxDtls>
<Ccy>EUR</Ccy>
<TtlAmt>0.00</TtlAmt>
</TxDtls>
</Tx>
<TxRspn>
<AuthstnRslt>
<AuthstnNtty>
<Id>Hamacq</Id>
<Tp>ACQR</Tp>
<Issr>ACQR</Issr>
</AuthstnNtty>
<RspnToAuthstn>
<Rspn>APPR</Rspn>
<RspnRsn>Cancel always approved</RspnRsn>
</RspnToAuthstn>
<AuthstnCd>1234567</AuthstnCd>
</AuthstnRslt>
</TxRspn>
</CxlRspn>
</AccptrCxlRspn>
</Document> |
|
Expand |
---|
title | AcceptorCancellationAdvice |
---|
|
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caaa.007.001.06">
<AccptrCxlAdvc>
<Hdr>
<MsgFctn>FCMV</MsgFctn>
<PrtcolVrsn>6.0</PrtcolVrsn>
<XchgId>19</XchgId>
<CreDtTm>2022-02-22T00:55:49.000-05:00</CreDtTm>
<InitgPty>
<Id>Amadis</Id>
</InitgPty>
<RcptPty>
<Id>Amadis</Id>
</RcptPty>
</Hdr>
<CxlAdvc>
<Envt>
<Acqrr>
<Id>
<Id>10009287351</Id>
</Id>
<ParamsVrsn>2022-02-22 16:58:09</ParamsVrsn>
</Acqrr>
<Mrchnt>
<Id>
<Id>00000NEXOMER001</Id>
</Id>
<CmonNm>AMADIS 1111 Saint-Urbain Montréal</CmonNm>
</Mrchnt>
<POI>
<Id>
<Id>ASA00002</Id>
</Id>
<Cpblties>
<CardRdngCpblties>PHYS</CardRdngCpblties>
<CardRdngCpblties>MGST</CardRdngCpblties>
<CardRdngCpblties>CICC</CardRdngCpblties>
<CardRdngCpblties>ECTL</CardRdngCpblties>
<CrdhldrVrfctnCpblties>FCPN</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>MNSG</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>FEPN</CrdhldrVrfctnCpblties>
<ApprvlCdLngth>6</ApprvlCdLngth>
<OnLineCpblties>SMON</OnLineCpblties>
<MsgCpblties>
<Dstn>CRCP</Dstn>
<Dstn>MDSP</Dstn>
<Dstn>MRCP</Dstn>
<AvlblLang>en</AvlblLang>
<AvlblLang>fr</AvlblLang>
<AvlblLang>it</AvlblLang>
</MsgCpblties>
</Cpblties>
<Cmpnt>
<Tp>TERM</Tp>
<Id>
<PrvdrId>Google</PrvdrId>
<Id>sdk_gphone_x86_arm</Id>
<SrlNb>ArkosPay DEMOSN00</SrlNb>
</Id>
<Sts />
</Cmpnt>
<Cmpnt>
<Tp>APLI</Tp>
<Id>
<PrvdrId>AMADIS</PrvdrId>
<Id>ARKOS</Id>
</Id>
<Sts>
<VrsnNb>3.0.8-dev-stub</VrsnNb>
</Sts>
</Cmpnt>
</POI>
<Card>
<CardPdctPrfl>90</CardPdctPrfl>
<CardBrnd>STANDARD</CardBrnd>
</Card>
</Envt>
<Cntxt>
<PmtCntxt>
<CardPres>false</CardPres>
<CrdhldrPres>false</CrdhldrPres>
<OnLineCntxt>true</OnLineCntxt>
<AttndncCntxt>ATTD</AttndncCntxt>
<CardDataNtryMd>DFLE</CardDataNtryMd>
</PmtCntxt>
</Cntxt>
<Tx>
<MrchntCtgyCd>5555</MrchntCtgyCd>
<TxId>
<TxDtTm>2022-02-22T00:54:05.000-05:00</TxDtTm>
<TxRef>00000009</TxRef>
</TxId>
<OrgnlTx>
<SaleRefId>saleReferenceIdentification</SaleRefId>
<TxId>
<TxDtTm>2022-02-22T00:54:05.000-05:00</TxDtTm>
<TxRef>0000000008</TxRef>
</TxId>
<POIId>
<Id>Terminal1</Id>
<Tp>ACCP</Tp>
<Issr>ACCP</Issr>
<ShrtNm>Term</ShrtNm>
</POIId>
<InitrTxId>InitiatorTransactionIdentification</InitrTxId>
<RcptTxId>RecipientTransactionIdentification</RcptTxId>
<TxTp>CRDP</TxTp>
<CardDataNtryMd>MGST</CardDataNtryMd>
<TxRslt>
<AuthstnNtty>
<Id>Identification</Id>
<Tp>ACCP</Tp>
<Issr>ACCP</Issr>
<Ctry>Cou</Ctry>
<ShrtNm>ShortName</ShrtNm>
</AuthstnNtty>
<RspnToAuthstn>
<Rspn>APPR</Rspn>
<RspnRsn>Reason</RspnRsn>
<AddtlRspnInf>AdditionalInformation</AddtlRspnInf>
</RspnToAuthstn>
<AuthstnCd>000001</AuthstnCd>
</TxRslt>
</OrgnlTx>
<TxSucss>true</TxSucss>
<Rvsl>false</Rvsl>
<RcncltnId>4</RcncltnId>
<TxDtls>
<Ccy>EUR</Ccy>
<TtlAmt>0.00</TtlAmt>
</TxDtls>
</Tx>
</CxlAdvc>
</AccptrCxlAdvc>
</Document> |
|
Expand |
---|
title | AcceptorCancellationResponse |
---|
|
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caaa.008.001.06">
<AccptrCxlAdvcRspn>
<Hdr>
<MsgFctn>CCAK</MsgFctn>
<PrtcolVrsn>6.0</PrtcolVrsn>
<XchgId>19</XchgId>
<CreDtTm>2022-02-22T17:55:49.782+00:00</CreDtTm>
<InitgPty>
<Id>Amadis</Id>
</InitgPty>
<RcptPty>
<Id>Amadis</Id>
</RcptPty>
</Hdr>
<CxlAdvcRspn>
<Envt>
<AcqrrId>
<Id>10009287351</Id>
</AcqrrId>
<MrchntId>
<Id>00000NEXOMER001</Id>
</MrchntId>
<POIId>
<Id>ASA00002</Id>
| byte[]bcdAmount= IntToBCD(0);if(bcdAmount==null){returnnull; <TxDtTm>2022-02-22T00:54:05.000-05:00</TxDtTm>
| }params.paramTree.AddBin(TransactionAmount, bcdAmount); params.paramTree.AddBin(AmountAuthorised, bcdAmount); params.paramTree.AddBin(TransactionAmountBeforeAdjustment, bcdAmount);<RcncltnId>4</RcncltnId>
<Rspn>APPR</Rspn>
</Tx>
| returnparams; }</AccptrCxlAdvcRspn>
</Document> |
|