Skip to content
ZytePedevelopersDashboard
DocsAPI reference
API reference

Hosted Payment Status

Fetches payment status for recovery polling or support checks.

GET/payments/{payment_id}/statusPlugin signed
Use your enabled merchant account. Examples run on your server, never in this documentation.

Authentication

Use plugin-signed headers. The signature scheme differs from merchant HMAC. Local source clarifies Unix-second timestamps and hexadecimal output; confirm deployment compatibility.

See authentication.

Workflow notes

  • Callbacks should remain the source of truth.
  • Use status polling only when a webhook was delayed or support needs confirmation.

Before you send

Check the field labels and use your enabled merchant account. Examples illustrate the API contract; confirm deployment-specific limits and error handling before launch. This page never sends a request.

Request example

Choose Node.js, Python, PHP, Ruby, Java or cURL. Run signed requests on your backend. PHP, Ruby and Java include signing directly. Java requires JDK 17 or newer.

import { pluginSignedHeaders } from './plugin-signing.mjs';
const payment_id = process.env.ZYTEPE_PAYMENT_ID;
if (!payment_id) throw new Error('Set ZYTEPE_PAYMENT_ID to the returned identifier');
const path = `/payments/${encodeURIComponent(payment_id)}/status`;
const query = '';
const body = ''; // GET requests have no body
const headers = pluginSignedHeaders({
  method: 'GET', path, body,
  keyId: process.env.ZYTEPE_API_KEY_ID,
  secret: process.env.ZYTEPE_API_SECRET,
});
const url = 'https://api.zytepe.com' + path + (query ? '?' + query : '');
const response = await fetch(url, { method: 'GET', headers });
if (!response.ok) throw new Error('Request failed: HTTP ' + response.status);
const result = await response.json();
// Store the returned identifiers securely. Do not log customer data.

Path, query and headers

payment_idRequiredpath

Use the identifier returned by the corresponding creation operation.

Request body

No request body for GET.

Example response

JSON · response
{
  "payment_id": "pay_123",
  "status": "paid",
  "order_id": "ORDER_123",
  "transaction_id": "txn_123",
  "provider_reference": "UTR1234567890",
  "amount": "499.0000",
  "currency": "INR"
}