GPI
PayGlocal Payment Initiate (GPI) — one-step hosted sale via POST /gl/v1/payments/initiate/paycollect. No card data in your request.
What is GPI?
GPI (PayGlocal Payment Initiate) starts a PayCollect payment. You initiate from your server with transaction and billing data; PayGlocal returns agid and a redirectUrl. Send the customer to that URL to pay on the hosted checkout, then read the outcome from your callback or the status API.
Supported payment methods
The customer chooses on the hosted page:riskData.shippingData.addressCountry and emailId in the request body.API
Headers
x-gl-token-external, then POST to the URL above.
Next steps
Authorizations
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.
Body
PayCollect GPI (no mandate, no captureTxn).
Merchant's unique transaction identifier. Alphanumeric only.
4 - 50"order_1712345678"
Hosted checkout payment details for PayCollect GPI. Do not send cardData, tokenData, or authenticationData — the customer pays on redirectUrl.
Customers are redirected here post payment completion.
"https://merchant.example.com/callback"
Optional stable merchant-side ID for idempotency and reconciliation. Alphanumeric only.
15 - 40Risk & analytics payload forwarded to fraud engines.
Response
Returned immediately from initiate. Redirect the customer to data.redirectUrl, then poll data.statusUrl or Get Transaction Status. A successful GPI sale usually reaches SENT_FOR_CAPTURE. No mandateId in data.
Response envelope for PayCollect initiate (200).
PayGlocal transaction ID. Use for status, capture, and refund APIs.
"gl_9c2645ed09edb22e"
High-level status. Typically INPROGRESS immediately after initiate.
"INPROGRESS"
Human-readable status message.
"Transaction Created Successfully"
Response timestamp (DD/MM/YYYY HH:MM:SS).
"02/06/2026 21:47:33"
Success code on initiate (e.g. 200). See 4xx responses for error codes.
"200"
null on success.

