In order to process a non real-time Card Debit, a payer record must firstly be created for the paying customer via API on your own payment page or the Payrix Hosted Payment Page (HPP) / Payrix electronic Direct Debit Request (eDDR).
Note - If you are using your own payment page, ensure it is compliant with our eDDR requirements checklist.
Note - If you are using the Payrix HPP to process a real-time card payment AND save payment details for future payments, ensure the ‘savepayer’ property field within the API body request is set to true.
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 HPP or Payrix eDDR, the Payrix page automatically takes care of the first 2 steps. Once the customer has completed the Payrix HPP or Payrix eDDR, you can schedule a debit via API.
Q: How to determine the result of the transaction for a Bank Account Debit
Scheduled Card Debit - (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 a ‘C' (Cleared - Card 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.
If a transaction is rejected, some decline responses by the card issuer return a generic reason, so it’s not always possible to know exactly why the payment was declined. If all of the information seems correct, it is best to have your customer contact their card issuer and ask for more information. For privacy and security, financial institutions are only obligated to discuss the specifics of a declined payment with their card holder.
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?
The best approach is 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.
In order to cancel a scheduled debit from processing, it must be cancelled before Payrix has picked it up for processing. If the scheduled debit has already been processed, you can no longer cancel or stop the debit from processing.