In general, a "Void" transaction is not reversible. Once a transaction has been voided, it cannot be reversed using the same transaction ID or by creating a new "Void" transaction.
However, depending on your payment processor and the specific details of your integration, there may be some ways to achieve the scenario you described.
For example, some payment processors allow you to perform a "Reverse Authorization" or "Release Authorization" transaction after a void has been performed. This transaction effectively cancels the void and releases the authorized funds back to the customer's account. Then, you could attempt to process a new "Void" transaction to cancel the original payment.
Alternatively, you could create a new transaction to refund the customer for the cancelled order, rather than performing a "Void" transaction. This would allow you to fully reverse the original payment and start fresh with a new authorization if the user decides to reset the cancellation.
I would recommend checking with your payment processor to see what options are available for reversing transactions and handling cancellations. They will be able to provide more information on the specific capabilities of their API and guide you towards the best solution for your use case.
No, it is not possible to void a void.
Once a payment has been voided, it cannot be unvoided or reversed.
In the scenario you described, if the user resets the cancellation and wants to proceed with the original order, a new payment transaction would need to be initiated.
The original voided payment would not be able to be used or undone in any way.