Skip to main content
Skip table of contents

Accept BANK payments through own payment page

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:

  1. Create a Payer Record - POST Add a new Payer

  2. Collect Bank Account Details via form fields - POST Add or update payers bank account details

  3. Schedule single or multiple payments - Implement Scheduling API to debit payer

  4. Determine result of scheduled debit - GET Search for transaction status change

  5. Remove transaction from data set - POST Acknowledge transaction status change


Step 1 - Create a Payer Record

API

POST Add a new Payer

  • Minimum fields in Payer Property:

    • UniqueReference

    • FamilyorBusinessName

    • GivenName

    • Email

Refer to Payer Input Model for more information around the API properties.

Sample

Example Request

JSON
{{url}}/businesses/{{business-id}}/payers
JSON
{
    "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

JSON
{
  "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:

  • ‘accountBranch’

  • ‘accountNumber’

  • ‘accountName’

Refer to Bank Account Model for more information around the API properties.

Sample

Example Request

JSON
{{url}}/businesses/{{business-id}}/payers/{{payer-reference}}/accounts/bank-account
JSON
{
    "AccountBranch": "123456",
    "AccountNumber": "123456789",
    "AccountName": "Test Bank Account",
    "AccountType": null,
    "Audit": {
      "Username": "Example-User",
      "UserIP": "1.2.3.4"
    }
}

Example Response

JSON
{
  "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.


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.