Payments
Accept Exact payments at checkout
Where to find it: Admin → Settings → Payments → Add Processor → Select "Exact"
When you'd use this: When you want to process credit card payments through Exact (formerly E-xact) at checkout.
What you need first:
- An Exact merchant account (demo account for testing, production account for live payments)
- Your Exact credentials:
- Payment Page ID
- Transaction Key
- Exact ID
- API Password
Set it up:
- In the CommerceBuild admin, go to Settings → Payments
- Add a new processor and select "Exact" from the list
- Enter your Exact credentials in the configuration fields:
- Payment Page ID
- Transaction Key
- Exact ID
- API Password
- Choose whether to run in test mode (uses Exact's demo environment) or live mode
- Select your capture preference:
- Authorize and capture — funds are captured when the customer completes checkout
- Authorize — funds are held but not captured until you manually capture them later
- Save the processor configuration
Using it day-to-day:
When a customer checks out, they'll be presented with the Exact payment form where they enter their card details. The system automatically generates a secure payment request using your credentials.
If a customer enters incorrect card details (such as the wrong expiry date or CVV) and the payment is declined, they can correct the information and resubmit their payment without needing to start the checkout process again.
If you selected "Authorize" during setup, you'll need to capture authorized payments manually:
- Find the authorized payment in your payment records
- Select the capture action
- Confirm the capture amount
To void an authorized payment before capturing it:
- Find the authorized payment in your payment records
- Select the void action
- Confirm the void
Troubleshooting:
- Payment form doesn't appear — Verify your Payment Page ID is correct and matches your test/live mode setting
- Authorization fails with no error message — Check that your Transaction Key matches your Exact account and test/live mode
- Capture or void operations fail — Ensure your Exact ID and API Password are correct and have the necessary permissions in your Exact account
- Payment authorization returns an error during checkout — This may indicate a temporary service issue. The checkout process protects against duplicate charges by using the unique order reference, so customers can safely retry their payment if they encounter an error
- "Payment method is currently unavailable" error at checkout — This can occur if the shipping or billing address is missing a country code. Ensure customer addresses include a valid country value before proceeding to payment
Accept PAYA Connect payments at checkout
Where to find it: Admin → Settings → Payments → Add Processor → Select "PAYA Connect"
When you'd use this: When you want to process credit card payments through PAYA Connect at checkout. Customers enter their card details in a secure hosted payment form.
What you need first:
- A PAYA Connect merchant account
- Your PAYA Connect credentials
Set it up:
- In the CommerceBuild admin, go to Settings → Payments
- Add a new processor and select "PAYA Connect" from the list
- Enter your PAYA Connect credentials in the configuration fields
- Select your capture preference:
- Authorize and capture — funds are captured when the customer completes checkout
- Authorize — funds are held but not captured until you manually capture them later
- Save the processor configuration
Using it day-to-day:
When a customer checks out, they'll be presented with the PAYA Connect hosted payment form where they enter their card details. The system validates and processes the transaction, and upon success, creates the order in your ERP with the payment reference for reconciliation.
Customers can choose to save their credit card during checkout for future purchases. When using a saved card, if the payment fails, an error message is displayed and the customer can retry.
If a customer enters incorrect card details (such as the wrong expiry date or CVV) and the payment is declined, they can correct the information and resubmit their payment without needing to start the checkout process again.
If you selected "Authorize" during setup, you'll need to capture authorized payments manually:
- Find the authorized payment in your payment records
- Select the capture action
- Confirm the capture amount
Accept Bambora payments at checkout
Where to find it: Admin → Settings → Payments → Add Processor → Select "Bambora"
When you'd use this: When you want to process credit card payments through Bambora (Worldline North America) at checkout. Customers enter their card details in a secure embedded payment form.
What you need first:
- A Bambora merchant account
- Your Bambora credentials:
- Merchant ID
- API Passcode (found in Administration → Account Settings → Order Settings → API access passcode in the Bambora portal)
Set it up:
- In the CommerceBuild admin, go to Settings → Payments
- Add a new processor and select "Bambora" from the list
- Enter your Bambora credentials in the configuration fields:
- Merchant ID
- API Passcode
- Select your capture preference:
- Authorize and capture — funds are captured when the customer completes checkout
- Authorize — funds are held but not captured until you manually capture them later
- Save the processor configuration
Using it day-to-day:
When a customer checks out, they'll be presented with the Bambora payment form where they enter their card details and name on card. The system tokenizes the card information securely and processes the transaction.
If a customer enters incorrect card details (such as the wrong expiry date or CVV) and the payment is declined, they can correct the information and resubmit their payment without needing to start the checkout process again.
If you selected "Authorize" during setup, you'll need to capture authorized payments manually:
- Find the authorized payment in your payment records
- Select the capture action
- Confirm the capture amount
To void an authorized payment before capturing it:
- Find the authorized payment in your payment records
- Select the void action
- Confirm the void
Accept manual bank transfer payments at checkout
Where to find it: Admin → Settings → Payments → Add Processor → Select "Manual Bank Transfer"
When you'd use this: When you want customers to pay by bank transfer, with payment processed outside CommerceBuild. The order is created immediately and placed on hold while you wait for the bank transfer to complete.
Set it up:
- In the CommerceBuild admin, go to Settings → Payments
- Add a new processor and select "Manual Bank Transfer" from the list
- Save the processor configuration
Using it day-to-day:
When a customer checks out using bank transfer, CommerceBuild creates the sales order immediately with an "Open" status and places it on hold. No prepayment document is created in your ERP system.
After the customer completes the bank transfer outside the system:
- Find the order in your payment records
- Verify the bank transfer has been received
- Capture the payment to record that funds were received
- Remove the hold from the order to continue fulfillment
Customize how payment methods appear at checkout
Where to find it: Admin → Settings → Payments → Configure (any processor) → Display Settings
When you'd use this: When you want to control how a payment method is presented to customers during checkout, including custom labels, descriptions, icons, and helper text.
Set it up:
- In the CommerceBuild admin, go to Settings → Payments
- Select a configured payment processor and click Configure
- In the Display Settings section, customize the presentation fields:
- Processor Name — the internal identifier for the processor
- Display Label — the name customers see for this payment method at checkout
- Description — a short multi-line description shown beside the method at checkout (optional)
- Icon — upload a PNG or SVG image (up to 1 MB) to display alongside the method label at checkout (optional)
- Caption — small helper text shown under the method label at checkout (optional)
- Click Save Settings to apply your changes
Using it day-to-day:
At checkout, customers see your configured presentation:
- The display label appears as the method name
- Your uploaded icon displays next to the label (along with any default brand icons like Visa/Mastercard logos)
- The caption appears as secondary text beneath the label
- When a customer selects the payment method, your description appears as additional information
To update the icon:
- Go to Settings → Payments → Configure (processor) → Display Settings
- Click to upload a new icon or remove the existing one
- A preview of the uploaded icon appears in the configuration screen
- Save your changes
Troubleshooting:
- Icon upload fails — Ensure your file is PNG or SVG format and smaller than 1 MB
- Description or caption text is cut off — Keep descriptions under 250 characters and captions under 80 characters for best display
- Changes don't appear at checkout — Clear your browser cache or wait a few moments for the configuration to propagate
Manage payment pre-authorizations
Where to find it: Admin → Payment management screen
When you'd use this: When you need to monitor and act on pending pre-authorizations before they expire, or manually release held funds without navigating to individual orders.
Using it day-to-day:
The payment management screen displays all pre-authorizations that are available to be captured. Each entry shows:
- Payment Type — whether the payment is an authorization awaiting capture, auto-captured, or manual
- Document Number — the order number for authorizations; once captured, it becomes the invoice number
Pre-authorizations are colour-coded based on how close they are to expiring:
- No colour — Less than 50% of the authorization lifespan has passed
- Orange — 50% or more of the lifespan has passed
- Red — 75% or more of the lifespan has passed
- Black — The authorization has expired
The authorization lifespan varies by payment processor (for example, Fat Zebra authorizations last 7 days, while Shift authorizations last 30 days). You can sort and filter the list by expiry status to prioritize captures.
When an authorization is captured, it's removed from the authorization list and replaced by the corresponding invoice entry.
To manually release a pre-authorization directly from this screen:
- Locate the authorization you want to release
- Select the release action
- Confirm the release to free up the held funds on the customer's card
The screen automatically filters out invoices that were created directly in your ERP system (not originating from webstore orders), so you only see payment records that have associated pre-authorization data.
Release payment authorizations for cancelled orders
Where to find it: Admin → Order Queue → Order Details page
When you'd use this: When an order is cancelled and will never be invoiced, but the payment was authorized and funds are still on hold. This releases the pre-authorized funds so they're no longer pending on the customer's card.
Using it day-to-day:
When you cancel an order that had a payment authorization:
- Open the cancelled order in the Order Queue
- Locate the Release Authorization action on the Order Details page
- Click Release Authorization
- Review the confirmation modal showing:
- The payment gateway (e.g., Fat Zebra or Shift)
- The amount to be released
- Confirm the action to release the funds
The system performs validation checks before allowing the release:
- Verifies the order no longer exists in your ERP system
- Confirms a payment authorization exists for the order
- Ensures the authorization hasn't already been released or captured
Troubleshooting:
- Release Authorization button is not available — The payment processor may not support releasing authorizations, or the payment was already captured or released
- Order must be removed from ERP error — The order must be fully removed from your ERP system before you can release the authorization
- No payment authorization found error — The order may not have had an authorized payment, or it was processed using immediate capture
- Authorization has already been released error — The authorization was previously voided and funds are no longer on hold
- Release fails with a gateway error message — The error message from the payment gateway will be displayed. Check that the authorization is still valid and hasn't expired
Retry failed payment captures and invoice payments
Where to find it: Admin → Payment records
When you'd use this: When a payment capture or invoice payment fails during processing, you can retry the specific failed step without restarting the entire transaction.
Using it day-to-day:
Payment processing involves two steps that can fail independently:
- Payment gateway processing — capturing funds from the payment gateway or processing the payment
- ERP integration — creating the payment document in your ERP system against the invoice
When either step fails, a retry option appears on the payment record. The system intelligently determines which step failed and retries only that part of the process:
- If the gateway call failed, the retry processes the payment or capture through the gateway
- If the ERP integration failed, the retry creates the payment document in your ERP (the funds were already captured)
To retry a failed payment:
- Find the payment record showing an error
- Click the retry button
- Wait for the system to process the retry
- Review the updated result
The error message updates with the new result (either success or an updated error message). If an error message appears, it includes a timestamp showing when the error occurred.
Troubleshooting:
- Long error messages appear truncated — The payment record displays the first 255 characters of the error. The full error text is retained in the system for troubleshooting purposes
- Retry fails with the same error — The underlying issue (such as incorrect credentials, connectivity problems, or ERP configuration issues) must be resolved before retrying again
- Payment shows as failed but funds were captured — This indicates the ERP integration step failed. Retrying will create the payment document in your ERP without re-capturing funds
Add a payment surcharge
Where to find it: Admin → Settings → Payments → Mapping → Surcharge item code
When you'd use this: When you want to apply a surcharge (such as a credit card processing fee) to orders that use specific payment methods. The surcharge appears as a separate line item throughout the order lifecycle.
What you need first:
- A non-stock item code configured in your ERP to represent the surcharge
- The same item code set up in Admin → Shipping → ERP Shipping (if you're using shipping surcharges)
Set it up:
- In the CommerceBuild admin, go to Settings → Payments
- Navigate to Mapping → Surcharge item code
- Enter the non-stock item code that represents the surcharge
- Configure the surcharge percentage for each payment processor
- Save your configuration
Using it day-to-day:
When a customer checks out using a payment method with a configured surcharge:
- The surcharge amount is calculated and displayed to the customer during checkout before they complete payment
- The surcharge appears as a separate line item (e.g., "Credit Card Fee: AU$2.90") on:
- The order completion page
- Order details in the admin
- Order details in the customer's account
- Order confirmation emails
The surcharge calculation uses standard rounding (half up to two decimal places) to ensure amounts are consistent across all displays and the payment processor.
Troubleshooting:
- Duplicate key error when configuring surcharges — Ensure you haven't used the same non-stock item code in both the surcharge configuration and the shipping configuration. Each item code can only be used once across all configurations
- Surcharge amount doesn't match between displays — Surcharge amounts are rounded consistently to two decimal places using standard rounding. The amount shown during checkout, in order summaries, and sent to the payment processor will all match