How to Process a Bank Account Debit
In order to process a non eCommerce Bank Account Debit, a payer record must firstly be created for the paying customer via API on your own payment page or Payrix electronic Direct Debit Request (eDDR).
Note - If you are using your own payment page, ensure it is compliant with our eDDR requirements checklist.
Once payment details have been collected, via API we offer the ability to schedule single or multiple future payments.
We recommend the software hold the schedule and manage the schedule as this allows much more control and flexibility when any changes in the debit amount or frequency are required. Simply send Payrix the API call ‘POST Schedule a single payment’ on the morning the debit is required.
The flow diagram below guides you through creating a new payer and adding their bank account details. The GET Search for transaction status changes and POST Acknowledge transaction status change endpoints allow you to retrieve any transaction status chances. You can acknowledge these changes as received so they stop being returned in the results set.
Each of the API calls below can be located in their relevant sections in Payrix's API documentation.
If you are utilising the Payrix eDDR, the Payrix page automatically takes care of the first 2 steps. Once the customer has completed the Payrix eDDR, you can schedule a debit via API.
Q: How to determine the result of the transaction for a Bank Account Debit
Scheduled Bank Account - (2 Business day setttlement)
Call our GET Search for transaction status changes around 9AM AEST daily which will pull a set of all transactions for your business that have had a change of transaction status.
When a transaction is initially processed in the debit run, the transaction status will be 'P’ (Pending - Bank Debit)
On the 2nd business day, the result will be returned by the bank which will change the status to ‘S' (Settled) or 'R’ (Rejected - Transaction failed)
If a transaction is rejected with a decline reason supplied by the issuer we will return this response. Refer to Transaction Sub-Status Code.
Following the above API, use our POST Acknowledge transaction status change to acknowledge the transactions and remove them from the data set when you next call the Get New Status Search above.
If the transaction status changes again after you have removed it from the data set, it will be returned in the GET Search for transaction status changes to notify you of the change in status.
e.g. Search for specific types of transactions (single or list)
PDB = Payer Debit Bank
PDC = Payer Debit Card
Q: How to cancel a scheduled debit from processing?
It is recommended to utilise any of the 'Find Schedule Details ' API in conjunction with the DELETE Delete Single Payment to confirm the scheduled debit was cancelled successfully.
For example:
Call GET Look up a scheduled payment or GET Find a Payers scheduled payments or GET Search all scheduled payments to identify the 'scheduledpaymentid'.
If the 'scheduledpaymentid' that you are planning to cancel is returned in this API call, the debit has not yet been picked up for processing and you are still able to cancel the scheduled debit.
If the 'scheduledpaymentid' is not returned, the debit has been processed and can no longer be cancelled.
Cancel the scheduled debit by calling Delete Single Payment
This will return a 200 response
Confirm the cancellation by calling either of the 3 GET API calls.
If the 'scheduledpaymentid' is not returned, the scheduled debit has been deleted.