manifest.json file and service-specific settings.
Manifest configuration
Themanifest.json file is the core configuration file for your VTEX IO app. It defines metadata, builders, policies, and dependencies.
Basic structure
manifest.json
Manifest fields
Basic metadata
Basic metadata
- name: Unique identifier for your app (lowercase, hyphens only)
- vendor: Your VTEX vendor account
- version: Semantic version (MAJOR.MINOR.PATCH)
- title: Human-readable name displayed in admin
- description: Brief description of your connector
Builders
Builders
Builders define the capabilities of your app:
- paymentProvider: Required for payment connectors (use “1.x”)
- node: Required for backend logic (use “6.x”)
- docs: Optional, for documentation (use “0.x”)
The
paymentProvider builder is mandatory for all payment connector apps.Policies
Policies
Policies grant permissions to your app:vbase-read-writecolossus-fire-eventcolossus-write-logsoutbound-access
- Allows reading and writing to VBase (VTEX database)
- Required for persisting payment data
- Allows firing events to VTEX event system
- Useful for audit trails and integrations
- Allows writing to VTEX logs
- Essential for debugging and monitoring
- Allows HTTP requests to external hosts
- Required for callbacks and payment gateway communication
Billing options
Billing options
Defines the billing model for your app:Available types:
"free": No charge"fixed": Fixed monthly fee"variable": Usage-based pricing
Adding external API access
If your connector needs to communicate with external payment gateways, add them to theoutbound-access policy:
Node package configuration
Thenode/package.json file defines Node.js dependencies and scripts.
Required dependencies
node/package.json
Key dependencies
@vtex/payment-provider
The core payment provider SDK:
- Provides
PaymentProviderbase class - Includes request/response types
- Offers helper methods for responses
@vtex/api
VTEX IO API SDK (dev dependency):
- Provides VBase client
- Includes typing for VTEX services
- Required for context and client access
Adding additional dependencies
You can add other npm packages as needed:Keep dependencies minimal to reduce bundle size and improve performance.
TypeScript configuration
Create anode/tsconfig.json file for TypeScript compiler settings:
node/tsconfig.json
Environment-specific configuration
Development vs production
Use thethis.isTestSuite flag to differentiate between test and production environments:
Accessing custom configuration
Access custom fields configured inconfiguration.json through the context:
Configuration validation
Validate your configuration before deployment:Common configuration issues
Missing outbound-access policy
Missing outbound-access policy
Error: Cannot reach external APISolution: Add the external host to
outbound-access policy:VBase permission denied
VBase permission denied
Error: Cannot read/write to VBaseSolution: Add
vbase-read-write policy:Callback not working
Callback not working
Error: Callbacks to VTEX failSolution: Ensure callback URL is in
outbound-access:TypeScript errors
TypeScript errors
Error: Type errors during compilationSolution: Ensure all required type packages are installed:
Next steps
Payment methods
Configure supported payment methods in configuration.json
Creating connector
Learn how to create a connector from scratch