From order to refund
Orders · Mercado Pago compatibility
Creation, transactions, processing, capture, cancellation and refunds through the Plaza profile.
- Create
- Process
- Capture
- Refund
YOUR SANDBOX. YOUR RULES.
Your local lab for payment integrations with Vector, Harbor and Plaza: independent profiles compatible with selected Stripe, PayPal and Mercado Pago flows.
Independent of your provider’s sandbox.
POST → 200Illustrative view · no real money
COMPATIBILITY PROFILES
Vector, Harbor and Plaza expose wire vocabularies compatible with selected well-known provider flows without using those brands as the product identity.
From order to refund
Creation, transactions, processing, capture, cancellation and refunds through the Plaza profile.
Capture on your terms
Create/confirm, manual capture and refunds with Stripe-compatible wire shapes.
Approval flow included
Local OAuth, approval, authorization, capture, void and refunds through the Harbor profile.
Selected flows, not complete catalogues. Read the fidelity reports for exact coverage and limitations.
HOW IT WORKS
Register an application, configure its local credentials and point your integration at the emulator. Every request follows an observable path.
Explore the architectureHTTP → Contract → OutcomeOne shared path. Each provider’s contract at the edges.
DETERMINISTIC SCENARIOS
An approved payment, a decline or a pending action. Choose the outcome to reproduce the case you need to debug, over and over.
Same scenario. Same outcome.
Assign the scenario to your application or use X-Emulator-Scenario per request.
Design scenariospayment.createWebhook enabledvector/payment-approved.json
{
"provider": "vector",
"version": 1,
"when": {
"operation": "payment.create"
},
"then": {
"outcome": "captured",
"webhook": {
"enabled": true,
"delayMs": 50
}
}
}capturedInteractive example · no requests are sent
trace_demoOne request. Its complete history.
request.receivedcontract.validatedscenario.matchedresponse.sentWorker · signature · retries · history
WEBHOOKS + TRACES
Inspect which contract was validated and which scenario matched. Review webhook deliveries and retries, and connect the request to your logs through its correlation ID.
FAKE BANK. REALISTIC ACCOUNTING.
Payments are more than magic states. The fake bank records double-entry postings to track captures, fees, reserves, settlements and refunds.
Balances derived from postings. Amounts in minor units. No real money.
Meet the fake bank| Account | Debit | Credit |
|---|---|---|
| System cash | 100.00 USD | — |
| Funds in transit | — | 100.00 USD |
Debits = credits
ONE LAB, THREE SURFACES
Three separate applications, connected through the API.
POST /v1/payment_intents{
"amount": 10000,
"currency": "usd",
"confirm": true
}Local · APIProvider contracts, scenarios and payment operations, powered by NestJS.
Contracts and APIdemo-storeVectorpayment_demoCapturedApplications, local credentials, payments, ledger, webhooks and traces.
Open the console•••• 4242Test the buying experience with each emulator profile’s own visual identity and flow.
Explore the checkoutFROM REPOSITORY TO FIRST PAYMENT
Clone the repository and run the installer. It checks Node, prepares the environment, installs, builds, migrates and creates your administrator.
Installation guidenpm run setupWhat the installer prepares
Node ≥ 22.17 · Docker Compose or local PostgreSQL
Docker leaves the stack running. In local mode, start the processes using the guide.
DOCUMENTATION WITHOUT GUESSWORK
Spanish and English guides, from your first run to the limits of each contract.
Browse all documentationFREQUENTLY ASKED
Short answers, each with the document behind it.
Browse all documentationA local payment gateway emulator: an API, a console, a checkout and a fake bank with double-entry accounting. It runs entirely on your machine.
Project overviewNo. You register your application in the emulator and it issues the local credentials you sign each request with. No real card or account is involved.
Getting startedNo, and it is not an official product of those providers. It emulates selected flows in their vocabulary; the fidelity reports state what is covered and what is not.
Features and limitsPlaza covers Mercado Pago-compatible Orders; Vector covers Stripe-compatible PaymentIntents and Refunds; Harbor covers PayPal-compatible Orders v2 and Payments v2. Each fidelity report defines the exact scope.
Vector reportYes. The emulator emits an event for each operation, records its deliveries and keeps the trace of the request that produced them.
Webhooks and tracesYes. Deterministic scenarios bind a condition to an outcome, so the same case reproduces identically every time you need it.
Deterministic scenariosYOUR NEXT PAYMENT IS A TEST
Your code, your scenarios and an environment to understand every outcome.