DetailRecordAggregate Property
Set this property with xml aggregates of the transactions you wish to settle.
Syntax
tsyssettle.getDetailRecordAggregate(index, [callback]) tsyssettle.setDetailRecordAggregate(index, detailRecordAggregate, [callback])
Default Value
""
Callback
The 'callback' parameter specifies a function which will be called when the operation completes (or an error is encountered). If the 'callback' parameter is not specified, then the method will block and will not return until the operation completes (or an error is encountered).
The callback for the getDetailRecordAggregate([callback]) method is defined as:
function(err, data){ }
'err' is the error that occurred. If there was no error, then 'err' is 'null'.
'data' is the value returned by the method.
The callback for the setDetailRecordAggregate([callback]) method is defined as:
function(err){ }
'err' is the error that occurred. If there was no error, then 'err' is 'null'.
'err' has 2 properties which hold detailed information:
err.code err.message
Remarks
Set this property with xml aggregates of the transactions you wish to settle.
To settle previously authorized transactions, this property must be set with the xml aggregate returned from the TSYSRetail, or TSYSECommerce class's GetDetailAggregate method. For instance:
TSYSSettle.DetailRecordCount = 1 TSYSSettle.DetailAggregate[0] = TSYSRetail.GetDetailAggregate()
On occasion, you may need to modify these aggregates before sending them to settlement. For instance, if you're running a restaurant you may need to add a gratuity to the charge. If you're accepting installment payments, you will need to add the installment info. To accomplish this, you may use the TSYSDetailRecord class.
For example, to add a gratuity to a charge:
DetailRecord.ParseAggregate(TSYSRetail.GetDetailAggregate()) DetailRecord.Gratuity = "500" DetailRecord.SettlementAmount = DetailRecord.AuthorizedAmount + DetailRecord.Gratuity TSYSSettle.DetailAggregate[0] = DetailRecord.GetDetailAggregate()
To settle a transaction authorized with the ttInstallment TransactionType, you must use the TSYSDetailRecord class to add the number of this installment and the total count of all installments to be made. For instance, if the purchase was for "Three easy payments of $19.95", and this is the first payment, then the installment number will be 1, and the installment count 3. An example is included below:
TSYSECommerce.TransactionType = ttInstallment TSYSECommerce.TransactionAmount = "1995" TSYSECommerce.Authorize() DetailRecord.ParseAggregate TSYSECommerce.GetDetailAggregate() DetailRecord.InstallmentCount = 3 DetailRecord.InstallmentNumber = 1 TSYSSettle.DetailAggregate[5] = DetailRecord.GetDetailAggregate()
The size of the array is controlled by the DetailRecordCount property.
This property is not available at design time.
Data Type
String