Skip to content

Instantly share code, notes, and snippets.

@n3omaster
Last active July 15, 2025 14:15
Show Gist options
  • Save n3omaster/87f5ebe0e3e7ba53f1ba76893ac04d33 to your computer and use it in GitHub Desktop.
Save n3omaster/87f5ebe0e3e7ba53f1ba76893ac04d33 to your computer and use it in GitHub Desktop.
QvaPay Payment guide for merchants

🚀 Getting Started with QvaPay API Integration

Connect your online store, service, or platform to QvaPay and start accepting payments with ease. Follow this quick step-by-step guide to set up your developer account and create your first invoice.


1️⃣ Create Your QvaPay Account

Head over to https://qvapay.com and register an account using your username and password.


2️⃣ Set Up Your Developer Application

Go to the Developer Apps Dashboard and create a new app. Provide the following:

  • App Name – A friendly name for your integration.
  • Website URL – Must return HTTP 200. Required for validation.
  • App Description – Brief overview of what your app does.
  • Webhook URL – Where you’ll receive payment event notifications.
  • Redirect URLs
    • One for successful payments
    • One for canceled payments
      (These can also be provided dynamically at runtime.)
  • App Logo – Upload a brand image for your service or company.

Once saved, you will receive your APP_ID and APP_SECRET.


3️⃣ Start Using the API

You can now interact with the QvaPay API.

📘 API Docs: https://qvapay.com/docs

Use your credentials (APP_ID and APP_SECRET) for authentication.


4️⃣ Create an Invoice

Make a POST request to:

https://api.qvapay.com/v2/create_invoice

🔐 Authentication

Include your credentials either:

  • In the request body, (app_id, app_secret) or
  • As custom HTTP headers (app-id, app-secret)

Both methods are supported.

📦 Body Parameters

  • amount(required) The amount to charge, in USD.
  • description – Optional. A label or note for the transaction.
  • return_url – Optional. Where the user is redirected after payment.
  • cancel_url – Optional. Where the user is redirected if the payment is canceled.

For example:

{
    "app_id": "9955dd29-082f-470b-882d-f4f0f25ea164",
    "app_secret": "Zx03ncGDTlBFvZ0JRAq61NUkB82Ks1PFkBYAAiadfbzg5l",
    "amount": 99.99,
    "description": "Enanitos verdes",
    "remote_id": "MY_OWN_CUSTOM_ID",
    "signed": 1
}

5️⃣ Redirect the User to Pay

You will receive a response like:

{
    "app_id": "9955dd29-082f-470b-882d-f4f0f25ea144",
    "amount": 99.99,
    "description": "Enanitos verdes",
    "remote_id": "MY_OWN_CUSTOM_ID",
    "signed": 1,
    "transation_uuid": "6d93a102-be6b-4379-88dc-98bd22df74ba",
    "url": "https://qvapay.com/pay/6d93a102-be6b-4379-88dc-98bd22df74ba",
    "signedUrl": "https://qvapay.com/pay/6d93a102-be6b-4379-88dc-98bd22df74ba?expires=1649703936&signature=3eb20e5a091e4b492f4ef99dc0c781b7411e35809d034ec0493d670c4f751435"
}

Redirect the user to the url or signedUrl so they can complete the transaction.


6️⃣ Handle Payment Notifications

✅ Webhook Events

Once the user completes payment, QvaPay sends a POST request to your specified webhook URL with the transaction data and the following body:

{
  remote_id: remote_id,
  id: transaction_id,
  uuid: transaction_uuid,
  status: 'paid|cancelled',
}

🔄 Check Transaction Status

You can also query the transaction manually:

GET https://api.qvapay.com/transaction/{uuid}

This lets you confirm the status or retrieve details at any time.


✅ You're All Set!

You can now:

  • Accept crypto and fiat payments with QvaPay
  • Automate workflows with webhooks
  • Track transaction states in real time

📚 For complete API documentation, visit: https://qvapay.com/docs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment