Sends a Sale transaction to the host.
public void Sale();
Public Sub Sale()
A basic Sale transaction. This transaction immediately transfers the funds from the cardholders account. This transaction is automatically added to the current open batch, and will be settled after the current batch is settled. The batch settlement may be set up to occur automatically, or you can control when the batch settles with the GlobalBatchMgr component.
Debit card transactions are instant funds transfers. There is no block placed on the debit card, funds are immediately removed and sent to the merchant. Therefore, there is no ability to capture, void, or reverse debit transactions. You must use the Refund method to return funds to a customer's card. When performing a Refund, the MagneticStripe, EncryptedPIN, and KSN are required in addition to the PNRef parameter, which identifies the transaction you're issuing a refund for.
To perform a sale, set the MagneticStripe field with Track 2 data read off the card. PIN-based Debit card transactions cannot be manually entered, and are always card-present transactions. Sending Track 1 data in the MagneticStripe property will result in a failed transaction. You must also set the KSN and EncryptedPIN properties with data retrieved from the PIN pad after the customer enters their PIN. For example:
Sale transaction with Track 2 data:
component.Card = new GlobalCard("4003000123456781=15125025432198712345"); component.EncryptedPIN = "7F8A30DB967DAB4D"; component.KSN = "3D01000042000007"; component.CashBack = "5.00"; component.TransactionAmount = "10.00"; //Total including CashBack component.Sale();
.NET Standard Notes
To call this method in an asynchronous manner call SaleAsync instead. When the method completes (or an error is encountered) the SaleCompleted event will fire.