Merchant docs

Order status

How to know when a specific order has been paid.

Every Novupay order has a reference ID (e.g. C2P-ABC123). You can learn that payment completed in three ways — pick what fits your integration.

1. Webhook to your store (recommended)

When an order becomes PAID, Novupay POSTs a signed JSON notification to your callback URL (WooCommerce plugin handles this automatically).

POST https://your-store.com/wp-json/card2pay/v1/callback
Content-Type: application/json
x-card2pay-event: order.paid
x-card2pay-apikey: c2p_...
x-card2pay-signature: sha256=<hmac-sha256 of raw body>

{
  "event": "order.paid",
  "reference": "C2P-ABC123",
  "order_id": "12345",
  "status": "paid",
  "amount": 99.00,
  "currency": "USD",
  "pay_currency": "btc",
  "pay_amount": 0.001,
  "actually_paid": 99.00,
  "customer_email": "buyer@example.com",
  "paid_at": "2026-07-10T10:30:00.000Z"
}

Verify the signature with your site's API secret (same as in the WooCommerce plugin). See WooCommerce setup.

2. Poll order status (API)

If you build a custom integration, poll this endpoint with the order reference:

GET https://portal.novupay.com/api/orders/C2P-XXXXXX/status

Example response:

{ "status": "PAID" }

Possible values include PENDING, WAITING, CONFIRMING, PAID, FAILED, EXPIRED. Poll every few seconds until PAID (same approach as the Novupay checkout page).

No API key required for this endpoint — anyone with the reference can check status. Do not treat the reference as a secret in public URLs.

3. Merchant dashboard

Open Dashboard → Orders and search by reference. Status updates automatically after payment confirms.

About PayGate Postman docs

The PayGate.to Postman API describes the provider layer (wallet.php, pay.php, provider callbacks). Novupay uses that internally — you do not need to integrate PayGate directly.

  • PayGate notifies Novupay per order at https://portal.novupay.com/api/webhooks/paygate?reference=…
  • Novupay then notifies your store via order.paid webhook or you poll status above

Crypto payments work the same way: NOWPayments IPN → Novupay → your callback.