Why does the Recurring Payment get charged every day? (Double Charged)
There are a number of reasons why this might happen.
- The payments are working in catch-up mode. Check the last payment/next payment date to see if they are in the past. Also checkout the FAQ item above: How do I do setup catch up payment dates from Last Processed Date
- The frequency is not a valid/pre-defined frequency. For example, Monthly or Quarterly are valid values. "Once-off Authorise" is not a valid frequency, nor our user added ones.
- A validation rule, custom apex coding, custom restricted pick list values, custom field marked as required at the field level, Flow/Process Builder error or 3rd Party App errors stops critical updates from occurring.
For this, it is important to get an understanding of the process that occurs with the Recurring Payment Processing. At a high level, this is:
- Nightly Recurring Payment Processor look for Active Recurring Payment Records that have a Next Payment Date on or before today's date.
- The Recurring Payment is charged (e.g. the Credit Card is charged)
- The Payment Txn record is created and updated with the successful information / details
- The Batch Processor runs within 10 minutes and that then update the Recurring Payment - Next Payment Date to be incremented by the frequency (e.g. Monthly)
If the validation rule, custom apex coding, Restricted Picklist Values, custom field marked as required at the field level, Flow/Process Builder error or 3rd Party App errors stops critical update such as step b. creation of Payment Txn or step d. update of the Recurring Payment Processor, then the Next Payment Date is NOT updated.
This means when the processor runs again the next morning, that recurring Payment (step a.) is still considered as not previously charged and will then charge again. If the process is not picked up and addressed, then this will continue until it is addressed.
What can you do:
- If this is a concern has been brought to your attention after working hours or you are not able to resolve immediately, we suggest turning of the Recurring Payment Processor until you are able to fix (don't forget to turn back on once resolved). To turn off, navigate to the Merchant Facility, click into the primary active, then about 1/3 of the way down the page you will see Recurring Payment Processor - press STOP button.
- The Payments2Us Error Log should have logged the error - Review all errors for the day.
If the error is validation rule related, see our notes on critical criteria for validation rules.
If the error is a custom Restricted Picklist related, the field is most likely being populated by a field with the same API name on the Recurring Payment, Contact or Account. Either fix the picklist on the source object or make the field not a restricted picklist. You may also want to review the article on like for like field copy.
- Make sure the user that starts the Recurring Processor and Batch Processor has the Payments2Us Admin permission set assigned to them.
- To keep track of this potential issue occurring you could create a report on the Recurring Payment Object for Active Recurring Payments, that have a Next Payment Date prior to today's date and transaction generated is NOT checked and retry attempts is blank. Schedule this to run daily and if there are any transactions then you may have an issue.
Also, if you are not getting the error messages, you should locate the Workflow (against the Payments2Us Error Log) that sends the email alert. Update the recipients of this to include key staff at your organisation.
NOTE: Our standard support does NOT cover validation rules, custom code, custom Flows/Processor Builders, custom fields, 3rd Party Apps.