4D Payments SDK 2016 .NET Edition

Questions / Feedback?

Authorize Method

Authorizes a credit card using track1, track2, or manually entered card data.


public void Authorize();
Public Sub Authorize()


This method sends an authorization request through Datawire to the FDMS transaction processor. The EntryDataSource field determines whether Track1, Track2, or manually entered card and expiration date are sent in the request. If the authorization request was successful, the CaptureFlag property will be True, and the ApprovalCode will contain an approval code.

An authorization blocks funds on the customer's credit card, but does not actually transfer funds. In order for funds to be transferred and the transaction completed, you must settle the transaction. To do this, you must pass an XML aggregate containing the results of the transaction to the Settlement component. For example:

  FDMSHotel.Card.MagneticStripe = "B4444333322221111^SMITH/JOHN M         ^031210100000033301000000008000000";
  FDMSHotel.Card.EntryDataSource = edsTrack1; 
  if (FDMSHotel.ResponseCaptureFlag) {    
    FDMSSettle.DetailRecords.Add(new FDMSRecordType(FDMSHotel.GetDetailAggregate()));
Industry regulations do not allow merchants or processors to store track data in any form of persistent storage. Failure to abide by this regulation can result in significant fines and other penalties.

Important Note: You must ping your list of service provider URLs and update the URL property to the service provider with the shortest response time every 100 transactions, as well as when your application initially starts. This is not a normal ICMP ping - to determine the fastest transaction URL you must use the special Ping method inside the FDMSRegister component. (You may update your list of service provider URLs with the FDMSRegister component's ServiceDiscovery method).

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