Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

When a Refund is performed, the sale system or the device control may provide Refund Reference Data (through SCAP by an Additional_Transaction_Data_Event, see Section 5.2.2) 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, and provided to HAP for inclusion in the Auth/Clearing messages. Initialized to " " (empty string) during Service Initialisation and set through an Additional_Transaction_Data_Event for the Refund Service.

Steps Taken For this Bulletin:

  • Add A Tag DF59(Refund Reference Data) was added to nexofast.h

  • set tag DF59 in arkosDev.

  • In nexoAcquirer, the Original Transaction Field has been chosen.

  • However, in case of a refund, the originalTransaction.TransactionType field will have TxTp as card payment since it is mandatory and we do not know which value to put.Refund reference data has been included in the Original Transaction section of AcceptorAuth and CompletionAdvice.

As this tag is optional, a check is done on the latter. If the Tag is absent, the original transaction section is not included.

Below is an example derived from a refund of an original transaction.

Code Block
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.AddAscii(ArkosTags.RefundReferenceData,"1234567890");
originalTransaction.AddEnum(ArkosTags.SelectedService, PaymentServiceID.Payment);

Obtained XML :

Code Block
        <OrgnlTx>
          <TxId>
            <TxDtTm>2021-06-11T11:39:36.000+00:00</TxDtTm>
            <TxRef>31323334353637383930</TxRef>
          </TxId>
          <POIId />
          <TxTp>CRDP</TxTp>
          <CardDataNtryMd>DFLE</CardDataNtryMd>
        </OrgnlTx>