4D Payments SDK 2016 .NET Edition
4D Payments SDK 2016 .NET Edition
Questions / Feedback?

FDMSResponse Type

Contains the response to the authorization.

Remarks

This type contains the results of a transaction made with the FDMSECommerce or FDMSRetail component. The fields contained by this type are listed below.

Fields

ApprovalCode
String

Contains an authorization code when a transaction has been approved, or an error message if declined.

This field contains an authorization code when a transaction has been approved. The code will begin with "AP" and will be 8 characters in length. If the transaction was partially approved, it will begin with "AL" (approved for lesser amount), and the actual amount approved will be contained in the AuthorizedAmount field. If the transaction was declined ApprovalCode will contain one of the response messages listed in the table below:

Approval CodeMeaning
CALL CARD CENTER System problem.
CVV2 DECLINED Association indicated the transaction wasn't approved due to mismatch of the CVV2 value, but would have been approved had the CVV2 values matched.
DECLINED Decline the sale.
EXPIRED CARD Card is expired.
HOLD - CALL CTR Problem with card.
INV ACCT NUM Invalid card number or prefix.
INV CREDIT PLAN Private label message only.
INV EXP DATE Invalid expiration date.
INV MER ID Merchant is not set up on Host file.
INV TERM ID Terminal is not set up on Host file.
PLEASE RETRY System time-out or other generic system error.
REFERRAL Referral.
REFERRAL INV TR2 Referral - Invalid Track II Data.
REFERRAL INV TR1 Referral - Invalid Track I Data.
SERV NOT ALLOWED Merchant is not entitled to this card type.
SYS REJECT Transaction was rejected by the system due to "batch in progress indicators" being turned on.

AuthorizedAmount
String

When supporting partial authorizations, this is the amount actually charged to the credit card.

This is only used when supporting partial authorizations (currently only supported for healthcare transactions). If the ApprovalCode begins with "AL" this field will contain the amount actually charged to the credit card. This will be less than the original TransactionAmount. You must collect the remainder via another form of payment, or Reverse the authorization if the customer does not have an additional form of payment.

AVSResult
String

Contains the Address Verification System result code.

This one character field contains the Address Verification System (AVS) result code. An AVS result code can provide additional information concerning the authentication of a particular transaction for which cardholder address verification was requested. An AVS result code of "0" will be returned in the response message when no address verification has been requested. The value returned should be stored and submitted as part of the batch settlement. The valid AVS codes are listed in the table below.

Valid AVS Codes:

CodeDescription
0Address verification was not requested.
ACustomer's address matches, zip does not.
EAVS error / Ineligible (not a mail/phone order)
GAddress information not verified for international transaction. (Non-US Issuer does not participate).
IVer Unavailable - Address information not verified for international transaction.
MExact Match - Address match for international transaction.
NNo match on customer's address or zip.
RRetry - Issuer system unavailable.
SService not supported by issuer.
UAddress information is unavailable.
WWhole nine digit zip matches, but the address does not.
XExact AVS match, nine digit zip.
YExact AVS match, five digit zip.
ZFive digit zip matches, but the address does not.

If supporting international transactions, six additional International Address Verification Service (IAVS) codes are introduced:

BStreet address match for international transaction. Postal code not verified due to incompatible formats (acquirer sent both street address and postal code).
CStreet address and postal code not verified for international transaction due to incompatible formats (acquirer sent both street address and postal code).
DStreet addresses and postal codes match for international transaction.
IAddress information not verified for international transaction.
MStreet addresses and postal codes match for international transaction.
PPostal codes match for international transaction. Street address not verified due to incompatible formats (acquirer sent both street address and postal code).

Balance
String

Contains the remaining available balance left on the card.

This balance amount will only be returned for prepaid cards.

CaptureFlag
Boolean

Indicates whether the authorization was successful, and whether it can be settled.

After an authorization request, the CaptureFlag will be set to True if the request was successfully processed. This indicates that you may send the transaction on for batch settlement using the FDMSSettle component. If this field is False you should consider the transaction as Declined, and it may not be settled.

CardLevelResult
String

Two character card level results field returned in the response to Visa authorizations.

CommercialCard
FDMSCommercialCards

Indicates whether the credit card charged is a corporate commercial card.

Business, corporate, and purchasing cards are subsets of commercial cards. Therefore, the user should send Level 2 (and possibly Level 3) data in the settlement when this property indicates a commercial card was used. The following table indicates the type of commercial card:

fccNotCommercial (0)Card presented for authorization is not a commercial card
fccPurchaseCard (1)Card presented for authorization is a Purchasing Card.
fccCorporateCard (2)Card presented for authorization is a Corporate Card.
fccBusinessCard (3)Card presented for authorization is a Business Card.
fccUnknown (4)Unable to obtain information from processor.

Note: Commercial card transactions settled with Level 2 or Level 3 data must include tax amounts to receive the best interchange rate.

CVVResult
String

Contains the returned CVV result code (if CVV data was sent in the request).

If a CVV value was sent in the authorization, this field will contain the host returned Card Verification Value result code. The following is a list of current result codes:

MCVV2 match.
NCVV2 no match.
PNot processed.
SMerchant has indicated that CVV2 is not present on card.
UUnknown, or Issuer does not participate.
XServer Provider did not respond (Default).

DatawireReturnCode
String

Contains an error code providing more details about the DatawireStatus received.

When a transaction is successfully passed from the application, through the Datawire system to the FDMS payment processor and back, the DatawireStatus will be "OK" and the DatawireReturnCode will be "000". These two fields have NO BEARING on the actual results of any transaction. Even though the transaction has successfully passed through the Datawire system, it can still fail to be processed successfully by FDMS. This field only indicates that the request reached FDMS, and that FDMS responded with some data.

The CaptureFlag and ApprovalCode fields contain the actual transaction result that was returned by FDMS.

The following is a list of possible Datawire return codes:

000 Transaction successfully passed through the Datawire system to the FDMS Payment Processor and back.
200 Host Busy - The processor's Host is busy and is currently unable to service this request.
201 Host Unavailable - The processor's Host is currently unavailable. For example, the server is sending NAK.
202 Host Connect Error - Could not connect to the processor's Host.
203 Host Drop - The processor's Host disconnected during the transaction before sending a response.
204 Host Comm Error - An error was encountered while communicating with the processor's Host.
205 No Response - No response from the processor's Host
206 Host Send Error - An error has encountered when sending the request to the processor, and the Host daemon cannot continue sending packets to the processor because the connection is broken.
405 Vxn Timeout - The request could not be processed.
505 Network Error - The request could not be processed.

DatawireStatus
String

Status of the communication with Datawire.

When a transaction is successfully passed from the application, through the Datawire system to the FDMS payment processor and back, the DatawireStatus will be "OK" and the DatawireReturnCode will be "000". These two fields have NO BEARING on the actual results of any transaction. Even though the transaction has successfully passed through the Datawire system, it can still fail to be processed successfully by FDMS. This field only indicates that the request reached FDMS, and that FDMS responded with some data.

The CaptureFlag and ApprovalCode fields contains the actual FDMS Transaction Result that was returned.

The following is a list of possible Datawire response status codes:

OKTransaction has successfully passed through the Datawire system to the FDMS Payment processor and back.
AuthenticationErrorDatawireId in the request was not successfully authenticated.
UnknownServiceIDServiceId part of the URL (in the Service Discovery or Ping request) is unknown.
WrongSessionContextThe SessionContext element of the Session Transaction request does not match the SessionContext returned by the InitiateSession response (applicable to the FDMSSettle component).
AccessDeniedGenerally, occurs when you try to register a merchant after a merchant has already been activated to use the Datawire VXN.
FailedYour Merchant Registration has failed. Contact tech.support@datawire.net for more information.
RetryRegistration is not yet complete. You must send the Registration request again.
TimeoutNo response from the Service Provider was received during the expected period of time.
XMLErrorRequest contains some XML error, such as malformed XML, violation of this DTD, etc.
OtherError Unspecified error occurred.
008Network Error

ReturnedACI
String

Returned Authorization Characteristics Indicator contains CPS qualification status.

This one character field contains the returned Authorization Characteristics Indicator (ACI). This value provides information concerning the transaction's CPS qualification status. It is not recommended that the Point of Sale (POS) system attempt to interpret the meaning of this value. Instead, the POS system should extract whatever value is returned in this field and submit it in the batch settlement. The POS system should not interpret any relationship between this field and the presence of data in either the TransactionId or ValidationCode fields.

The following is a list of all returned ACI values. Please note that many of these return values result from features not available in any of the currently supported Industry Types.

ValueDescription
I Incremental to a previously approved authorization
P Preferred Customer (auto rental, hotel, and transport)
Y Transaction is requesting service in CPS/2000 Received by issuer on first authorization, saved in terminal, and returned on reversal and settlement transactions:
" " (Space) Transaction not submitted for REPS processing
A Normal qualified
C Qualified, customer-activated terminal
E Qualified Retail
F Card Not Present (Account Funding - with AVS and CVV2)
I Qualified incremental
K Qualified CPS/Retail Key Entry (AVS is required with K)
N Not qualified
P Qualified Preferred
R AVS not Required - Only available to VISA Health Care and Select Developing Markets
S Card Not Present (E-Commerce - 3D Secure Attempt)
T Transaction cannot participate in CPS programs
V Qualified Address Verification
U Card Not Present (E-Commerce - 3D Secure)
W Card Not Present (E-Commerce - Non 3D Secure w/AVS)

TransactionDate
String

Local transaction date returned from the server in MMDDYY format.

This six digit field contains a local transaction date calculated by the authorization center. This field should be recorded and submitted in the Batch Settlement.

TransactionId
String

Contains the Visa Transaction Identifier or MasterCard Reference Number.

This 15-character field contains a Visa transaction identifier or MasterCard reference number. The Point of Sale (POS) device should not attempt to interpret the meaning of any data appearing in this field. Data returned in this field (if any) should be recorded and submitted in the Batch Settlement.

ValidationCode
String

Additional information generated by the card issuer.

This four character field may contain specific information generated by the card issuer. The Point of Sale (POS) device should not attempt to interpret the meaning of any data appearing in this field. Data returned in this field should be recorded and submitted as part of a Batch Settlement.

Constructors

[VB.NET]
Public FDMSResponse()

[C#]
public FDMSResponse();



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