private void Pay(POSCard card)
{
StoreItems.BringToFront();
StoreDiscounts.BringToFront();
SaleButton.Enabled = false;
StoreItems.Enabled = false;
newOrderBtn.Enabled = false;
SaleRequest request = new SaleRequest();
request.ExternalId = ExternalIDUtil.GenerateRandomString(13);
// Card Entry methods
int CardEntry = 0;
CardEntry |= ManualEntryCheckbox.Checked ? CloverConnector.CARD_ENTRY_METHOD_MANUAL : 0;
CardEntry |= MagStripeCheckbox.Checked ? CloverConnector.CARD_ENTRY_METHOD_MAG_STRIPE : 0;
CardEntry |= ChipCheckbox.Checked ? CloverConnector.CARD_ENTRY_METHOD_ICC_CONTACT : 0;
CardEntry |= ContactlessCheckbox.Checked ? CloverConnector.CARD_ENTRY_METHOD_NFC_CONTACTLESS : 0;
request.CardEntryMethods = CardEntry;
request.CardNotPresent = CardNotPresentCheckbox.Checked;
request.Amount = Store.CurrentOrder.Total;
request.TipAmount = 0;
request.TaxAmount = Store.CurrentOrder.TaxAmount;
if (!offlineDefault.Checked)
{
request.AllowOfflinePayment = offlineYes.Checked;
}
if (!approveOfflineDefault.Checked)
{
request.ApproveOfflinePaymentWithoutPrompt = approveOfflineYes.Checked;
}
if (card != null)
{
request.VaultedCard = new com.clover.sdk.v3.payments.VaultedCard();
request.VaultedCard.cardholderName = card.Name;
request.VaultedCard.first6 = "" + card.First6;
request.VaultedCard.last4 = "" + card.Last4;
request.VaultedCard.expirationDate = card.Month + "" + card.Year;
request.VaultedCard.token = card.Token;
}
if (Store.CurrentOrder.TippableAmount != Store.CurrentOrder.Total)
{
request.TippableAmount = Store.CurrentOrder.TippableAmount;
}
cloverConnector.Sale(request);
}