Virtual Card Transaction Validator
Problem statement
Determine whether a transaction may be authorized for a virtual card.
A transaction is valid exactly when the card is active, transactionDay is no later than expirationDay, the amount is positive, and the amount does not exceed remainingLimit.
Function
isVirtualCardTransactionValid(active: boolean, expirationDay: int, transactionDay: int, remainingLimit: int, amount: int) â booleanExamples
Example 1
active = trueexpirationDay = 30transactionDay = 20remainingLimit = 500amount = 120return = trueThe active card has not expired and has enough remaining limit.
Example 2
active = trueexpirationDay = 30transactionDay = 31remainingLimit = 500amount = 120return = falseThe transaction occurs after the expiration day.
Example 3
active = falseexpirationDay = 30transactionDay = 20remainingLimit = 500amount = 120return = falseAn inactive card cannot authorize a transaction.
Constraints
0 <= transactionDay, expirationDay <= 10^9.0 <= remainingLimit <= 10^9.-10^9 <= amount <= 10^9.