Standard usage
// Create the minimal parameter set TlvTree paymentParams = TlvTree.Empty(); paymentParams.AddBin(ArkosTags.SelectedService, new byte[] { 0x00 }); // 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, 0x10, 0x00 }); paymentParams.AddBin(ArkosTags.AmountAuthorised, new byte[] { 0x00, 0x00, 0x00, 0x00, 0x10, 0x00 }); paymentParams.AddBin(ArkosTags.TransactionAmountBeforeAdjustment, new byte[] { 0x00, 0x00, 0x00, 0x00, 0x10, 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()); // Use the payment result Log.d("payment", "Result: " + result.result);
Data Parameters
Required - General
Name | Tag | Format | Usage |
---|---|---|---|
Selected Service |
|
| Identification of the payment service requested |
Transaction Amount |
|
| Amount of the transaction |
Authorised Amount |
|
| |
Transaction Amount Before Adjustment |
|
| |
Transaction Time |
|
| Time at which the current action is performed |
Transaction Date |
|
| Date at which the current action is performed |
Local Time Zone |
|
| Local Timezone in which the current action is performed |
Selected Language |
|
|
Optional - General
Output Parameters
Always Present - General
Name | Tag | Format | Usage |
---|---|---|---|
Transaction Result |
|
| Identification of final transaction result |
Authorised Amount |
|
| Final Authorised Amount |
Transaction Reference |
| Unique transaction reference. Used to identify a transaction in subsequent transactions Ex: For cancellation or completion | |
PAN Masked Merchant |
|
| Transaction PAN, masked according to configuration for merchant receipt |
PAN Masked Cardholder |
|
| Transaction PAN, masked according to configuration for cardholder receipt |
Payment Brand |
|
| Identified Payment Brand |
Selected Technology |
|
| Selected technology for current transaction. |
Application Preferred Name |
|
| Application Preferred Name that the cardholder can identify (or the default scheme name if not present) |
Present for online approved transaction
Name | Tag | Format | Usage |
---|---|---|---|
Authorisation Code |
|
| Value generated by the authorisation authority for an approved |
Present for EMV Transaction
Name | Tag | Format | Usage |
---|---|---|---|
Application AID |
|
| Final Application AID selected to do the EMV transation |
TVR |
|
| Terminval Verification Results |
TSI |
|
| Transaction Status Information |
CVM Result |
|
| Result of the cardholder verification method |