@thyms added functional test for the case that payment is succeeded after a failed one.