VirtualTerminal UI
The VirtualTerminal UI component lets you embed a payment terminal inside your website or application. This modal-based component is perfect for admin interfaces, customer service tools, and any application where you need to process payments on behalf of customers.

Usage
This component lets you add a robust virtual terminal tool to your pages or apps. Follow the configuration walkthrough to set it up in your project.
See Library URLs for important information about embedded components library URLs.
Configuration walkthrough
The interactive walkthrough displays code examples alongside step-by-step explanations.
Configuration reference
These are the configuration parameters available for the VirtualTerminal component. If you need to pass more than data than what’s supported, consider using the temporary token flow. See Temporary Token Flow for more information.
This value determines the type of embedded component to render.
Accepted values are: methodEmbedded
, methodLightbox
, vterminal
, or expressCheckout
.
For the VirtualTerminal UI, this value is vterminal
.
See the Embedded Components Overview for more information on other component types.
Container ID used for the component.
Sets the default payment method that’s shown. Accepted values are: card
or ach
.
Text label for the action button.
When true the component is hidden when it’s instanced.
API token for authentication.
Complete URL of a custom CSS stylesheet to use with the component.
When true
, enables the recurring payment option in terminal.
When true
, enables the one-time payment option in terminal.
lineItem
objects with data related to the line items for the transaction.
cardService
object used to configure accepted card types.
properties
Enable/disable card option.
Enable/disable acceptance of American Express cards.
Enable/disable acceptance of Discover cards.
Enable/disable acceptance of Visa cards.
Enable/disable acceptance of MasterCard cards.
Enable/disable acceptance of Diner’s Club cards.
Enable/disable acceptance of JCB cards.
Card input fields descriptors. This object applies only to the EmbeddedMethod UI component.
properties
Optional, but strongly recommended. Descriptor object for input field.
Descriptor object for input field.
Descriptor object for input field.
Descriptor object for input field.
Optional, but strongly recommended. Descriptor object for input field.
achService
object used to configure accepted ACH types.
properties
Enable/disable ACH option.
Enable/disable acceptance of Checking account.
Enable/disable acceptance of Savings account.
When set to true, the embedded component will validate ACH account and routing numbers in real time. This is an add-on feature. Contact the Payabli team for more information.
ACH input field descriptors. This only applies to the EmbeddedMethod UI component.
properties
Required. Descriptor object for input field.
Required. Descriptor object for input field.
Required. Descriptor object for input field. Use the
confirm
input descriptor to add matching validation to this field. See Style Individual Fields for more.
Required. Descriptor object for input field. Use the
confirm
input descriptor to add matching validation to this field. See Style Individual Fields for more.
paymentMethod
object with data related to the payment method. Required when saving a payment method or executing a payment. Can be passed to the component via payabliExec method.
Customer Object with data related to customer. Can be passed to the component via payabliExec method. Required when saving a payment method. Which fields are required depends on whether the paypoint has custom identifiers. If you aren’t using custom identifiers, then you must include at least one of these values: firstname
and lastname
, email
, or customerId
.
paymentDetails
object with data related to the payment. Required when running a payment. Can be passed to the component via payabliExec method. See paymentDetails Object for a full reference.
When true
, if tokenization fails, Payabli will attempt an authorization transaction to request a permanent token for the card. If the authorization is successful, the card will be tokenized and the authorization will be voided automatically.
The amount for the fallbackAuth
transaction. Defaults to one dollar.
The callback function called when the component executes successfully.
The callback function called when the component receives an error. See functionCallBackError response in the next section for a complete reference.
Response
The embedded component returns a response object to the callback functions defined in the configuration. The response object contains the result of the transaction (success, declined, or error) and details about the transaction.
Response examples
Click the tab to see an example response returned by the embedded component for each result.
Response reference
The response object passed to a callback function has the following structure:
“Success” or “Declined”
Container for response details.
properties
Authorization code for payments.
Identifier for the transaction (for payments) or the stored payment method (for save payment method).
The referenceId
is used as the storedMethodId
in other operations.
See Handling responses and errors for more.
Result of operation. 1 is success, 2 is declined, and 3 is error.
Message related the result. If the operation was successful, it returns “Added”/“Approved”. If there was an error, it returns error details.
ID for the customer owner of payment or saved payment method.