GST Status

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Check GST return-filing status using a GSTIN and an active Pay2New customer/outlet. This is a fresh lookup, not a polling endpoint for a pending Pay2New order. Availability and charges depend on your account configuration.

For registration details such as legal name, address and registration status, use GST Verification.

Endpoint

POST https://pay2new.in/apis/v1/verification/gstStatus

Headers

HeaderRequiredDescription
secretYesYour Pay2New-issued API secret.
Content-TypeYesapplication/json
AcceptNoapplication/json

📘

Before you call

Use an active partner account with verified KYC, an active wallet and API access, and a registered source IP. GST Status must be enabled for your account. The request body outletId must identify an active Pay2New customer/outlet.

Request body

FieldTypeRequiredDescription
numberstringYesGSTIN to check.
request_idstringYesYour client reference for this request; retain it for reconciliation.
optional1stringNoReserved; not forwarded by the current GST Status provider mapping. Omit.
optional2stringNoReserved; not forwarded by the current GST Status provider mapping. Omit.
optional3stringNoReserved; not forwarded by the current GST Status provider mapping. Omit.
optional4stringNoReserved; not forwarded by the current GST Status provider mapping. Omit.
customer_numberstringYesCustomer mobile number; exactly 10 digits.
latitudedecimal stringYesCustomer/outlet latitude as a decimal value.
longitudedecimal stringYesCustomer/outlet longitude as a decimal value.
pincodestringYesSix-character customer/outlet PIN code.
ipstringYesValid end-user/device IPv4 address. This does not replace registered source-IP authentication.
outletIdstringYesActive Pay2New customer/outlet ID. Send it in the JSON body.

The verification product and charge are selected for your account. You do not need to send product_code or amount.

📘

Current request mapping

Send the GSTIN as number, not gst or GstNumber. outletId belongs in the JSON body. FinancialYear is not exposed or forwarded by the current Pay2New mapping; optional1–optional4 do not select a year. Provider credentials and ApiMode are handled by Pay2New.

Request example

All values are illustrative. Replace the secret, GSTIN, outlet and customer details with the values for your integration.

curl --request POST \
  --url 'https://pay2new.in/apis/v1/verification/gstStatus' \
  --header 'secret: YOUR_PAY2NEW_SECRET' \
  --header 'Content-Type: application/json' \
  --data '{
  "number": "27ABCDE1234F1Z5",
  "request_id": "GST202609260001",
  "customer_number": "9000000001",
  "latitude": "18.5204",
  "longitude": "73.8567",
  "pincode": "411001",
  "ip": "203.0.113.10",
  "outletId": "YOUR_PAY2NEW_OUTLET_ID"
}'

Response

FieldTypeDescription
statusinteger1: successful lookup; 2: rejected or failed; 3: unresolved processing outcome.
messagestringResult or rejection description.
order_idstringPay2New reference when a successful lookup response is returned.
dataobjectProvider response object forwarded by the current configuration. See its fields below.
errorsobjectField validation messages, when validation fails.

Early failures may return only status and message. The success wrapper returns status, message, data and order_id; it does not currently echo request_id, txn_value, balance or operator_reference. Preserve your original request reference.

GST return data

FieldTypeMeaning
data.GstNumberstring or nullGSTIN returned by the provider, if available.
data.FinancialYearstring or nullFinancial year returned by the provider, if available. It is not currently selectable in this Pay2New request.
data.DataarrayReturned filing records. Can be empty; a populated record schema has not been confirmed for the current configuration. Do not assume record field names.

Field names are case-sensitive: Data starts with a capital D. The configured provider response is unwrapped into Pay2New data; provider Errorcode, text status and outer response are not the Pay2New response envelope. The empty-result structure below follows the provider GST Status reference and the active Pay2New mapping. It is an illustrative example, not a newly executed customer lookup.

🚧

Lookup success is not proof of filing

status: 1 means the lookup succeeded. An empty data.Data array or null GstNumber/FinancialYear does not prove that returns were filed, the registration is active, or the taxpayer is compliant. Inspect the returned data and use GST Verification for registration information.

📘

Read the application result

A successful HTTP response does not establish a successful GST lookup. Read status and message. A lookup can be chargeable; for an unresolved result, preserve your request reference and reconcile before submitting another request. Replaying a request is not guaranteed to be idempotent.

Errors

MessageMeaning
Secret Header not found!The required secret header is missing.
Invalid Json!The JSON body is missing or invalid.
Invalid ParametersOne or more fields failed validation; inspect errors.
Oops, Invalid OutletId!The requested outlet is unavailable or inactive.
Oops, This service is not for you!The requested service is unavailable for the account.
Biller is DownThe verification product is unavailable.

Application errors can be returned with a successful HTTP status. For example:

{
  "status": 2,
  "message": "Invalid Json!"
}

For the general GST verification workflow, see GST Verification.

Response examples

Success — no filing records

{
  "status": 1,
  "message": "Transaction Successful",
  "data": {
    "GstNumber": null,
    "FinancialYear": null,
    "Data": []
  },
  "order_id": "P2N_GST_SAMPLE_001"
}

Validation error

{
  "status": 2,
  "message": "Invalid Parameters",
  "errors": {
    "number": "The number field is required."
  }
}

Invalid outlet

{
  "status": 2,
  "message": "Oops, Invalid OutletId!"
}

Service unavailable

{
  "status": 2,
  "message": "Oops, This service is not for you!"
}

Provider mapping unavailable

{
  "status": 2,
  "message": "Operator do not have bill fetch!"
}

Provider response missing status

{
  "status": 2,
  "message": "Status Not Found!"
}

Unresolved result

{
  "status": 3,
  "message": "Something went wrong! Kindly confirm status!"
}

Pending and retry handling

ResultNext step
status: 1 with recordsRead the actual filing data; retain the order reference.
status: 1 with empty recordsTreat the lookup as successful but filing information as unavailable. Do not label the GSTIN compliant.
status: 2Inspect the rejection; correct request/account configuration where applicable. Provider failure messages can vary.
status: 3 or a timeoutKeep the original request unresolved. Reconcile using your original reference and Transaction Status, or contact support. Calling gstStatus again initiates another lookup and may charge again.

Use unique client references. Do not rely on an automatic GST filing webhook or retry the chargeable lookup merely because a callback is absent.

Body Params
string
required

GSTIN to check.

string
required

Your client reference for this request; retain it for reconciliation.

string

Reserved; not forwarded by the current GST Status mapping. Omit.

string

Reserved; not forwarded by the current GST Status mapping. Omit.

string

Reserved; not forwarded by the current GST Status mapping. Omit.

string

Reserved; not forwarded by the current GST Status mapping. Omit.

string
required

Customer mobile number; exactly 10 digits.

string
required

Customer/outlet latitude as a decimal value.

string
required

Customer/outlet longitude as a decimal value.

string
required

Six-character customer/outlet PIN code.

string
required

Valid end-user/device IPv4 address. This does not replace registered source-IP authentication.

string
required

Active Pay2New customer/outlet ID. Send it in the JSON body.

Headers
string
required

Pay2New-issued API secret. Use a registered source IP.

Response

Language
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json