sale method
Make a sale
(https://developer.vivawallet.com/apis-for-point-of-sale/card-terminal-apps/android-app/sale/)
Implementation
Future<TransactionResponse> sale({
String? merchantKey,
required String clientTransactionId,
required double amount,
double? tipAmount,
bool showReceipt = true,
bool showTransactionResult = true,
bool showRating = true,
Map<String, dynamic>? saleToAcquirerData,
}) async {
final Map<String, dynamic> params = <String, dynamic>{
'merchantKey': merchantKey ?? 'deprecated',
'clientTransactionId': clientTransactionId,
'amount': ParamUtils.doubleToAmount(amount),
'tipAmount':
tipAmount != null ? ParamUtils.doubleToAmount(tipAmount) : null,
'show_receipt': showReceipt,
'show_transaction_result': showTransactionResult,
'show_rating': showRating,
'saleToAcquirerData': saleToAcquirerData != null
? base64Encode(
const Utf8Encoder().convert(saleToAcquirerData.toString()),
)
: null,
};
final data = await _invokePosMethod('saleRequest', params);
return TransactionResponse.create(_callbackScheme, data);
}