Payment Engine SDK Flow

Transaction Workflow

Language: C#

Please choose a transactiont type.

To submit a cc:sale transaction type, first initiate the request.

PaymentEngine.xTransaction.Request MyRequest = new PaymentEngine.xTransaction.Request();

Next, specify the basic parameters, transaction-specific parameters, and device settings.

MyRequest.xKey = "Your_Test_Key";
MyRequest.xVersion = "4.5.8";
MyRequest.xSoftwareName = "My Software";
MyRequest.xSoftwareVersion = "My Software Version 1.0";
MyRequest.xCommand = "cc:sale";
MyRequest.xAmount = 1.23m;
MyRequest.EnableDeviceInsertSwipeTap = True
MyRequest.Settings.Device_Set("Verifone_Mx915.4", "COM9", "115200", "N", "8");

Once this is done, initiate the transaction.

PaymentEngine.xTransaction.Response MyResponse = MyRequest.ProcessOutOfScope();

MyResponse will contain the transaction response information, xResult “A” will indicate that the transaction was approved, “E” or “D” will indicate that it was not approved, and xError will contain the reason.

To submit a cc:sale transaction type, first initiate the request.

PaymentEngine.xTransaction.Request MyRequest = new PaymentEngine.xTransaction.Request();

Next, specify the basic parameters, transaction-specific parameters, and device settings.

MyRequest.xKey = "Your_Test_Key";
MyRequest.xVersion = "4.5.8";
MyRequest.xSoftwareName = "My Software";
MyRequest.xSoftwareVersion = "My Software Version 1.0";
MyRequest.xCommand = "cc:sale";
MyRequest.xAmount = 1.23m;
MyRequest.xCardNum = "4444333322221111";
MyRequest.xExp = "1022";

Once this is done, initiate the transaction.

PaymentEngine.xTransaction.Response MyResponse = MyRequest.Process();

MyResponse will contain the transaction response information, xResult “A” will indicate that the transaction was approved, “E” or “D” will indicate that it was not approved, and xError will contain the reason.

To submit a cc:void transaction type, first initiate the request.

PaymentEngine.xTransaction.Request MyRequest = new PaymentEngine.xTransaction.Request();

Next, specify the basic parameters and transaction-specific parameters.

MyRequest.xKey = "Your_Test_Key";
MyRequest.xVersion = "4.5.8";
MyRequest.xSoftwareName = "My Software";
MyRequest.xSoftwareVersion = "My Software Version 1.0";
MyRequest.xCommand = "cc:void";
MyRequest.xRefNum = "123456789";

Once this is done, initiate the transaction.

PaymentEngine.xTransaction.Response MyResponse = MyRequest.Process();

MyResponse will contain the transaction response information, xResult “A” will indicate that the transaction was approved, “E” or “D” will indicate that it was not approved, and xError will contain the reason.

To submit a cc:refund transaction type, first initiate the request.

PaymentEngine.xTransaction.Request MyRequest = new PaymentEngine.xTransaction.Request();

Next, specify the basic parameters and transaction-specific parameters.

MyRequest.xKey = "Your_Test_Key";
MyRequest.xVersion = "4.5.8";
MyRequest.xSoftwareName = "My Software";
MyRequest.xSoftwareVersion = "My Software Version 1.0";
MyRequest.xCommand = "cc:refund";
MyRequest.xRefNum = "123456789";

Once this is done, initiate the transaction.

PaymentEngine.xTransaction.Response MyResponse = MyRequest.Process();

MyResponse will contain the transaction response information, xResult “A” will indicate that the transaction was approved, “E” or “D” will indicate that it was not approved, and xError will contain the reason.

To submit a cc:credit transaction type, first initiate the request.

PaymentEngine.xTransaction.Request MyRequest = new PaymentEngine.xTransaction.Request();

Next, specify the basic parameters, transaction specific-parameters, and device settings.

MyRequest.xKey = "Your_Test_Key";
MyRequest.xVersion = "4.5.8";
MyRequest.xSoftwareName = "My Software";
MyRequest.xSoftwareVersion = "My Software Version 1.0";
MyRequest.xCommand = "cc:credit";
MyRequest.xAmount = 1.23m;
MyRequest.EnableDeviceInsertSwipeTap = True
MyRequest.Settings.Device_Set("Verifone_Mx915.4", "COM9", "115200", "N", "8");

Once this is done, initiate the transaction.

PaymentEngine.xTransaction.Response MyResponse =
MyRequest.ProcessOutOfScope();

MyResponse will contain the transaction response information, xResult “A” will indicate that the transaction was approved, “E” or “D” will indicate that it was not approved, and xError will contain the reason.

To submit a cc:authonly transaction type, first initiate the request.

PaymentEngine.xTransaction.Request MyRequest = new PaymentEngine.xTransaction.Request();

Next, specify the basic parameters, transaction-specific parameters, and
device settings.

MyRequest.xKey = "Your_Test_Key";
MyRequest.xVersion = "4.5.8";
MyRequest.xSoftwareName = "My Software";
MyRequest.xSoftwareVersion = "My Software Version 1.0";
MyRequest.xCommand = "cc:authonly";
MyRequest.xAmount = 1.23m;
MyRequest.EnableDeviceInsertSwipeTap = True
MyRequest.Settings.Device_Set("Verifone_Mx915.4", "COM9", "115200", "N", "8");

Once this is done, initiate the transaction.

PaymentEngine.xTransaction.Response MyResponse = MyRequest.ProcessOutOfScope();

MyResponse will contain the transaction response information, xResult “A” will indicate that the transaction was approved, “E” or “D” will indicate that it was not approved, and xError will contain the reason.

To submit a cc:capture transaction type, first initiate the request.

PaymentEngine.xTransaction.Request MyRequest = new PaymentEngine.xTransaction.Request();

Next, specify the basic parameters and transaction-specific parameters.

MyRequest.xKey = "Your_Test_Key";
MyRequest.xVersion = "4.5.8";
MyRequest.xSoftwareName = "My Software";
MyRequest.xSoftwareVersion = "My Software Version 1.0";
MyRequest.xCommand = "cc:capture";
MyRequest.xRefNum = "123456789";

Once this is done, initiate the transaction.

PaymentEngine.xTransaction.Response MyResponse = MyRequest.Process();

MyResponse will contain the transaction response information, xResult “A” will indicate that the transaction was approved, “E” or “D” will indicate that it was not approved, and xError will contain the reason.

To submit a GetSignature transaction type, first initiate the request.

PaymentEngine.xTransaction.Request MyRequest = new PaymentEngine.xTransaction.Request();

Next, specify the basic parameters and device settings.

MyRequest.xKey = "Your_Test_Key";
MyRequest.xVersion = "4.5.8";
MyRequest.xSoftwareName = "My Software";
MyRequest.xSoftwareVersion = "My Software Version 1.0";
MyRequest.Settings.Device_Set("Verifone_Mx915.4", "COM9", "115200", "N", "8");

Once this is done, initiate the transaction.

string MySignature = MyRequest.GetSignature();

MySignature will contain the transaction signature.

To submit a Device_ShowWelcomeScreen transaction type, first initiate the request.

PaymentEngine.xTransaction.Request MyRequest = new PaymentEngine.xTransaction.Request();

Next, specify the basic parameters and device settings.

MyRequest.xKey = "Your_Test_Key";
MyRequest.xVersion = "4.5.8";
MyRequest.xSoftwareName = "My Software";
MyRequest.xSoftwareVersion = "My Software Version 1.0";
MyRequest.Settings.Device_Set("Verifone_Mx915.4", "COM9", "115200", "N", "8");

Once this is done, initiate the transaction.

TransRequest.Device_ShowWelcomeScreen();

MySignature will contain the transaction signature.

To submit a ebtfs:sale transaction type, first initiate the request.

PaymentEngine.xTransaction.Request MyRequest = new PaymentEngine.xTransaction.Request();

Next, specify the basic parameters, transaction-specific parameters, and device settings.

MyRequest.xKey = "Your_Test_Key";
MyRequest.xVersion = "4.5.8";
MyRequest.xSoftwareName = "My Software";
MyRequest.xSoftwareVersion = "My Software Version 1.0";
MyRequest.xCommand = "ebtfs:sale";
MyRequest.xAmount = 1.23m;
MyRequest.EnableDeviceInsertSwipeTap = True
MyRequest.Settings.Device_Set("Verifone_Mx915.4", "COM9", "115200", "N", "8");

Once this is done, initiate the transaction.

PaymentEngine.xTransaction.Response MyResponse = MyRequest.ProcessOutOfScope();

MyResponse will contain the transaction response information, xResult “A” will indicate that the transaction was approved, “E” or “D” will indicate that it was not approved, and xError will contain the reason.

To submit a ebtfs:credit transaction type, first initiate the request.

PaymentEngine.xTransaction.Request MyRequest = new PaymentEngine.xTransaction.Request();

Next, specify the basic parameters, transaction-specific parameters, and device settings.

MyRequest.xKey = "Your_Test_Key";
MyRequest.xVersion = "4.5.8";
MyRequest.xSoftwareName = "My Software";
MyRequest.xSoftwareVersion = "My Software Version 1.0";
MyRequest.xCommand = "ebtfs:credit";
MyRequest.xAmount = 1.23m;
MyRequest.EnableDeviceInsertSwipeTap = True
MyRequest.Settings.Device_Set("Verifone_Mx915.4", "COM9", "115200", "N", "8");

Once this is done, initiate the transaction.

PaymentEngine.xTransaction.Response MyResponse = MyRequest.ProcessOutOfScope();

MyResponse will contain the transaction response information, xResult “A” will indicate that the transaction was approved, “E” or “D” will indicate that it was not approved, and xError will contain the reason.

To submit a ebtfs:balance transaction type, first initiate the request.

PaymentEngine.xTransaction.Request MyRequest = new PaymentEngine.xTransaction.Request();

Next, specify the basic parameters, transaction-specific parameters, and device settings.

MyRequest.xKey = "Your_Test_Key";
MyRequest.xVersion = "4.5.8";
MyRequest.xSoftwareName = "My Software";
MyRequest.xSoftwareVersion = "My Software Version 1.0";
MyRequest.xCommand = "cc:balance";
MyRequest.xAmount = 1.23m;
MyRequest.EnableDeviceInsertSwipeTap = True
MyRequest.Settings.Device_Set("Verifone_Mx915.4", "COM9", "115200", "N", "8");

Once this is done, initiate the transaction.

PaymentEngine.xTransaction.Response MyResponse = MyRequest.ProcessOutOfScope();

MyResponse will contain the transaction response information, xResult “A” will indicate that the transaction was approved, “E” or “D” will indicate that it was not approved, and xError will contain the reason.

To submit a Device_ShowItems transaction type, first initiate the request.

PaymentEngine.xTransaction.Request MyRequest = new PaymentEngine.xTransaction.Request();

Next, specify the basic parameters, transaction-specific parameters, and device settings.

MyRequest.xKey = "Your_Test_Key";
MyRequest.xVersion = "4.5.8";
MyRequest.xSoftwareName = "My Software";
MyRequest.xSoftwareVersion = "My Software Version 1.0";
TransRequest.xTax = 1.26m;
TransRequest.xAmount = 19.23m;
MyRequest.EnableDeviceInsertSwipeTap = True
MyRequest.Settings.Device_Set("Verifone_Mx915.4", "COM9", "115200", "N", "8");

Once this is done, initiate the transaction.

TransRequest.UpdateItems("json", "[{'xdescription':'ItemABC','xupc':558,'xqty':3,'xunit':'EA','xunitprice':'5.99'}]");
TransRequest.Device_ShowItems();

The items will be shown to the user on the pin pad.

To submit a cc:encrypt transaction type, first initiate the request.

PaymentEngine.xTransaction.Request MyRequest = new PaymentEngine.xTransaction.Request();

Next, specify the basic parameters, transaction-specific parameters, and device settings.

MyRequest.xKey = "Your_Test_Key";
MyRequest.xVersion = "4.5.8";
MyRequest.xSoftwareName = "My Software";
MyRequest.xSoftwareVersion = "My Software Version 1.0";
MyRequest.xCommand = "cc:encrypt";
MyRequest.EnableDeviceInsertSwipeTap = True
MyRequest.Settings.Device_Set("Verifone_Mx915.4", "COM9", "115200", "N", "8");

Once this is done, initiate the transaction.

PaymentEngine.xTransaction.Response MyResponse = MyRequest.ProcessOutOfScope();

MyResponse will contain the transaction response information, xResult ”S” will indicate that the request was processed successfully, and xEncryptedPayload will contain the encrypted card number. Once the system is back online submit a cc:sale (in scope) transaction or via API using the encrypted card number as xMagstripe there is no need to submit an expiration date since it is included with the encrypted card number.