Processing Payments

Take a card-present payment for an invoice on a RevKeen terminal from the dashboard

Once your terminal is activated and online, you can take card-present payments for invoices from the RevKeen dashboard.

Terminal payments are started from the dashboard. The terminal payment and device endpoints are not part of the public RevKeen API or SDK; they are available to approved partners only. You can still receive the published terminal_payment.*, terminal_refund.succeeded and terminal_void.succeeded webhook events.

What you'll learn
  • How to take payment for an invoice on a terminal
  • Choosing a terminal when you have more than one
  • What each payment state means
  • How to cancel a payment and handle a decline

Take payment for an invoice

The Take payment in person action appears on an invoice when all of these are true:

  • the invoice is Sent, Viewed, Overdue or Partially paid
  • the terminal app is activated for your account
  • at least one terminal is online

To take the payment:

  1. Open the invoice in Invoices.
  2. Select Take payment in person. The Terminal payment window opens.
  3. Check the terminal. If only one terminal is online, it is selected for you. If several are online, choose one from Select terminal....
  4. Choose the notifications to send: Email invoice to the customer and Email receipt to you are on by default.
  5. Select the charge button. It shows the invoice amount, for example Charge £50.00 to terminal.
  6. Ask the customer to present their card on the terminal.

The amount is always the invoice total, in the invoice currency. It cannot be edited in this window. When the payment is approved, the invoice is marked as paid.

You can also charge a terminal from the Terminal channel in the invoice send dialog.

Only terminals that are online can take payments. If none are online, the window shows No terminals online. Check that the connector is running and the terminal is powered on. See Troubleshooting.

Payment states

While the payment is in progress, the window shows its state:

StateWhat it means
Waiting for paymentThe amount is on the terminal. The customer should present their card.
Payment approvedThe card was charged. The window shows the auth code and masked card number.
Terminal payment failed or a decline reasonThe payment did not complete. See Handling declines.
Payment cancelledThe payment was cancelled before the card was charged. The invoice is still payable.
Payment timed outThe terminal did not return a result in time.

The window cannot be closed while a payment is being processed.

If a payment times out or the connection drops, check the invoice and its payments before you try again. A terminal can complete a payment even when the dashboard did not receive the result.

Cancelling a payment

While the window shows Waiting for payment, select Cancel. Once a payment is approved it cannot be cancelled. Use a void or refund instead.

Handling declines

When a payment is declined, the window shows the reason, for example Insufficient funds or Card expired. Ask the customer to use a different card. Where a retry makes sense, the window offers Try again on the same terminal.

Receiving results in your own systems

The terminal payment flow publishes these webhook events:

EventWhen it is sent
terminal_payment.requestedThe payment was sent to the terminal
terminal_payment.succeededThe payment was approved
terminal_payment.declinedThe card was declined
terminal_payment.cancelledThe payment was cancelled
terminal_payment.errorThe payment failed, for example a timeout or lost connection

See the webhook event catalogue for payloads.

Owner: david · Reviewed 30 Sep 2026 · Next review 29 Dec 2026

On this page