payment-provider-framework

Implement VTEX IO payment connectors with PaymentProviderService and configuration validation.

Updated Mar 27, 2026
One-click install
npx skills add https://github.com/exilonX/ap2 --skill payment-provider-framework-exilonx
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: payment-provider-framework
Source: https://github.com/exilonX/ap2/tree/main/.agents/skills/payment-provider-framework
Command: npx skills add https://github.com/exilonX/ap2 --skill payment-provider-framework-exilonx

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Payment connector implementations often fail or become risky because VTEX IO payment-provider wiring, configuration validation, and Secure Proxy rules are easy to get wrong and hard to debug later.

Core Features & Use Cases

  • VTEX IO Payment Provider Framework setup: Guides correct wiring of @vtex/payment-provider, PaymentProvider, and PaymentProviderService in node/index.ts, including the paymentProvider builder declaration and the /manifest and PPP route behaviors.
  • Configuration and dependency correctness: Ensures configuration.json uses only valid schema fields and that TypeScript Builder-Hub compatibility is maintained via TS 3.9.7-safe code and dependency pinning with resolutions.
  • Secure Proxy PCI-safe card flows: Specifies when to use SecureExternalClient with secureProxyUrl (authorize-only), proper content types, and how to separate post-auth operations that must call the PSP directly.
  • Operational checklist for PSP integration: Covers base URL/path correctness, token caching needs, affiliation/testing workflow, and common failure modes that block homologation.

Use case example: You are implementing a new VTEX IO payment connector for a PSP and need to ensure the authorize flow goes through Secure Proxy while cancel/capture/refund call the PSP directly, with a configuration that passes strict builder validation.

Quick Start

Use the payment-provider-framework skill to implement your VTEX IO payment connector by wiring PaymentProviderService, validating paymentProvider/configuration.json, and setting up Secure Proxy authorize calls and direct PSP calls for post-auth operations.

Frequently Asked Questions about payment-provider-framework

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement a VTEX IO payment connector with Secure Proxy for PCI-safe card flows?▼

To implement a VTEX IO payment connector, wire `PaymentProviderService` in `node/index.ts` and route authorize-only calls through `SecureExternalClient` using `secureProxyUrl` for PCI-safe card flows.

Why does my VTEX IO payment provider configuration fail strict builder validation?▼

VTEX IO payment provider configuration fails strict builder validation when `configuration.json` uses invalid schema fields or dependencies are not pinned to TypeScript 3.9.7-safe versions using `resolutions`.

When do I use SecureExternalClient versus ExternalClient in a VTEX IO payment provider?▼

Use `SecureExternalClient` with `secureProxyUrl` for authorize-only PCI-safe flows, and use `ExternalClient` with outbound-access policy for post-authorization operations like capture, cancel, and refund that call the PSP directly.

What is the Payment Provider Framework (PPF) process for registering routes on VTEX IO?▼

The Payment Provider Framework process on VTEX IO involves implementing `PaymentProvider`, registering `/manifest` and PPP route behaviors with `PaymentProviderService`, and declaring the `paymentProvider` builder in your manifest.

Can I use TypeScript higher than 3.9.7 for VTEX IO payment provider framework development?▼

No, VTEX IO payment provider framework development requires TypeScript 3.9.7 to satisfy Builder-Hub constraints, ensuring safe dependency resolutions and strict configuration validation compatibility.

What are common failure modes that block homologation for VTEX IO payment connectors?▼

Common failure modes blocking VTEX IO payment connector homologation include incorrect base URL paths, missing token caching, improper authorize flow routing, and invalid `paymentProvider/configuration.json` schema fields.