VivaISV class is designed for Independent Software Vendors (ISVs) that manage payments and terminal operations on behalf of multiple merchants. It authenticates with ISV-scoped OAuth credentials for OAuth API calls and optionally accepts reseller credentials for Basic Auth endpoints that target specific merchant accounts.
Initialization
You have two setup options depending on which ISV endpoints you intend to use.OAuth-only setup
Use this when you only need OAuth 2.0 endpoints such as connected-account creation, payment order creation, transaction lookup, or POS operations:With reseller credentials
AddresellerId and resellerApiKey to enable ISV Basic Auth endpoints, such as retrieving or cancelling an order on behalf of a specific merchant:
Your ISV OAuth 2.0 Client ID.
Your ISV OAuth 2.0 Client Secret.
Your Reseller ID, required for ISV Basic Auth endpoints. Used as the first part of the Basic Auth username.
Your Reseller API Key, used as the Basic Auth password for ISV Basic Auth endpoints.
Stored on the client for source helpers. Pass source codes in method options when an ISV payment or transaction endpoint requires one.
Available Modules
payments
Create, retrieve, and cancel payment orders on behalf of target merchants.
transactions
Retrieve ISV transactions, search Data Services transactions, cancel/refund payments, handle preauth, create recurring transactions, and run MOTO charges.
connectedAccounts
Create connected accounts and retrieve connected-account details.
source
Create and set source codes for ISV flows.
pos
Search POS devices, initiate/refund POS transactions, query action data, create terminal actions, and abort sessions.
webhook / webhooks
Create ISV webhooks and retrieve the ISV webhook verification key. Both property names point to the same module.
vivaIsv.webhooks and vivaIsv.webhook refer to the same underlying IsvWebhook instance. Both aliases are supported.Targeting a Specific Merchant
Some ISV methods target a connected merchant account. OAuth endpoints usually pass that merchant asmerchantId or targetMerchantId in the request options. Basic Auth ISV endpoints require reseller credentials and use targetMerchantId to build the composite Basic Auth username.
Cloud Terminal with ISV Credentials
When your ISV integration needs Cloud Terminal access, request a token with the ISV client:getCloudTerminalAccessToken() returns VivaWallet’s full token response and does not cache it. Reuse the returned token until expires_in elapses, then request a new one.Related Guides
ISV Payments
Create and manage payment orders across multiple merchant accounts.
ISV Connected Accounts
Onboard and retrieve merchants as connected accounts under your ISV.
ISV POS
Configure terminals and manage POS sessions for ISV-managed devices.