# PayArc Terminal Gateway

PayArc Terminal sends a sale from the till to a PayArc PAX terminal. The customer pays on the terminal, and the till records the payment once PayArc confirms it.

This page starts at the till. Setting the gateway up is under [Set up PayArc Terminal](#setup).

Pro Feature

PayArc Terminal needs [WCPOS Pro](/nl/getting-started/pro-license.md) 2.0 or later.

## Take a card payment[​](#take-payment "Directe link naar Take a card payment")

Open the register first

With **Open and close the register** switched on, the till won't record a payment while the register is closed, and a card you've already taken would have to be refunded. See [Registers](/nl/manage-store/stores/register-settings.md#one-register) for the setting.

Press **Checkout** in the cart. PayArc Terminal is a tile on the **Payments** tab, next to your other ways to pay.

1. Tap the **PayArc Terminal** tile.
2. Check the terminal named above the keypad: **Terminal: …**. With more than one terminal, press **Change** and tap the one at your counter. The till remembers your choice for next time.
3. To take part of the balance on the card, type the amount. The rest stays due for another payment.
4. Press **Send … to PayArc Terminal**. The till shows **On the terminal** with four steps: **Sent**, **On terminal**, **Approved** and **Captured**.
5. The customer pays on the terminal. When the payment is captured and nothing is left to pay, the receipt opens. If some is left, take it with another tile.

**Details**, under the steps, opens a log of the payment: when it was sent, when it reached the terminal, and the approved amount. The payment keeps the card brand, the last 4 digits, how the card was read and PayArc's authorization code.

There's no tip prompt on the terminal. See [Tips](/nl/sell/take-payment/tips.md) for the terminals that have one.

### Cancel a payment[​](#cancel "Directe link naar Cancel a payment")

Press **Cancel on terminal** before the customer pays. The till waits for the terminal to confirm, then shows **Payment cancelled**.

If the card is already being read, PayArc may refuse the cancel and finish the payment; the till keeps checking and shows the result. While it waits, it says **Cancelling — waiting for the terminal to confirm** and offers **Release this payment**. Release frees the order to be paid another way while your store keeps checking the terminal.

waarschuwing

Releasing doesn't cancel the payment: the terminal may still take it. Check the terminal's result before you take another payment.

## If a payment goes wrong[​](#goes-wrong "Directe link naar If a payment goes wrong")

waarschuwing

**The terminal confirmed a different amount?** Don't take the payment again. Check the terminal, the order and the PayArc dashboard first.

Payment failed: Card declined

Press **Try again** to send it to the terminal again, or **Choose another way** to pay with another tile.

Payment failed, with PayArc's own message

PayArc refused the sale, for example because the terminal is off or not online. Check the terminal, then press **Try again**.

Timed out — payment cancelled

No one paid within 5 minutes, or the terminal waited for a card and none came. Check the terminal, then press **Try again**.

The PayArc Terminal tile is greyed out

Under the tiles, the till says why. See [When a tile can't be used](/nl/settings/checkout/payment-methods.md#unavailable-tiles) for every reason.

* **No terminals set up for PayArc Terminal** — the store has no terminal for this gateway. A manager adds one in step 4 of [Set up PayArc Terminal](#setup).
* **In use by order #…** — the terminal is busy with another order's payment. Finish or cancel that one, or press **Change** and pick another terminal.
* **Needs a connection** — the till is offline. A terminal payment goes through your store, so take another kind of payment or wait for the connection.

Connection unstable, still trying

This shows in the **Details** log. The till keeps checking. Leave the screen open: the payment carries on at the terminal.

A payment is stuck, or the till says the provider hasn't answered

See [When a card reader payment gets stuck](/nl/settings/checkout/payment-methods.md#card-reader-problems).

A payment waits too long

* Check the terminal screen and keep the payment screen open
* After **5 minutes** the till stops and shows **Timed out — payment cancelled**
* Check the terminal, the order notes and the PayArc dashboard before taking the payment again

An earlier PayArc Terminal payment on this order cannot be read under the current PayArc credentials

* Take the payment another way, or ask a manager. The order has a payment from before a mode or credential change
* The manager checks that payment in the PayArc dashboard under the mode that took it
* To use PayArc on this order again, the manager switches PayArc back to that mode, clicks **Connect using these credentials**, and you reload

## Refund a PayArc payment[​](#refunds "Directe link naar Refund a PayArc payment")

A refund goes back to the terminal that took the sale, for the full amount or part of it.

1. In the POS, open the order's refund. See [Refunds](/nl/sell/refunds.md).
2. Choose **Refund to PayArc Terminal** and press **Process Refund**.
3. PayArc sends the refund to the terminal, where it is approved or declined. The refund stays pending until the terminal answers, and the result is added to the order notes.

A refund in WP Admin, with WooCommerce's **Refund … via PayArc Terminal** button, works the same way.

If a refund stays pending, check the PayArc dashboard before you refund again.

If PayArc doesn't answer a refund

Your store asks again every 2 minutes, up to 5 times, under the same request key, so PayArc treats each retry as the same refund. If it still has no answer, it tells staff to check the PayArc dashboard.

Payments taken with an older version

**This PayArc payment was taken by the plugin's own order-pay panel.** The payment was taken by version 0.1 of the extension, before WCPOS 2, so the gateway can't refund it. Refund it in the PayArc dashboard or on the terminal, then record it in WooCommerce with **Refund … manually**.

## Set up PayArc Terminal[​](#setup "Directe link naar Set up PayArc Terminal")

A manager sets the gateway up once in WP Admin, then picks a terminal on each till.

Before you set up: what you need

### Requirements[​](#requirements "Directe link naar Requirements")

PayArc supplies your MID, ClientSecret and SecretKey, and the serial number of a terminal they have set up for you.

Your store reaches each terminal through PayArc over the internet, so there's nothing to pair, and any till can use any of your terminals. Without WCPOS Pro 2.0 or later, the extension shows a notice in WP Admin and adds nothing to the POS.

PayArc Account

<!-- -->

: A merchant account with PayArc Connect V3 access

Compatible Hardware

<!-- -->

: A PayArc-supported PAX terminal assigned to your account

Connections

<!-- -->

: Internet-connected only. The store sends each payment to a PAX terminal by serial number, so every till can use it; a till picks its terminal at checkout

WCPOS

<!-- -->

: WCPOS Pro 2.0 or later, and version 1.0 or later of the extension

Server

<!-- -->

: WooCommerce 7.0+, PHP 7.4+, and HTTPS for Live mode

Currency

<!-- -->

: USD, CAD, GBP, EUR or JPY

Six steps: install, connect, add your terminal, switch it on, choose each till's terminal

1

### Install PayArc Terminal for WooCommerce

Download **payarc-terminal-for-woocommerce.zip**, version 1.0 or later, from the [GitHub releases page](https://github.com/wcpos/payarc-terminal-for-woocommerce/releases) and upload it via `Plugins > Add Plugin`, then **Upload Plugin**. Activate the plugin.

`WP Admin > POS > Settings > Extensions` may still list version 0.1, which was built before WCPOS 2. Check the version before you install from there.

2

### Enter your PayArc credentials

1. Go to `WP Admin > WooCommerce > Settings > Payments` and open **PayArc Terminal**
2. Choose **Mode**: `Live` is the default. Use `Test` only with PayArc test dashboard credentials and the PayArc Connect Test app. Never mix environments
3. Enter **PayArc login email**, the email you use to sign in to your PayArc merchant dashboard
4. Enter **PayArc MID** from the PayArc Merchant Profile, not the terminal ID
5. Enter **PayArc ClientSecret** from the dashboard API section and **PayArc SecretKey / API bearer token** from the PayArc dashboard
6. Leave **Callback bearer token** blank unless PayArc support issued one

3

### Connect

Click **Connect using these credentials**. On success, the screen says **Connected to PayArc** and asks you to enter or confirm the terminal serial number and save. If it says the credentials look like the other environment, switch **Mode** and connect again.

opmerking

After any change to **Mode** or a credential, click **Connect using these credentials** again, then save. Once PayArc Terminal is switched on in WCPOS (step 5), saving shows an error until you do. While a payment is on a terminal, you can't change the mode, the credentials or the connection.

4

### Add your terminal

1. Enter the PAX **Terminal serial number** from the **S/N** label on the back of the device, as set up by PayArc for your account
2. Choose **Tender type** and **Print receipt**
3. Check that the **Webhook URL** is HTTPS. Give it to PayArc only if they ask
4. Click **Save changes**

The till offers this terminal, plus every terminal that PayArc's terminal registry lists as enabled for your account. **Connect** fetches the registry, and **Refresh Terminals** fetches it again. A terminal PayArc marks as disabled is left out, but the serial number you typed is always offered. Live mode needs an HTTPS site.

5

### Switch it on in WCPOS

1. Go to `WP Admin > POS > Settings > Checkout`
2. Find **PayArc Terminal** in the list and toggle its **Enabled** switch on
3. The tile appears at the till on the next page load

opmerking

This is the only switch. The **Enabled** toggle on WooCommerce's Payments list has no effect, and PayArc Terminal is never offered on your shop's checkout. See [Checkout Settings](/nl/settings/checkout.md#enabling-a-gateway).

6

### Choose each till's terminal

On each till, open **Settings > Card readers**. Your PayArc terminals are listed under **Smart readers**, one row each, all marked **Online**: PayArc doesn't report whether a terminal is switched on. Press **Use this reader** on the one at that counter; its row shows **Selected**. The cashier can still press **Change** at checkout.

With only one PayArc terminal there's nothing to choose: it's already **Selected** on every till. A row that reads **Set by the store** means tills are locked to the store's default terminal. See [Choose a smart reader](/nl/hardware/card-readers.md#smart-readers).

## Settings reference[​](#settings "Directe link naar Settings reference")

Everything on the gateway's page in `WP Admin > WooCommerce > Settings > Payments > PayArc Terminal`.

All PayArc Terminal settings

| Setting                                 | What it does                                                                                                                |
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| **Title**                               | The tile's name at the till; defaults to `PayArc Terminal`                                                                  |
| **Description**                         | The payment method description; defaults to `Pay in person at a PayArc PAX terminal.`                                       |
| **Mode**                                | `Live` (default) or `Test`. Test needs PayArc test dashboard credentials and the PayArc Connect Test app                    |
| **PayArc login email**                  | Your PayArc merchant dashboard login email; required before connecting                                                      |
| **PayArc MID**                          | The merchant MID from your PayArc Merchant Profile, not the terminal ID                                                     |
| **PayArc ClientSecret**                 | The secret from the dashboard API section; stored on your server only                                                       |
| **PayArc SecretKey / API bearer token** | The token from the PayArc dashboard, used to log in and to read the terminal registry                                       |
| **Callback bearer token**               | Optional. Fill it in only if PayArc support issued one                                                                      |
| **PayArc connection**                   | **Connect using these credentials**, **Refresh Terminals** and **Disconnect** buttons                                       |
| **Terminal serial number**              | The PAX S/N PayArc set up for your account. Required for payments                                                           |
| **Tender type**                         | `CREDIT` (default) or `DEBIT`                                                                                               |
| **Print receipt**                       | Printing on the terminal: `0 - No receipt` (default), `1 - Merchant receipt`, `2 - Customer receipt` or `3 - Both receipts` |
| **Webhook URL**                         | Read-only callback address. Check that it is HTTPS; give it to PayArc only if they ask                                      |
| **PayArc diagnostics**                  | Connection information and a **Validate Settings** button; secrets are never shown                                          |

Saved secret fields show only the last 4 characters. Leave a secret field blank to keep the saved value.

The **PayArc diagnostics** table shows the mode, the PayArc endpoints, whether the login email and the Connect access token are set, a masked MID, tenant ID and terminal serial number, how many terminals were found, the Webhook URL, the last callback time and the last PayArc error. **Validate Settings** checks the saved settings and lists anything missing.

**Disconnect** clears the stored PayArc connection, the terminal list and the **Terminal serial number**. Your credentials stay, so you can connect again quickly. Check the serial number before you save.

## Logs[​](#logs "Directe link naar Logs")

When you ask for help, send the order number and the relevant log lines.

Find logs for support

Find logs in `WooCommerce > Status > Logs`, under source `payarc-terminal-for-woocommerce`. Identifiers are masked and secrets are removed.

There is no support-bundle download. Don't share full MIDs, terminal IDs, tokens or card data.

## Scope & Limitations[​](#scope-and-limitations "Directe link naar Scope & Limitations")

* No tips on the terminal
* A terminal takes one payment at a time; while it's busy, other tills see **In use by order #…**
* Currencies are limited to **USD, CAD, GBP, EUR and JPY**
* The connection doesn't report whether a terminal is switched on: a sale to a terminal that's offline fails at once, with nothing sent to it
* Payments taken by version 0.1 of the extension are refunded in PayArc, not through the gateway
* A refund goes to the terminal that took the sale

## If setup goes wrong[​](#troubleshooting "Directe link naar If setup goes wrong")

### Common Issues[​](#common-issues "Directe link naar Common Issues")

These look like Test (or Live) PayArc credentials

* The selected mode and the credentials come from different PayArc environments
* Switch **Mode** to the one named in the message, or replace the credentials with ones for the selected mode
* Click **Connect using these credentials** again and save

Unable to connect PayArc

* PayArc refused the login. Check the entered credentials and try again
* Check `WooCommerce > Status > Logs`, source `payarc-terminal-for-woocommerce`, for details

Callback URL must be HTTPS before enabling Live mode

* Live mode needs your site on HTTPS, so PayArc can reach the **Webhook URL**
* Move the site to HTTPS, or use **Test** mode on a test site

Terminal Registry is empty

* The till then offers only the terminal in **Terminal serial number**, and payments to it still work
* Ask PayArc to confirm that serial number for your account, and to list your other terminals if you want the till to offer them
* Click **Refresh Terminals** after PayArc adds them

PayArc rejected both the Connect AccessToken and the SecretKey

* PayArc refused its transactions API for your account
* Ask PayArc support to confirm **PayArc Connect V3** is enabled for your merchant account, and which credential authorizes its transactions

### Getting Help[​](#getting-help "Directe link naar Getting Help")

* Include the **order number** and the relevant **log lines** with your support request
* Visit the [GitHub repository](https://github.com/wcpos/payarc-terminal-for-woocommerce) to report issues
* Contact PayArc support for your account, PayArc Connect and terminal setup

## Related Documentation[​](#related-documentation "Directe link naar Related Documentation")

[Taking a PaymentEvery way to take payment at the till](/nl/sell/take-payment.md)

[RefundsGive money back from the POS](/nl/sell/refunds.md)

[Payment GatewaysThe other terminals and gateways WCPOS supports](/nl/settings/checkout/payment-gateways.md)
