Processing Charges

Learn how to process charges via eftpos online.

Processing a charge using Routing Rules:

Once you have configured your routing rules you can begin to process transactions via the PowerBoard API which will utilise these routing rules.

To process a transaction, you will be required to use their a 'session_vault_token' or a 'vault_token' the steps to do this can be found in our Card Payments guide follow the steps to:

  • Render the Card Widget to the end user.
  • Collect the end user's payment details
  • Convert the returned One-Time-Token into a Session or Vault Token

Once the above steps have been completed you can then process the charge using your routing rules. The main difference of using routing rules compared to doing a standard charge is not needing to supply the 'Gateway_ID' during the charge as the routing rules will determine which gateway the transaction is processed through

See the below API call

API Endpointhttps://api.preproduction.powerboard.commbank.com.au/v1/charges
HTTP Method
POST
Headersx-user-secret-key- POWERBOARD_SECRET_KEY - This is your PowerBoard API Secret Key.
Content-Type - application/json - Type will always be application/json.
Request Parametersamount - string - Total amount for the transaction.
currency - string. Always set to 'AUD'.
reference - string - Reference for the transaction. This reference may assist to identify the transaction in your back-end systems. For example, a purchase order number or invoice number.
customer.first_name - _string - Customer first name.
customer.last_name - _string
- Customer last name.
customer.phone - string - Customer phone number.
customer.email - string - Customer email address. customer.payment_source.vault_token - string - Token containing stored customer card information
customer.payment_source.address_line1 - string - Customer address, line 1.
customer.payment_source.address_line2 - string - Customer address, line 2. customer.payment_source.city - string - Customer city.
customer.payment_source.state - string - Customer state.
customer.payment_source.postcode - string - Customer postcode.
customer.payment_source.country - string - Customer country.

Sample API Request

{
  "amount": 0.12,
  "currency": "AUD",
  "customer": {
    "first_name": "John",
    "last_name": "Citizen",
    "phone": "+61412123123",
    "email": "[email protected]",
    "payment_source": {
      "vault_token": "ccee841e-054d-4b9e-afd0-39119ee1987e",
      "address_line1": "123 Test Street",
      "address_line2": "Unit 123",
      "address_city": "Sydney",
      "address_state": "NSW",
      "address_postcode": "2000",
      "address_country": "Australia"
    }
  }
}
{
  "status": 201,
  "error": null,
  "resource": {
    "type": "charge",
    "data": {
      "transfer": {
        "items": []
      },
      "schedule": {
        "stopped": false
      },
      "statistics": {
        "total_refunded_amount": 0,
        "full_refund": false,
        "need_sync": true
      },
      "customer": {
        "payment_source": {
          "vault_token": "ccee841e-054d-4b9e-afd0-39119ee1987e",
          "type": "card",
          "card_name": "EFTPOS TEST",
          "card_number_bin": "52172918",
          "card_number_last4": "7593",
          "card_scheme": "mastercard",
          "expire_month": 1,
          "expire_year": 26,
          "address_line1": "123 Test Street",
          "address_line2": "Unit 123",
          "address_city": "Sydney",
          "address_postcode": "2000",
          "address_state": "NSW",
          "address_country": "Australia",
          "gateway_id": "683528bc82dc04283269354c",
          "gateway_type": "EFTPOS",
          "gateway_name": "EFTPOS",
          "vault_type": "permanent",
          "items": []
        },
        "first_name": "John",
        "last_name": "Citizen",
        "email": "[email protected]",
        "phone": "+61412123123"
      },
      "_id": "683e6d83ebfd92d35d331c2c",
      "type": "financial",
      "amount": 0.12,
      "currency": "AUD",
      "status": "complete",
      "company_id": "6835280fad2a196e7ad19d34",
      "capture": true,
      "authorization": false,
      "archived": false,
      "one_off": true,
      "_source_ip_address": "10.0.45.85",
      "items": [],
      "transactions": [
        {
          "created_at": "2025-06-03T03:35:31.186Z",
          "type": "sale",
          "status": "complete",
          "amount": 0.12,
          "currency": "AUD",
          "_source_ip_address": "10.0.45.85",
          "gateway_specific_code": null,
          "gateway_specific_description": null,
          "error_message": null,
          "error_code": null,
          "status_code": null,
          "status_code_description": null,
          "include_authorization": false,
          "initialization_source": "internet",
          "terminal_id": "VT963616",
          "first_payment": false,
          "_id": "683e6d83ebfd92d35d331c2d",
          "external_id": "683e6d83c5b4954a031fa714",
          "system_trace_audit_number": "000357",
          "external_reference": "967919045712",
          "gateway_fee_code": "EFC16030000",
          "acquiring_institution_id": "560220501",
          "correlation_id": "da6eab7a-95e9-4b57-b836-f244f8710a02",
          "remittance_date": "2025-06-03T00:00:00.000Z",
          "processed_at": "2025-06-03T03:35:32.984Z"
        }
      ],
      "updated_at": "2025-06-03T03:35:32.984Z",
      "created_at": "2025-06-03T03:35:31.189Z",
      "__v": 0,
      "external_id": "683e6d83c5b4954a031fa714"
    }
  }
}

In addition to the transaction response, you will also see the charge appear in the PowerBoard Merchant Dashboard.

Least Cost Routing using 3DS

3D Secure Support and Gateway Routing

As previously noted, the eftpos gateway does not support 3D Secure 2.0. This means that transactions routed through the eftpos gateway are not eligible for liability shift.

To enable 3D Secure for applicable transactions, you can use the Analysis API endpoint before initiating a payment. This endpoint evaluates your configured routing rules and returns the recommended gateway for the transaction.

  • If the Analysis API returns MasterCard as the recommended gateway, you can proceed with 3D Secure by using the gatewayId provided in the response in conjunction with our 3DS Pre-Authentication API.
  • If the recommended gateway is "EFTPOS", the transaction can be processed directly through the eftpos gateway without invoking 3D Secure.

See the below example of the Analysis API:

API Endpoint<https://api.preproduction.powerboard.commbank.com.au/v1/routing/analysis
HTTP Method
POST
Headersx-user-secret-key- POWERBOARD_SECRET_KEY - This is your PowerBoard API Secret Key.
Content-Type - application/json - Type will always be application/json.
Request Parametersamount - string - Total amount for the transaction.
currency - string. Always set to 'AUD'.
vault_token - string. Token containing stored customer card information

Sample API Request

{
    "vault_token":"YOUR_VAULT_TOKEN",
    "amount": "50.00",
    "currency": "AUD"
}  
{
  "status": 200,
  "error": null,
  "resource": {
    "type": "gateway",
    "data": {
      "_id": "EFTPOS_GATEWAY_ID",
      "name": "EFTPOS",
      "type": "EFTPOS",
      "mode": "live"
    }
  }
}

Based on the sample API response we can see that based on our configured routing rules the recommended gateway is the EFTPOS gateway. Meaning in this scenario we would send the transaction to the eftpos gateway using the returned _Id.

Routing Rules using MOTO

If you are processing a transaction via the PowerBoard Merchant Dashboard and have configured and enabled your Routing Rules, you will have the ability to select 'By Smart Routing' when processing a MOTO transaction. Selecting this option will evaluate your routing rules when the charge is processed and send the transaction to the gateway that is recommended via your set Routing Rules.