4D Payments SDK 2016 .NET Edition

Questions / Feedback?

TransactionType Property

Indicates transaction type for this detail record.


public FdmsdetailrecordTransactionTypes TransactionType { get; set; }

enum FdmsdetailrecordTransactionTypes { fttSale, fttForce, fttVoid, fttCredit, fttVoidCredit, fttDebitSale, fttDebitRefund, fttFoodStampSale, fttFoodStampRefund, fttCashBenefitSale, fttCashBenefitWithdrawal }
Public Property TransactionType As FdmsdetailrecordTransactionTypes

Enum FdmsdetailrecordTransactionTypes fttSale fttForce fttVoid fttCredit fttVoidCredit fttDebitSale fttDebitRefund fttFoodStampSale fttFoodStampRefund fttCashBenefitSale fttCashBenefitWithdrawal End Enum

Default Value



This property indicates the type of transaction that is being settled. The following table explains the Transaction Types in detail:

fttSale (0)The transaction to be settled was a normal authorization and passed into the FDMSDetailRecord component via the ParseAggregate method.
fttForce (1)This transaction was not authorized using either the FDMSECommerce or FDMSRetail components. Instead it is created manually with the FDMSDetailRecord's properties. In order to successfully settle a Forced transaction, you must obtain an authorization code from a call center, and place it in the ResponseApprovalCode property.
fttVoid (2)When you wish to void a transaction that has been previously authorized, pass the details of the original transaction to the ParseAggregate method, and then change this TransactionType property to fttVoid.
fttCredit (3)This transaction type is used to credit money back to a cardholder's account. An (offline) credit is not based on a previous transaction, and you may credit any card for any amount without restriction. Simply set the CardNumber to the customer's card number, and then the AuthorizedAmount to "0" and the SettlementAmount to the amount you wish to refund. No track data or AVS data is sent in an offline credit transaction.
fttVoidCredit (4)This transaction voids a previous credit.
fttDebitSale (5)Settles an on-line Debit Sale transaction made using the FDMSDebit component. This transaction must not be edited before being settled. (It cannot be voided off-line)
fttDebitRefund (6)Settles an on-line Debit Credit transaction made using the FDMSDebit component.
fttFoodStampSale (8)Settles an on-line Food Stamp Sale or Voucher Clear made using the FDMSBenefit component.
fttFoodStampRefund (9)Settles an on-line Food Stamp Credit or Voucher Clear made using the FDMSBenefit component.
fttCashBenefitSale (10)Settles an on-line Cash Benefit sale made using the FDMSBenefit component.
fttCashBenefitWithdrawal (11)Settles an on-line Cash Withdrawl (Cash Only) transaction made using the FDMSBenefit component.

Note: The ttSale and ttVoid TransactionTypes require a previous authorization to work on. ttForce and ttCredit, however, are offline transactions. This means there is no original authorization to work from. The transaction is created solely with this component's properties and is settled without ever having been authorized. Just fill out the properties and sent the FDMSSettle component's DetailAggregate array property with the results from the FDMSDetailRecord's GetDetailAggregate method. The remaining debit, food stamp, and cash benefit transactions may not be edited, voided, or otherwise modified before settlement. The detail aggregates should be set directly to the FDMSSettle component's DetailAggregate array property, and should never be manipulated with the FDMSDetailRecord component.

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