You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
Version 1
Next »
Original Credit used to cash out money in casinos is a Service that allows the card acceptor to perform a credit to a cardholder’s account. An Original Credit is not preceded by card payment.
Original Credit is similar to Refund service. You can do online, offline transactions as well as transactions with reference data.
Below are the two Tags that can be set on Atheos using the needed values.
Name | Tag | Table | Length | Format | presence |
---|
Original Credit Max Amount | DF5B | E6 | 6 | n12 | Optional |
Original Credit Protection Amount | DF5C | E1 | 6 | n12 | optional |
Tag Original Credit Max Amount if configured, will abort the transaction if the transaction amount is higher than the maximum amount set.
Tag Original Credit Protection Amount if configured, will call the nexofast entry, MSG_ENTRY_SERVICE_PERMITTED
, to validate the Transaction Amount. This happens when the transaction amount is higher than the protection amount set.
Initiate an Original Credit
Below is an example of how to initiate an original credit of 20.00.
// Minimal parameter set
TlvTree paymentParams = TlvTree.Empty();
paymentParams.AddEnum(ArkosTags.SelectedService, PaymentServiceID.OriginalCredit);
// Amounts are in BCD. In most cases, all 3 amounts should be the same value.
paymentParams.AddBin(ArkosTags.TransactionAmount, new byte[] { 0x00, 0x00, 0x00, 0x00, 0x20, 0x00 });
paymentParams.AddBin(ArkosTags.AmountAuthorised, new byte[] { 0x00, 0x00, 0x00, 0x00, 0x20, 0x00 });
paymentParams.AddBin(ArkosTags.TransactionAmountBeforeAdjustment, new byte[] { 0x00, 0x00, 0x00, 0x00, 0x20, 0x00 });
// The system needs to provide the Date and Time of this transaction, and the local 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);
paymentParams.AddEMVDate(ArkosTags.TransactionDate, cal.get(Calendar.YEAR) % 100, cal.get(Calendar.MONTH) + 1, cal.get(Calendar.DAY_OF_MONTH));
paymentParams.AddEMVTime(ArkosTags.TransactionTime, cal.get(Calendar.HOUR), cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND));
paymentParams.AddBin(ArkosTags.LocalTimezone, utcOffset);
paymentParams.AddAscii(ArkosTags.SelectedLanguage, "en");
// Call to the doPayment API, sending the Arkos configuration, and parameters as a byte Array
PaymentResult result = arkos.doPayment(configuration, paymentParams.AsBytes());
Data Parameters
Required - Original Credit
Name | Tag | Format | Usage |
---|
Selected Service | CE
| u8; 1
14 : Original Credit
| Identification of the payment service requested |
Transaction Amount | D5
| BCD; 12 fixed exponent (2)
| Amount of the transaction |
Authorised Amount | 9F02
| BCD; 12 fixed exponent (2)
| |
Transaction Amount Before Adjustment | DFFF47
| BCD; 12 fixed exponent (2)
| |
Transaction Time | 9F21
| BCD; 6 HMS, two nibbles per element Ex: [0x16, 0x17, 0x27] (16:17:27)
| Time at which the current action is performed |
Transaction Date | 9A
| BCD; 6 YMD, two nibbles per element Ex: [0x20, 0x08, 0x16] (2020-aug-16)
| Date at which the current action is performed |
Local Time Zone | DF9F3F
| i8; 2 Hour and minute offset, one byte each Ex: [-5, 0]
| Local Timezone in which the current action is performed |
Selected Language | CD
| ASCII; 2 Ex: "en"
| |
Optional - General
Name | Tag | Format | Usage |
---|
Transaction Channel | 0xDFBF60
| u8; 1
Possible Values 00 : None
01 : Mail
02 : Telephone
03 : eCommerce
04 : Television Payment
05 : Secured Electronic Commerce
06 : Mobile Payment
07 : Mobile POS
| This value will be present in nexo acquirer message if present. Reference ISO20022_MDRPart2_CAPE_caaa_2016_2017_v1, section 2.4.2.2.1.5 TransactionChannel
|
Original Credit can be performed Online and offline:
NOTE: To set to online mode, set byte 3 bit 7 of Application profile settings (TAG DF27)
AccptrAuthstnReq
<?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>1</XchgId>
<CreDtTm>2022-01-18T03:08:22.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-01-13 16:59:42</ParamsVrsn>
</Acqrr>
<Mrchnt>
<Id>
<Id>00000NEXOMER001</Id>
</Id>
<CmonNm>AMADIS 1111 Saint-Urbain Montréal</CmonNm>
</Mrchnt>
<POI>
<Id>
<Id>ASA00001</Id>
</Id>
<Cpblties>
<CardRdngCpblties>PHYS</CardRdngCpblties>
<CardRdngCpblties>MGST</CardRdngCpblties>
<CardRdngCpblties>CICC</CardRdngCpblties>
<CardRdngCpblties>ECTL</CardRdngCpblties>
<CrdhldrVrfctnCpblties>FCPN</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>MNSG</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.6-dev-stub</VrsnNb>
</Sts>
</Cmpnt>
</POI>
<Card>
<PlainCardData>
<PAN>5219610200140517</PAN>
<XpryDt>2021-08</XpryDt>
<SvcCd>121</SvcCd>
<Trck2>5219610200140517=210812110000946</Trck2>
</PlainCardData>
<IssrBIN>52196102</IssrBIN>
<CardPdctPrfl>04</CardPdctPrfl>
<CardBrnd>Carte a Piste</CardBrnd>
<IntrnlCard>false</IntrnlCard>
</Card>
<Crdhldr>
<Lang>en</Lang>
</Crdhldr>
</Envt>
<Cntxt>
<PmtCntxt>
<CardPres>true</CardPres>
<CrdhldrPres>true</CrdhldrPres>
<AttndncCntxt>ATTD</AttndncCntxt>
<CardDataNtryMd>MGST</CardDataNtryMd>
</PmtCntxt>
</Cntxt>
<Tx>
<TxCaptr>false</TxCaptr>
<TxTp>ORCR</TxTp>
<MrchntCtgyCd>5555</MrchntCtgyCd>
<TxId>
<TxDtTm>2022-01-18T03:08:22.000+00:00</TxDtTm>
<TxRef>00000001</TxRef>
</TxId>
<RcncltnId>1</RcncltnId>
<TxDtls>
<Ccy>EUR</Ccy>
<TtlAmt>10.00</TtlAmt>
<AmtQlfr>ACTL</AmtQlfr>
<OnLineRsn>TRMF</OnLineRsn>
</TxDtls>
</Tx>
</AuthstnReq>
</AccptrAuthstnReq>
</Document>
AccptrAuthstnRspn
<?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>1</XchgId>
<CreDtTm>2022-01-18T20:08:23.679+00:00</CreDtTm>
<InitgPty>
<Id>Amadis</Id>
</InitgPty>
<RcptPty>
<Id>Amadis</Id>
</RcptPty>
</Hdr>
<AuthstnRspn>
<Envt>
<POIId>
<Id>ASA00001</Id>
</POIId>
</Envt>
<Tx>
<TxId>
<TxDtTm>2022-01-18T03:08:22.000+00:00</TxDtTm>
<TxRef>00000001</TxRef>
</TxId>
<RcptTxId>000000000000</RcptTxId>
<TxDtls>
<Ccy>EUR</Ccy>
<TtlAmt>10.00</TtlAmt>
<ICCRltdData>ioECMDA=</ICCRltdData>
</TxDtls>
</Tx>
<TxRspn>
<AuthstnRslt>
<RspnToAuthstn>
<Rspn>APPR</Rspn>
</RspnToAuthstn>
<AuthstnCd>001737</AuthstnCd>
</AuthstnRslt>
</TxRspn>
</AuthstnRspn>
</AccptrAuthstnRspn>
</Document>
AccptrCmpltnAdvc
<?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>2</XchgId>
<CreDtTm>2022-01-18T03:11:26.000-05:00</CreDtTm>
<InitgPty>
<Id>Amadis</Id>
</InitgPty>
<RcptPty>
<Id>Amadis</Id>
</RcptPty>
</Hdr>
<CmpltnAdvc>
<Envt>
<Acqrr>
<Id>
<Id>10009287351</Id>
</Id>
<ParamsVrsn>2022-01-13 16:59:42</ParamsVrsn>
</Acqrr>
<Mrchnt>
<Id>
<Id>00000NEXOMER001</Id>
</Id>
<CmonNm>AMADIS 1111 Saint-Urbain Montréal</CmonNm>
</Mrchnt>
<POI>
<Id>
<Id>ASA00001</Id>
</Id>
<Cpblties>
<CardRdngCpblties>PHYS</CardRdngCpblties>
<CardRdngCpblties>MGST</CardRdngCpblties>
<CardRdngCpblties>CICC</CardRdngCpblties>
<CardRdngCpblties>ECTL</CardRdngCpblties>
<CrdhldrVrfctnCpblties>FCPN</CrdhldrVrfctnCpblties>
<CrdhldrVrfctnCpblties>MNSG</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.6-dev-stub</VrsnNb>
</Sts>
</Cmpnt>
</POI>
<Card>
<PlainCardData>
<PAN>5219610200140517</PAN>
<XpryDt>2021-08</XpryDt>
<SvcCd>121</SvcCd>
</PlainCardData>
<IssrBIN>52196102</IssrBIN>
<CardPdctPrfl>04</CardPdctPrfl>
<CardBrnd>Carte a Piste</CardBrnd>
</Card>
</Envt>
<Cntxt>
<PmtCntxt>
<CardPres>true</CardPres>
<CrdhldrPres>true</CrdhldrPres>
<OnLineCntxt>true</OnLineCntxt>
<AttndncCntxt>ATTD</AttndncCntxt>
<CardDataNtryMd>MGST</CardDataNtryMd>
</PmtCntxt>
</Cntxt>
<Tx>
<TxCaptr>true</TxCaptr>
<TxTp>ORCR</TxTp>
<MrchntCtgyCd>5555</MrchntCtgyCd>
<TxId>
<TxDtTm>2022-01-18T03:08:22.000-05:00</TxDtTm>
<TxRef>00000001</TxRef>
</TxId>
<TxSucss>true</TxSucss>
<Rvsl>false</Rvsl>
<MrchntOvrrd>false</MrchntOvrrd>
<RcptTxId>000000000000</RcptTxId>
<RcncltnId>1</RcncltnId>
<TxDtls>
<Ccy>EUR</Ccy>
<TtlAmt>10.00</TtlAmt>
<AmtQlfr>ACTL</AmtQlfr>
<AuthrsdAmt>10.00</AuthrsdAmt>
</TxDtls>
<AuthstnRslt>
<RspnToAuthstn>
<Rspn>APPR</Rspn>
</RspnToAuthstn>
<AuthstnCd>001737</AuthstnCd>
</AuthstnRslt>
</Tx>
</CmpltnAdvc>
</AccptrCmpltnAdvc>
</Document>
AccptrCmpltnAdvcRspn
<?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>2</XchgId>
<CreDtTm>2022-01-18T20:11:26.897+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>ASA00001</Id>
</POIId>
</Envt>
<Tx>
<TxId>
<TxDtTm>2022-01-18T03:08:22.000-05:00</TxDtTm>
<TxRef>00000001</TxRef>
</TxId>
<Rspn>APPR</Rspn>
</Tx>
</CmpltnAdvcRspn>
</AccptrCmpltnAdvcRspn>
</Document>