Payment Engine is our .NET SDK that allows developers to easily integrate card-present and card-not-present payment processing within the .NET framework. Featuring simple functions for initiating payments and support for a range of hardware, it enables developers to bypass lengthy device integrations.
To start, reference the DLLs in your project. PaymentEngine, xCore, NLog, and Newtonsoft.Json
This is called after all other required and optional transaction-relevant parameters have been set.
There are two types of main transactions that can be initiated: in-scope and out-of-scope. Only one can be called per transaction.
Use the out-of-scope function when the user needs to provide their credit card information. This type of transaction gives over control to the SDK to acquire the sensitive credit card data from the user via a pop-up message on the screen or on a credit card device, and then processes the transaction with the gateway.
Use the in-scope function when there is no need for the SDK to interact with the user (for example, when you pass through the card number to the SDK or when running a void, etc.). When using this function, you cannot set any device-specific parameters.
Pax devices start with
Pax_and end with
Verifone devices start with
Verifone_and end with
Ingenico ISC and IPP devices start with
Ingenico_and end with
Ingenico ICT and Tetra devices start with
Ingenico_and end with
ID TECH devices start with
IDTech_and end with
USB These settings should match what is set for the device in device manager:
COM Port (default:
COM9) Baud rate (default:
115200) Parity (default:
N) Data Bits (default:
IP These settings should match what the device is set to.
IP Port Port (default: pax
This is currently only supported for the Mx915 and Mx925. You can add xAmount and xTax to the request before “Device_ShowItems“ so the user can see the total amount and tax of their order. This runs on a separate thread within the application.
This is currently only supported on certain VeriFone devices.
This is currently only supported on certain Verifone devices.
Transactions that are submitted through the SDK will return a response with one or more fields. Most can be found at https://kb.cardknox.com/api/#_Response_Parameters . Below are the parameters that are specific to the SDK.
Debit transaction Use the cc:sale workflow and set EnableDevicePin = True. Insert a debit card into the device and it will prompt you for the PIN (If prompted for AIDs, on the device select the Debit AID); you can enter any PIN. The transaction response will include xIsDebit = True.
The SDK allows you to process transactions when your system is offline. The idea is that you, the user, will insert/enter their card and you will receive an encrypted token to be used when the system is back online. See the cc:encrypt workflow.