4D Payments SDK 2016 .NET Edition

Questions / Feedback?

GlobalBatchResponse Type

The response from a batch management transaction.


This type will contain a response to a batch settlement, batch inquiry, or connection check.



Contains the transaction authorization code from the card issuer.

For approved transaction responses (Code 0 or 200) the Global Transport Gateway sends a 6-character approval code in the ApprovalCode field and a human-readable approval message in the Message field. In the case of a decline, the ApprovalCode will contain an error message. Your application should display the ApprovalCode as part of the approval message for an approved transaction. For declined responses, the HostCode field will contain an additional code that provides detail on the reason for the decline.

After a call to CheckConnection this field will contain "OK" if everything is okay. If not, the Code, Message, and MessageDetail will indicate the problem. For batch settlement responses it will contain the approval code. For all other transaction responses ApprovalCode will remain empty.


Indicates the number of the current batch.

If this is a response to a BatchInquiry transaction, this field will contain the number of the current open batch. If in response to a CaptureAll transaction this field will contain the number of the batch that was just closed.


Contains the transaction result code from the Global Transport Gateway. This value signifies the result of the transaction (i.e. approved, declined, etc). When programmatically validating a transaction's result, this value should ALWAYS be used instead of any response message describing the result. See the table below for a full list of result codes and descriptions.

-100Transaction NOT Processed; Generic Host Error.
2Invalid Transaction.
3Invalid Transaction Type.
3Unsupported Transaction Type.
4Invalid Amount.
4Invalid Cash Back Amount.
5Invalid Merchant Information.
6Time Out Waiting for Host Response.
7Field Format Error. See Message and MessageDetail for more info.
7Swiped and Card Present transactions are not supported in Card Not Present markets.
8Not a Transaction Server.
11Client Timeout Waiting for Response.
14Transaction Type Not Supported In This Version.
19Original Transaction Id, PNRef, or Approval Code Not Found.
20Customer Reference Number Not Found.
22Invalid ABA Number.
23Invalid Account Number.
24Invalid Expiration Date.
25Transaction Type Not Supported by Host.
26Invalid Reference Number or PNRef.
27Invalid Receipt Information.
28Invalid Check Holder Name.
29Invalid Check Number.
30Check DL Verification Requires DL State.
31Cannot perform multiple captures on a PreAuth.
40Not Currently Supported.
50Insufficient Funds Available.
99General Error.
100Invalid Transaction Returned from Host.
101Timeout Value too Small or Invalid Time Out Value.
102Processor Not Available.
103Error Reading Response from Host.
104Timeout waiting for Processor Response.
105Credit Error.
106Host Not Available.
107Duplicate Suppression Timeout.
108Void Error/Cannot void a previously voided or settled transaction.
109Timeout Waiting for Host Response.
110Duplicate Transaction.
111Capture Error.
112Failed AVS Check.
113Cannot Exceed Sales Cap / Requested Refund Exceeds Available Refund Amount.
114Cannot refund a voided transaction.
115Sum of Tax, Tip, and Cash Back amount cannot exceed total Amount.
116Unsupported Card Type.
117Only Sales, Repeat Sales, Force Captures, and Post Authorizations can be refunded.
118The amount of a Pre-Auth Complete (Capture) must be less than or equal to the original amount authorized. Please retry.
200A Partial Authorization of a pre-paid card. This is considered an Approved transaction. Check the AuthorizedAmount field for the amount approved. See below for more information.
1000Generic Host Error or General Exception. (Missing or invalid data). See Message and MessageDetail for more info.
1001Invalid Login Information.
1002Insufficient Privilege or Invalid Amount.
1002AVS Only transactions are not supported in E-Commerce markets.
1002Debit/EBT Return transactions must provide the PNRef from the original Sale. Please retry.
1002Zip is required for AVS Only transaction type.
1003Invalid Login Blocked.
1004Invalid Login Deactivated.
1005Transaction Type or Service Not Allowed.
1006Unsupported Processor.
1007Invalid Request Message.
1008Invalid Version / The MAC value is required.
1010Payment Type Not Supported.
1011Error Starting Transaction.
1012Error Finishing Transaction.
1013Error Checking Duplicate.
1014No Records To Settle (in the current batch).
1015No Records To Process (in the current batch).

A Partial Authorization transaction occurs when the issuer authorizes part of the sale amount on a pre-paid credit card. The transaction is approved for an amount less than the original TransactionAmount, and the customer must tender the remaining balance with another form of payment. When a transaction is partially approved, the Code will contain "200", the Message will contain "Partial Approval", and the MessageDetail will contain "PARTIAL AP", "PARTIALLY APPROVED", or "PARTIALLY APPROVED AUTHONLY" (for auth-only transactions). the AuthorizedAmount will contain the amount of the transaction that was authorized, and the BalanceDue field will indicate the amount still owed by the customer.

If a partial authorization occurs and the customer does not wish to go through with the transaction, you must submit a reversal of the authorization in order to return funds to the prepaid card.


Contains a human-readable response message concerning the processed transaction.

This value is typically either Approved or Declined, but may also contain a description of any error condition. Do NOT use this when programmatically validating a transaction's result; use the Code field instead.


Contains a formatted response message concerning the processed transaction. This field will contain an additional message about the results of the transaction, providing more detail than the Message field alone. For approved transactions this field will typically be "APPROVAL", and for declined transactions will contain a detailed error message. Do NOT use this when programmatically validating a transaction's result; Use the Code field instead.

Note: For Debit Card Sales and Refund, the string value in MessageDetail includes non-printable characters. Global Transport removes all non-printable characters from the returned MessageDetail.


The net dollar amount of all transactions.

This is the total transaction amount of the settlement, minus all refunds. If positive it indicates a payment to the merchant. If negative it means more refunds than sales were contained in the batch, and the merchant will be charged. Note that a void transaction DOES count towards the total NetTransAmount, but a Refund or Credit subtracts from it.

For instance, a batch containing one $10 transaction and one $10 void will have a NetTransAmount of "20.00". However, a batch containing one $10 transaction and one $3 refund will have a NetTransAmount of "7.00". In either case, the NetTransCount will be 2.

This amount is to be specified in US dollars, without a dollar sign but with an explicit decimal point. For instance, ten dollars and fifty cents is to be specified as "10.50".


This field contains the total number of transactions contained in the batch settlement. This includes charges, captures, voids, forces, and refunds, but not authorization-only transactions (as they are not added to the batch).


The date the batch was settled. This date field is in the format "YYYY-MM-DD HH:MM:SS"


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