Details
Description
When voiding a Stripe payment, a refund is attempted. However, the refund fails to process because the gateway sets an 'amount' field to '0'. Stripe returns an error that the amount must be a 'positive integer'.
The Stripe::refundCc method should be updated to not send any amount if there is no amount. This will cause the entire amount to be refunded.
Additionally, the void shouldn't be successful if the refund failed. The methods ::voidCc and ::voidStoredCc should check the refundCc response for success before returning, and set Input errors on failure.