Skip to main content

Troubleshooting Guide

Quick reference for diagnosing and resolving common issues across all Connected Payments integrations and the dashboard.


Quick reference

SymptomAreaJump to
401 UnauthorizedAPI / AuthenticationAuthentication errors
403 ForbiddenAPI / PermissionsAuthentication errors
429 Too Many RequestsAPI / Rate limitingRate limiting
500 Internal Server ErrorAPI / ServerAPI errors
iFrame not loading / blankiFrameiFrame not loading
400 Bad Request on iFrameiFrame400 Bad Request
iFrame fields won't clickiFrameUnclickable iFrame
"Invalid verify message" erroriFrame / HMACInvalid verify message
Batch file rejectedBatch ProcessingBatch file rejected
Batch transactions failingBatch ProcessingBatch transactions failing
Webhooks / notifications not arrivingNotificationsNotification issues
Notifications retrying constantlyNotificationsNotification issues
Password reset email not receivedDashboardPassword reset issues
Cannot create userDashboardUser management issues
User cannot log inDashboardUser management issues
Reconciliation discrepancyReportingReconciliation issues
Transaction timed outTimeoutsTimeout handling
401 / 400 / 403 during tokenisation setupTokenisationTokenisation errors
SSL or connection error on tokenisation requestsTokenisationTokenisation errors

Authentication errors

Cause: Invalid or missing API credentials.

CheckAction
Authorization header presentEnsure Authorization: Bearer <key> is included on every request
Correct key for environmentSandbox and production keys are separate — verify you are using the right one
Key not revokedGenerate a new key from the dashboard under Settings → API Keys if the key was deleted or expired
userName/password correctFor username and password auth, confirm credentials match your dashboard account exactly
Bearer prefix includedThe header value must be Bearer <key>, not just <key>
tip

Never expose API keys in client-side code or version control. Use environment variables and rotate keys regularly.


Rate limiting

429 Too Many Requests

Cause: Your integration has exceeded the allowed request rate for your account.

SolutionDetail
Implement exponential backoffWait and retry with increasing delays on each failed request
Cache responsesAvoid sending repeated identical requests in a short window
Batch requestsCombine multiple operations where the API supports it
Contact supportContact Support to discuss rate limit increases

API errors

Cause: A temporary issue on the Connected Payments platform.

  1. Check the status page for any active incidents
  2. Retry the request using exponential backoff
  3. If the issue persists, Contact Support with the error details and request ID

iFrame integration

iFrame not loading

First, open the browser developer console:

  • Chrome / Edge / Firefox: F12Console tab
  • Safari: Preferences → Advanced → Show Develop menu, then Cmd+Option+C

Red text in the console indicates an error. Copy the full message when contacting support.

Likely causeFix
verifyMessage is incorrectRecalculate — ensure parameters are sorted A–Z and all are included
Config ID is wrongConfirm configId matches your iFrame configuration exactly
iFrame URL uses HTTPiFrame URLs must use HTTPS
Testing without an embed

Switch from embed to hosted in your URL to test your parameters without needing to embed the iFrame:

https://connectedpayments.commbank.com.au/payment/hosted?...

This isolates parameter issues from referrer/embed issues. A 400 in hosted mode still indicates a parameter or verifyMessage problem.


400 Bad Request

Cause: Incorrect verifyMessage, wrong parameter values, or mismatched parameter names.

Parameters must be sorted alphabetically and all included in the HMAC calculation.

Common mistakeCorrect value
amount=100.00amount=10000 (cents, no decimal point)
currency=audcurrency=AUD (uppercase)
username=...userName=... (camelCase)
external_reference=...externalReference=...
Parameters not sortedParameters sorted A–Z
Missing a parameterAll parameters included
info

A 400 error in hosted mode still indicates a parameter or verifyMessage issue — not an embed problem.


Invalid verify message

Error: "Invalid verify message" or "verifyMessage is invalid"

CheckAction
Correct secret keyConfirm the key matches the one configured in your iFrame settings
Parameter orderMust be sorted A–Z, matching the documentation exactly
No extra whitespaceRemove any leading/trailing spaces or line breaks from parameter values
Correct hashing algorithmMust use SHA-256, not SHA-1 or MD5
URL encodingEnsure URL encoding is applied correctly to any special characters in parameter values

Unclickable iFrame

Symptom: The iFrame renders but form fields, buttons, or links do not respond to clicks — particularly common on mobile.

Cause: Another element is overlapping the iFrame.

How to find it:

  1. Right-click the iFrame → Inspect
  2. In DevTools, check the iFrame's z-index and position
  3. Look for sibling or parent elements with a higher z-index, or absolutely positioned overlays

Fix with CSS:

/* Give the iFrame a high z-index */
iframe#paymentFrame {
position: relative;
z-index: 1000;
width: 100%;
height: 600px;
}

/* Ensure overlays sit below it */
.modal-overlay,
.site-header {
z-index: 999;
}

/* Mobile-specific fix */
@media (max-width: 768px) {
iframe#paymentFrame {
position: relative;
z-index: 1000;
min-height: 500px;
}
}

iFrame pre-support checklist

Before contacting support, confirm the following:

  • Browser console checked for errors
  • verifyMessage calculation verified (parameters sorted A–Z, all included)
  • Parameter names and values confirmed (case-sensitive)
  • Tested in hosted mode to isolate embed vs. parameter issues
  • Overlapping elements checked
  • Browser cache cleared

When contacting Support, include:

  • Screenshot of the full console error
  • Complete iFrame URL (remove your shared secret)
  • Browser name and version
  • Steps to reproduce the issue
  • Your iFrame configuration name

Batch processing

Batch file rejected

Cause: The uploaded file does not meet the naming or format requirements. Files that fail validation are rejected before any transactions are processed.

CauseFix
Filename already usedChange the suffix to a new unique value — filenames cannot be reused
Date is in the pastUse today's date or a future date
Wrong file extensionFile must end in .csv
Wrong SFTP directoryConfirm the upload path with Connected Payments support

Correct filename format: [customerID]-[yyyymmdd]-[suffix].csv

info

The suffix must be unique per customer. Use a value such as recurring-{timestamp} or batch-{date}-{run} to guarantee uniqueness.


Batch transactions failing

Cause: Individual transaction rows contain invalid or missing data.

CauseFix
Invalid hashedUserNameRe-check the HMAC-SHA256 calculation — confirm the shared secret is correct
Duplicate merchReferenceEvery row must have a unique merchant reference value
Amount not in cents10000 = $100.00 — do not include a decimal point
Missing txnId on refund or completeInclude the original transaction ID from the initial purchase
Both pan and cardToken providedProvide one or the other, not both
tip

Test in your sandbox SFTP environment before submitting live batches. See the Testing Guide for sandbox test cards and tokens.


Notifications

Notification delivery issues

CheckAction
Endpoint is publicly reachableVerify the URL is accessible from the internet over HTTPS
Firewall rulesAllow inbound traffic from Connected Payments notification IPs — resolve current addresses using nslookup notifications.connectedpayments.commbank.com.au (production) or nslookup simulation-notifications.connectedpayments.commbank.com.au (sandbox)
Endpoint returns 200 OKAny non-200 response or timeout is treated as a failure and triggers a retry
Notification rule is activeConfirm the rule is configured and enabled in the dashboard
Retry schedule

Notifications retry on a Fibonacci backoff schedule (1 min, 1 min, 2 min, 3 min, 5 min...) capped at 15-minute intervals. See Notification Re-Attempts for the full schedule and recommended maxAttempt values.


Dashboard

Password reset issues

  1. Check your spam/junk folder
  2. Wait a few minutes — email delivery may be delayed
  3. Verify your registered email address is correct

If still not receiving:

  • Contact your IT team to whitelist [email protected]
  • Ask them to check email filtering rules and gateway settings

User management issues

CauseFix
Insufficient permissionsVerify you are logged in as an Admin Manager with the Dashboard Admin role
Customer ID incorrectCustomer ID is case-sensitive — open your profile to copy it exactly (e.g. CCP, not ccp)
Username already existsChoose a different username; usernames cannot be reused

Reconciliation issues

Discrepancy between Connected Payments report and bank settlement

Work through these checks before contacting support:

  • Connected Payments report date range matches the bank settlement period exactly
  • All hierarchies are included in the report
  • Settlement timing accounted for (T+1 or T+2 depending on your acquirer)
  • Reviewed transactions with high-risk error codes: 91, 99, 799, 790
  • Checked the Status Page for any outages during the settlement period

Timeout handling

All transactions have a 60-second timeout window. When the platform does not receive a valid response within this window, it records the transaction with one of the following response codes:

CodeDescription
99Standard timeout
797Downstream network unavailable
798Unknown downstream error (timeout-like)
799Unknown error (timeout-like)

What the platform does automatically

  1. The timed-out transaction is added to a timeout queue
  2. The platform queries the downstream gateway and submits a void to prevent double charges
  3. Retries continue until the settlement date passes, attempts are exhausted, or the transaction is confirmed as declined or voided
info

You do not need to take any action for the platform to process timeouts. You can treat the transaction as requiring verification and retry as a new transaction once the status is confirmed.

What you should do

warning

Never assume a timed-out transaction is declined. Check the transaction status in the dashboard before retrying a payment with the customer.

  • Check the dashboard for the final transaction status before taking any action
  • Retry only after confirming the original transaction did not process
  • Watch for response codes 91, 99, 797-799 in reconciliation — these are the most common source of settlement discrepancies

Tokenisation errors

ErrorLikely causeFix
401 UnauthorizedWrong credentials or password case mismatchDouble-check username and password — passwords are case-sensitive
400 Bad RequestRestricted character in a field, or missing required fieldRemove special characters; check all required fields are present
403 ForbiddenWrong environment URLConfirm you are pointing to sandbox vs production correctly
SSL / connection errorRequest sent over HTTPSwitch all requests to HTTPS
info

Tokenisation uses the same userName and password credentials as your dashboard account. If you receive a 403, check that your user has the API Token Role assigned. See User Roles overview for role details.