NovyPay Token

Overview

NovyPay Tokens act like virtual debit/credit cards but operate with USDC instead of fiat currency. Merchants can use the NovyPay API to collect USDC payments by initializing a payment and redirecting users to confirm.

Step 1: Create a NovyPay Token

Before initiating any payment, the user must have a NovyPay Token. This token represents their USDC "card" and allows them to authorize payments.

🔗 Go to https://novypay.app and create a token under your dashboard.

Step 2: Initialize a Payment

Endpoint

POST https://burntpay-u44m.onrender.com/payments/novypay-token/initialize/

Request Body (JSON)

{
  "amount": 20.00,
  "currency": "GBP",
  "merchant_reference": "ORDER-12345",
  "callback_url": "https://google.com" //optional
}
Field
Type
Description

amount

float

Total amount in fiat currency (e.g., GBP).

currency

string

ISO currency code (e.g., USD, GBP, EUR).

merchant_reference

string

Unique identifier for the transaction.

callback_url

string

URL to redirect users to after successful payment

Response (Success)

Field
Description

payment_reference

Unique ID for tracking the payment.

usdc_amount

The equivalent USDC amount based on current exchange rate.

redirect_url

Redirect your user here to confirm the payment.

merchant_xion_address

Your receiving Xion address.

Step 3: Redirect the User

Immediately redirect the user to the redirect_url returned in the response:

They will confirm and authorize the payment using their NovyPay Token.

While waiting for the callback, it's recommended to poll the payment status using the payment_reference to ensure payment validity.

Endpoint

Example

Response

Field
Description

payment_status

Possible values: pending, confirmed, failed.

Security Notes

  • Always validate callbacks via signature or token headers.

  • Never assume success without verifying payment status using payment status endpoint.

  • Log all interactions and references for dispute resolution.

Last updated