4D Payments SDK 2016 .NET Edition

Questions / Feedback?

RevisionInquiry Event

Fired when a revision inquiry request is received from the host.


public event OnRevisionInquiryHandler OnRevisionInquiry;

public delegate void OnRevisionInquiryHandler(object sender, FdmsomahabatchmgrRevisionInquiryEventArgs e);

public class FdmsomahabatchmgrRevisionInquiryEventArgs : EventArgs {
  public int StartTransactionNumber { get; }
  public string RevisionNumbers { get; set; }
Public Event OnRevisionInquiry As OnRevisionInquiryHandler

Public Delegate Sub OnRevisionInquiryHandler(sender As Object, e As FdmsomahabatchmgrRevisionInquiryEventArgs)

Public Class FdmsomahabatchmgrRevisionInquiryEventArgs Inherits EventArgs
  Public ReadOnly Property StartTransactionNumber As Integer
  Public Property RevisionNumbers As String
End Class


This event fires when a revision inquiry request is received. Note that this is only applicable when manually handling the batch close details (occurs when setting CreditBatchAmount and DebitBatchAmount). Otherwise the component will compute batch details and handle all revision and specific poll inquiries.

StartTransactionNumber is used to identify the transaction number where the revision number list should begin.

RevisionNumbers is a comma-separated list containing the total number of revisions for each transaction. The maximum length of the list is 10 revision numbers or until you reach the last transaction number within the batch (whichever comes first).

For example, you have 12 transactions within the current batch with transaction 3 being voided, 9 being revised once and then voided, and transaction 12 being revised once. (Revisions include all transactions that have been revised or voided). A revision inquiry is requested and RevisionInquiry is fired with a StartTransactionNumber of 1. '1' specifies that we need to start with the first transaction number. Therefore RevisionNumbers should be set to the following list for transactions 1-10: "0,0,1,0,0,0,0,0,2,0". So the '1' in the list represents transaction 3 which was voided. The '2' in the list represents transaction 9 which was revised once and then voided (thus it was revised twice). Once specified, the component will send the revision inquiry response with the numbers specified. Upon a successful response, the host may send back a batch close response or request another revision inquiry. Let's say a second revision inquiry was requested. When RevisionInquiry is fired, TransactionNumber will be 11 (from our current example). Thus RevisionNumbers should be set to: "0,1" for transactions 11 and 12 (12 being the last one in the batch).

Note FDMS does have time constraints on when a response should be sent and received by the host which can be as low as 4 seconds. Therefore the handling and specifying of the RevisionNumbers should occur in a timely manner to ensure that all requests/responses can be processed without the connection being closed.

Copyright (c) 2021 4D Payments Inc. - All rights reserved.
4D Payments SDK 2016 .NET Edition - Version 16.0 [Build 8017]