Introduction

Integrate payments with Vpay, a hosted payment gateway for e-commerce and business applications. The API is JSON over HTTPS and supports two integration modes:
  • Integrated checkout — Your backend starts a session and redirects the payer to a Vpay-hosted checkout form.
  • Payment link — Your backend generates a shareable URL the payer opens to complete payment.

High-level flow

Key concepts

ConceptDescription
TerminalYour payment terminal, identified by OAuth2 client_id (JWT subject). Requires role VpayTerminal.
checkoutSessionIdUnique session identifier returned when you start a payment or generate a link.
transactionReferenceNumberYour merchant reference for the payment (must be unique per terminal).
paymentLinkURL returned by generate-payment-link for the payer to open.
internalTransactionReferenceNumberVpay internal reference for support and reconciliation.

Base URLs

EnvironmentBase URL
Productionhttps://vpay.didi.cr
All API paths in this documentation are relative to the Payment Gateway host (e.g. https://vpay.didi.cr/pay/api/start-payment).

Swagger UI

Explore and test endpoints interactively in the OpenAPI UI: https://vpay.didi.cr/swagger Swagger complements this documentation; the MDX reference and Conventions reflect the supported public integration surface.

Public API surface (v1)

MethodPathAuth
POST/api/public/security/authNo
POST/pay/api/start-paymentBearer + VpayTerminal
POST/pay/api/generate-payment-linkBearer + VpayTerminal
GET/pay/api/payment/{checkoutSessionId}Bearer + VpayTerminal
Browser routes (not JSON API):
  • Integrated checkout: GET /pay/checkout-payment/{checkoutSessionId}
  • Payment link: GET /pay/link/{id}

Next steps

Getting started

Follow a step-by-step tutorial with cURL examples to authenticate and create your first payment.

Swagger UI

Open the interactive API reference to explore endpoints and try requests.