Skip to main content
GET
/
gl
/
v1
/
payments
/
{id}
/
status
Get Transaction Status
curl --request GET \
  --url https://api.payglocal.in/gl/v1/payments/{id}/status \
  --header 'x-gl-token-external: <api-key>'
{
  "gid": "gl_a057c68620b83a33618l890YrX2",
  "status": "SENT_FOR_CAPTURE",
  "message": "Transaction is sent_for_capture",
  "timestamp": "02/06/2026 21:49:23",
  "reasonCode": "GL-201-001",
  "data": {
    "transactionCreationTime": "02/06/2026 21:48:42",
    "gid": "gl_o-a057c68620b83a33fl890YrX2",
    "payment-method": "CARD",
    "Amount": "100",
    "txnCurrency": "CAD",
    "merchantTxnId": "23AEE8CB6B62EE2AF07",
    "CardBrand": "VISA",
    "processor": "payglocal",
    "detailedMessage": "Sent for capture successfully",
    "CardType": "CREDIT",
    "Currency": "INR",
    "Country": "CANADA",
    "reasonCode": "GL-201-001",
    "authApprovalCode": "831000",
    "status": "SENT_FOR_CAPTURE"
  },
  "errors": null
}

Documentation Index

Fetch the complete documentation index at: https://payglocal.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

When to Use

Call status after every payment initiation, once the customer completes (or abandons) the flow. PayGlocal also sends lifecycle updates to your merchantCallbackURL, but status polling is the recommended way to confirm the final outcome and reconcile orders if a callback is delayed, retried, or missed. Use this endpoint for all GPI transactions — PayDirect and PayCollect, cards, UPI, net banking, Apple Pay, and global alternative payments.

API

MethodGET
Path/gl/v1/payments/{id}/status
Productionhttps://api.payglocal.in/gl/v1/payments/{gid}/status
Sandboxhttps://api.uat.payglocal.in/gl/v1/payments/{gid}/status
Pass PayGlocal gid or your merchantTxnId as {id}. Alternatively, call the pre-signed data.statusUrl from the GPI initiate response.

Headers

HeaderMandatoryDescription
x-gl-token-externalYesRSA-signed JWS (see Key Management)
x-gl-merchantidYesYour PayGlocal merchant ID (MID)
x-gl-kidYesKey ID used to sign the JWS

Notes

  • Top-level status is the transaction state (e.g. SENT_FOR_CAPTURE, AUTHORIZED, INPROGRESS). The nested data.status often mirrors it for successful payments.
  • The data object varies by payment-method — use the Responses examples below (card, UPI, net banking, global alt pay, authorized card).
  • For auth-only flows (captureTxn: false), expect AUTHORIZED until you call capture.

Error Scenarios

ScenarioHTTP code
Unknown or invalid gid / merchantTxnId404
Missing or invalid JWS401

Authorizations

x-gl-token-external
string
header
required

RSA-signed JWS (JSON Web Signature) token carrying the request payload.

  • Header: { "alg": "RS256", "kid": "<merchant-key-id>", "iss": "<merchant-id>", "x-gl-enc": "false", "is-digested": "true" }
  • Payload: the exact JSON body sent in the request (or its SHA-256 digest when is-digested=true).
  • Signed with the merchant's RSA private key; PayGlocal verifies with the matching public key. Used by all /gl/v1/payments/* endpoints.

Path Parameters

id
string
required

PayGlocal gid or merchantTxnId from the initiate request.

Response

Status retrieved successfully. Top-level status reflects the transaction state; data includes method-specific fields keyed by payment-method.

Response envelope for GET /gl/v1/payments/{id}/status.

gid
string

PayGlocal transaction ID.

status
string

High-level transaction status (e.g. SENT_FOR_CAPTURE, AUTHORIZED, INPROGRESS).

message
string

Human-readable status message.

timestamp
string

Response timestamp (DD/MM/YYYY HH:MM:SS).

reasonCode
string

Reason code for this status (e.g. GL-201-001).

data
object

data payload for transaction status. Fields present depend on payment-method (e.g. CARD, UPI_INTENT, INB, ZIP). See response examples on Get Transaction Status.

errors
object

null on success.