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

FDMSGiftResponse Type

Contains the response to a gift card transaction.

Remarks

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

Fields

ApprovalCode
String

Contains an authorization code if the transaction has been approved.

This field is returned in response to all approved gift card transactions, and will contain an authorization code used for tracking within the FDMS Closed Loop Gift Card System. Depending on the merchant's setup, this field will contain either 6 digit numeric or 8 character alphanumeric data for the approval code. If the transaction was declined this field will be empty.

The contents of this field should not be used to determine the status of a transaction. The Code field will indicate whether the transaction was approved or declined.

CardClass
String

Identifies the class of the gift card used in the transaction.

The First Data Closed Loop Gift Card database may contain a list of merchant-defined card classes. If using card classes, it is the merchant's responsibility to interpret the value of this field. A value of "0" indicates the card does not belong to any card class. Contact your First Data Closed Loop Gift Card representative if you wish to assign card classes to use in your solution.

CardExpDate
String

Contains the expiration date of the gift card.

The account's expiration date is returned on approved transactions and on declined transactions that are declined due to the card being expired. The expiration date will be an 8-digit string in the format "MMDDYYYY". Accounts with no expiration date will return a year (YYYY) greater than 3000.

CashBack
String

Indicates the amount of cash to return to the customer.

This field may be used at the point of sale to indicate the amount that needs to be tendered to a customer to remove the remaining balance from the card. It will bring the account balance to zero and close the account as defined by the merchant's configuration with First Data. For example, if $10.00 is remaining on a gift card and a purchase of $9.70 is made, the gift card system may put $.30 in this field. The response NewBalance will indicate that the card is now empty, and the merchant should give the $.30 change to the customer.

Code
String

Indicates the status of the authorization request.

This field will contain a two character response code indicating the status of the transaction request sent to the FDMS Closed Loop Gift Card system. The merchant must evaluate this response code and not the Text or ApprovalCode to determine the nature of a response message. A response code of "00" represents a successful transaction. All other response codes represent non-approved requests. All non-approved response codes should NOT be assumed to be "DECLINED" as an error condition may be present.

A list of valid result codes is:

CodeDescription
00Completed OK
01Insufficient funds
02Account closed. The account was closed, probably because the account balance was $0.00.
03Unknown account. The account could not be located in the account table.
04Inactive account. The account has not been activated by an approved location.
05Expired card. The card's expiration date has been exceeded.
06Invalid transaction code. This card or terminal is not permitted to perform this transaction, or the transaction code is invalid.
07Invalid merchant. The merchant is not in the merchant database or the merchant is not permitted to use this particular card.
08Already active. The card is already active and does not need to be reactivated.
09System error. There is a problem with the cost processing system. Call your help desk or operations support.
10Lost or stolen card. The replacement transaction could not be completed because the account was not previously marked as lost/stolen.
11Not lost or stolen. The replacement transaction could not be completed because the account was not previously marked as lost/stolen.
12Invalid transaction format. There is a transaction format problem.
15Bad mag stripe. The mag stripe could not be parsed for account information.
16Incorrect location. There was a problem with the merchant location.
17Max balance exceeded. The transaction, if completed, would cause the account balance to be exceeded by the max_balance specified by configuration of this system. Some merchants set the max_balance to a value twice that of the max transaction amount.
18Invalid amount. There was a problem with the amount field in the transaction format.
19Invalid clerk. The clerk field was either missing when required or the content did not match a clerk in the merchant's system.
20Invalid password. The user password is invalid.
21Invalid new password. The new password does not meet the minimum security criteria.
22Exceeded account reloads. The clerk/user/location was only permitted to reload a specified number of accounts. That number has been exceeded. Contact the help desk or operations support.
23Password retry exceeded. The user account has been frozen because the user attempted to access the account and was denied. Seek manager's assistance.
26Incorrect transaction version or format number for point of sale transactions.
27Request not permitted by this account.
28Request not permitted by this merchant location.
29Bad replay date.
30Bad checksum. The checksum provided is incorrect.
31Balance not available (denial). Due to an internal First Data Closed Loop Gift Card issue, information from this account could not be retrieved.
32Account has been locked.
33No previous transaction. The void or reversal transaction could not be matched to a previous (original) transaction. In the case of a pre-authorization redemption, the corresponding locking transaction could not be identified.
34Already reversed.
35Generic denial. An error was produced which has no other corresponding response code for the provided version/format.
36Bad authorization code. The authorization code test failed.
37Too many transactions requested.
38No transactions available/no more transactions available. There are no more transactions for this account or there are no transactions as determined by the specified first transaction number.
39Transaction history not available. The history could not be provided.
40New password required.
41Invalid status change. The status change requested (e.g. lost/stolen, freeze active card) cannot be performed.
42Void of activation after account activity.
43No phone service. Attempted a calling card transaction on an account which is not configured for calling card activity.
44Internet access disabled. This account may no longer use transactions in which an EAN is required.
45Invalid EAN. The EAN is not correct for the provided account number.
46Invalid merchant key. The merchant key block provided is invalid (e.g. The working key provided is an Assign Merchant Working Key transaction).
47Internet Virtual and Physical cards do not match. When enabling a physical card to a virtual card, both must be from the same promotion.
48Invalid transaction source. The provided source is not valid for this transaction.
49Account already linked. This is the response received when enabling a physical card when the two provided accounts have already been linked.
50Account not in inactive state. his is the response received when enabling a physical card when the physical card is not in an inactive state.
51First Data Voice Services returns this response on Internet transactions where the interface input parameter is not valid.
52First Data Voice Services returns this response on Internet transactions when they did not receive a response from Closed Loop Gift Card.
53First Data Voice Services returns this response on Internet transactions where the client certificate is invalid.
54Merchant not configured as International although the account requires it. The account allows currency conversions but the merchant is not configured for International.
55Invalid currency. The provided currency is invalid.
56Request not International. Merchant configured to require currency information for the financial transaction, however none was sent.
57Currency conversion error. Internal Closed Loop Gift Card system error.
58Invalid expression date. The expression date provided is not valid.
59On void transaction, the terminal transaction number did not match.
60First Data Voice Services error returned if Internet transactions check fails.
67Target Embossed Card entered and transaction count entered do not match.
68No account link.
69Invalid timezone.
70Account on hold.
71Fraud count exceeded.
72Location restricted.
73Invalid BIN
74Product code(s) restricted.
75Bad post date. The date is not a valid date.

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

LockAmount
String

Contains the amount that is locked and cannot be used.

If the gift card has previously been locked via the LockCard method, this field will reflect the balance that is locked and cannot be used for purchases.

NewBalance
String

Contains the balance on the card reflected immediately after this transaction.

This field contains the balance of funds left on the card after the transaction was applied. When redeeming a card with the RedeemCard method and RedemptionType set to rtPartialRedemption, the merchant must use the NewBalance and PreviousBalance fieldsto determine if full amount was authorized, or if an additional amount needs to be tendered by the customer. (via cash, credit, another gift card, etc).

Note that NewBalance and PreviousBalance will display the same value in response to a call a Balance Inquiry or Lock Card transaction.

PreviousBalance
String

Contains the balance that was on the gift card before this transaction was completed.

This field contains the balance of funds that was on the card immediately before the transaction that was just authorized. When redeeming a card with the RedeemCard method and RedemptionType set to rtPartialRedemption, the merchant must use the NewBalance and PreviousBalance fieldsto determine if full amount was authorized, or if an additional amount needs to be tendered by the customer. (via cash, credit, another gift card, etc).

Note that NewBalance and PreviousBalance will display the same value in response to a call a Balance Inquiry or Lock Card transaction.

ReferenceNumber
String

Contains the reference or customer number that was submitted in the request.

If supported by your merchant setup, this field will contain a reference or customer number that will match the number submitted in the request. This can be used to match up responses with requests, or for other logging and reporting purposes.

SystemTrace
String

Contains a number used to trace the transaction.

This number is generated by the FDMS Closed Loop Gift Card system and should be logged and kept with the transaction for the duration of the transaction's life cycle. The merchant should not attempt to interpret the contents of this field.

Text
String

Contains a human-readable description of the response Code.

This field will contain a description of the response code returned in the Code field. The Text field may be displayed to the sales clerk or customer to explain why the transaction was declined, but it should not be used by the merchant application to determine the success or failure of the transaction. To determine this status use the Code field instead. See the table of contents for a list of response codes and their meanings.

Constructors

[VB.NET]
Public FDMSGiftResponse()

[C#]
public FDMSGiftResponse();



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