TransactionResult.approved constructor

TransactionResult.approved({
  1. required String requestIdempotencyKey,
  2. required int amountMinorUnits,
  3. required String currency,
  4. required GatewayTransactionResponse gatewayResponse,
  5. String? referenceId,
  6. String? transactionId,
  7. EntryMode entryMode = EntryMode.unknown,
  8. CardSummary? card,
  9. DateTime? completedAt,
})

Implementation

factory TransactionResult.approved({
  required String requestIdempotencyKey,
  required int amountMinorUnits,
  required String currency,
  required GatewayTransactionResponse gatewayResponse,
  String? referenceId,
  String? transactionId,
  EntryMode entryMode = EntryMode.unknown,
  CardSummary? card,
  DateTime? completedAt,
}) {
  if (gatewayResponse.status != TransactionResultStatus.approved) {
    throw ArgumentError(
      'TransactionResult.approved requires a gatewayResponse with '
      'status=approved (was ${gatewayResponse.status.wire}). The SDK '
      'is not allowed to synthesize an approval.',
    );
  }
  return TransactionResult(
    status: TransactionResultStatus.approved,
    requestIdempotencyKey: requestIdempotencyKey,
    amountMinorUnits: amountMinorUnits,
    currency: currency,
    referenceId: referenceId,
    transactionId: transactionId ?? gatewayResponse.gatewayTransactionId,
    entryMode: entryMode,
    card: card,
    gatewayResponse: gatewayResponse,
    completedAt: completedAt,
  );
}