Info |
---|
See https://teamamadis.atlassian.net/wiki/pages/resumedraft.action?draftId=1713274934 on Amadis Wiki for more information about the Refund Service. |
Initiate a Refund without Reference Data
...
to an Original Transaction
Expand | ||
---|---|---|
| ||
|
...
|
...
|
...
|
...
|
...
|
...
|
Initiate a Refund with
...
Code Block | ||
---|---|---|
| ||
// Refund 10.00$
TlvTree paymentParams = TlvTree.Empty();
paymentParams.AddBin(ArkosTags.SelectedService, new byte[] { 0x06 });
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 });
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);
// Add Original Transaction to the Refund
TlvTree originalTransaction = paymentParams.AddChild(ArkosTags.OriginalTransaction);
originalTransaction.AddEMVDate(ArkosTags.TransactionDate, cal.get(Calendar.YEAR) % 100, cal.get(Calendar.MONTH) + 1, cal.get(Calendar.DAY_OF_MONTH));
originalTransaction.AddEMVTime(ArkosTags.TransactionTime, cal.get(Calendar.HOUR), cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND));
originalTransaction.AddBin(ArkosTags.LocalTimezone, utcOffset);
originalTransaction.AddEnum(ArkosTags.SelectedService, PaymentServiceID.Payment); |
Code Block |
---|
<OrgnlTx>
<TxId>
<TxDtTm>2021-06-15T10:36:45.000+00:00</TxDtTm>
<TxRef>1234567890</TxRef>
</TxId>
<TxTp>CRDP</TxTp>
<CardDataNtryMd>DFLE</CardDataNtryMd>
</OrgnlTx |
Initiate a Refund with a Reference Data
a Reference to an Original Transaction
When a Refund is performed, the sale system or the device control (eg. the MerchantApp) may provide Refund Reference Data as a reference to the original Service being refunded.
Refund Reference Data may be identical to the Reference Data of the original Service, but this is not mandatory and not checked.
Refund Reference Data is not used to retrieve the transaction data of the original Service, but it is stored in the transaction database for the Refund.
Expand | ||
---|---|---|
|
|
| |
|
...
breakoutMode | wide |
---|
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
As this tag is optional, a check is done on the latter. If the Tag is absent, the original transaction section is not included.
Expand | ||
---|---|---|
| ||
|