On-Reader Tipping makes it easy for your merchants to collect tips from their guests. At
the start of each transaction, the guest can be asked if they want to add a tip and then
can enter the tip amount right on the card reader. Two tipping strategies are supported
by the .Net solution:
Ask for Tip Amount: Only the tip amount decided by the customer is entered.
Ask for Total Amount: The total amount of the sales transaction is entered.
To ask for a tip, create
TransactionProcessParameters
and pass
them in addition to the
TransactionParameters
when starting a
transaction.
The
Ask for Tip Amount
strategy looks like:
ProcessStepParameters step = new TippingProcessStepParameters.Builder()
.AskForTipAmount()
.SuggestedAmount(1) //suggested amount (
optional
)
.MaxTipAmount(2) // maximum amount (
optional
)
.ShowAddTipConfirmationScreen(true|false) // activates/deactivates add tip confirmation screen (
is optional with default on true
)
.ShowTotalAmountConfirmationScreen(true|false) // activates/deactivates total amount confirmation screen (
is optional with default on false
)
.Build();
TransactionProcessParameters processParameters = new TransactionProcessParameters.Builder()
.AddStep(step)
.Build();
The
Ask for Total Amount
strategy looks like:
ProcessStepParameters step = new TippingProcessStepParameters.Builder()
.AskForTotalAmount()
.SuggestedAmount(1) // suggested amount (
optional
)
.MaxTipAmount(2) // maximum tip amount (
optional
)
.ShowAddTipConfirmationScreen(true|false) // activates/deactivates add tip confirmation screen (
is optional with default on true
)
.ShowTotalAmountConfirmationScreen(true|false) // activates/deactivates total amount confirmation screen (
is optional with default on false
)
.Build();
TransactionProcessParameters processParameters = new TransactionProcessParameters.Builder()
.AddStep(step)
.Build();
Both
AskForTipAmount()
and
AskForTotalAmount()
tipping strategies benefit from reader screen
configuration when performing the transaction. While
ShowAddTipConfirmationScreen()
is used for the first Confirmation
screen that displays,
ShowTotalAmountConfirmationScreen()
is managing
the second Confirmation screen that displays when confirming the total amount of the
transaction. The Confirmation screen configuration properties are optional . By default
the Add Tip configuration screen is enabled and the Total Amount Tip configuration
screen is disabled. You have the option to set a maximum amount for tipping, using
MaxTipAmount()
. The tip amount added to the transaction cannot be
higher than the value set using
MaxTipAmount()
.
In the
TransactionCompleted
callback, you can then
access the
IncludedTipAmount
:
(transaction, transactionProcessDetails, error) =>
{
//...
if(transaction.Status == TransactionStatus.APPROVED)
{
Console.WriteLine("APPROVED: " + transaction.Identifier);
Console.WriteLine("Tip Amount: " + transaction.Details.IncludedTipAmount);
//....
}
else
{
//....
}
});
The former method of providing tipping was deprecated, but is still supported.
var transactionProcessParameters = new TransactionProcessParameters.Builder()
.AddAskForTipStep()
.Build();