Payment is Successful and recorded in amount paid - but 10% - 20% of the time the record remains Pending and unpaid.
This issue has occurred with paypal, stripe and stripe sca so it doesn't seem to be a gateway issue.
Any one else seen something similar?
Record status remains unpaid after payment some of the time
After a few hours of digging I have a theory. I think it could be a rounding/calculation issue.
For context, in australia there is a 10% gst. An example failed record has amount due 0.00 but is not set to paid only where the fee is of a set of amounts - namely $375, $125 or $210
In the dt register session table - once the gst is removed and added back in for these particular amounts, the total to pay is slightly above the actual amount.
the relevant calculations can be seen in this example session data:
"customfee";d:340.91000000000002501110429875552654266357421875;s:3:"tax";d:34.09100000000000108002495835535228252410888671875;s:10:"currentfee";d:375.00100000000003319655661471188068389892578125;s:3:"fee";d:375.00100000000003319655661471188068389892578125;s:8:"paid_fee";d:375.00100000000003319655661471188068389892578125;s:14:"payment_method";N;s:9:"changefee";i:0;s:9:"cancelfee";i:0;s:8:"fieldfee";a:0:{}s:13:"paying_amount";s:6:"375.00";s:11:"paid_amount";s:6:"375.00";
Apologies - it wasn't paypal. It was eway. But the three gateway options the client has used - eway, stripe and stripe sca all produced the same results.
Could you share the URL + super admin account and tell me the event that I can replicate the issue? I will take a look.