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
Sandbox{sandboxBaseUrl}
Production{productionBaseUrl}
All API paths in this documentation are relative to the base URL of the Payment Gateway host (e.g. {sandboxBaseUrl}/pay/api/start-payment).

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.