This guide will allow you to implement the collection of Bank Account payment data to process debits through the BECS (Bulk Electronic Clearing System) / ACH (Automated Clearing House). The technical aspects of implementation are quite simple however due to the compliance regulations a DDR (Direct Debit Request) agreement must be in place with the payer.
Refer to our eDDR and Payment Page Requirement guides to assist in compliance. When collecting Bank Account payment details through your own Payment Page a few key details are highlighted below:
Form fields:
Bank Account Name
Bank Account BSB
Bank Account Number
Minimum payer contact information:
First Name
Last Name
Email Address
A copy of the DDR agreement must be emailed to the payer.
A copy of the DDR agreement email confirmation must be saved by the merchant as this form and email may be required to prove direct debit acceptance in the case of a claim or chargeback request.
A new DDR agreement must be entered if there is a change of payment details.
In order to begin and understand the API workflow of saving Bank Account data to a payer record, the typical API flow is outlined below:
Create a Payer Record - POST Add a new Payer
Collect Bank Account Details via form fields - POST Add or update payers bank account details
Schedule single or multiple payments - Implement Scheduling API to debit payer
Determine result of scheduled debit - GET Search for transaction status change
Remove transaction from data set - POST Acknowledge transaction status change
Step 1 - Create a Payer Record
API |
---|
Refer to Payer Input Model for more information around the API properties. |
Sample |
---|
Example Request {{url}}/businesses/{{business-id}}/payers { "UniqueReference": "P1-UNIQUE-REF", "GroupReference": "P1-GROUP-REF", "FamilyOrBusinessName": "Surname", "GivenName": "First Name", "Email": "test@test.com", "Phone": "0733331111", "Mobile": "0411123123", "Address": { "Line1": "1 Test St", "Line2": "Test Building", "Suburb": "Testville", "State": "QLD", "PostCode": "4001", "Country": "AUS" }, "ExtraInfo": { "XeroAutoDebitEnabled": false }, "Audit": { "Username": "Example-User", "UserIP": "1.2.3.4" } } Example Response { "payerId": "135032", "uniqueReference": "P1-UNIQUE-REF" } |
Step 2 - Add or Update Payer Bank Account Details
API |
---|
POST Add or update payers bank account details Minimum property fields:
Refer to Bank Account Model for more information around the API properties. |
Sample |
---|
Example Request {{url}}/businesses/{{business-id}}/payers/{{payer-reference}}/accounts/bank-account { "AccountBranch": "123456", "AccountNumber": "123456789", "AccountName": "Test Bank Account", "AccountType": null, "Audit": { "Username": "Example-User", "UserIP": "1.2.3.4" } } Example Response { "accountId": "135032-3", "type": "BANKACCOUNT", "card": null, "bankAccount": { "accountBranch": "123456", "accountNumber": "123xxx789", "accountName": "Test Bank Account", "accountType": null } } |
Step 3 - Initiate a scheduled debit via API to debit payer
Refer to Implement Scheduling API to debit payer
This concludes the API workflow of implementing the Bank Account Payments through your own payment page and implementing schedule debits once data recorded. Refer to the next steps in implementation or our other methods available for accepting payments.