Standing instruction — on demand
On-demand SI — register a mandate on PayCollect hosted initiate when PayGlocal has enabled on-demand SI on your MID.
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.
On-demand standing instructions
On-demand SI is a PayGlocal MID configuration — not a restriction thatstandingInstruction.data.frequency must be ONDEMAND. You can set any supported frequency in the request body.
Use this flow when on-demand SI is enabled for your account. Registration uses the same PayCollect initiate endpoint as GPI with a standingInstruction block. The customer completes mandate setup on the hosted checkout page.
Key points
- Register the mandate using the Initiate API with
standingInstruction.data(see Request body). frequency(ONDEMAND,WEEKLY,MONTHLY, etc.) is a mandate field only — PayGlocal does not auto-debit on that schedule for on-demand SI. You trigger every subsequent debit by calling the SI sale API (billing cadence is up to you).- Subsequent debit amounts:
FIXED— sameamounteach time.VARIABLE— up tomaxAmountper debit.
mandateIdis returned in the Initiate API response (data.mandateId) and must be stored for future mandate operations. It is not returned again in later transactions.
Supported payment methods
| Method | Domestic | International |
|---|---|---|
| Cards | — | ✓ |
Notes
- Do not send
cardDataortokenData— the customer registers the mandate on the PayGlocal hosted page.
API
| Method | POST |
| Path | /gl/v1/payments/initiate/paycollect |
| Production | https://api.payglocal.in/gl/v1/payments/initiate/paycollect |
| Sandbox | https://api.uat.payglocal.in/gl/v1/payments/initiate/paycollect |
Headers
| Header | Mandatory | Description |
|---|---|---|
Content-Type | Yes | application/json |
x-gl-token-external | Yes | RSA-signed JWS of the request body (see Key Management) |
x-gl-merchantid | Yes | Your PayGlocal merchant ID (MID) |
x-gl-kid | Yes | Key ID of the private key used to sign the JWS |
x-gl-token-external, then POST to the URL above.
Next actions
Storedata.mandateId from the initiate response — it is not returned on later calls.| Action | API |
|---|---|
| Subsequent debit | SI subsequent payment |
| Mandate status | Check mandate status |
| Cancel mandate | Cancel standing instruction |
| Registration / payment outcome | Get transaction status |
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 standing instruction registration when on-demand SI is enabled on the MID.
International cards only on hosted checkout (no UPI, net banking, or domestic-only methods).
Do not send cardData or tokenData in paymentData.
Merchant's unique transaction identifier. Alphanumeric only.
4 - 50"23AEE8CB6B62EE2AF07"
Customers are redirected here post payment completion.
"https://api.prod.payglocal.in/gl/v1/payments/merchantCallback"
Hosted checkout payment details for PayCollect standing instruction registration.
Do not send cardData, tokenData, or authenticationData — the customer registers the mandate on redirectUrl.
Optional stable merchant-side ID for idempotency and reconciliation. Alphanumeric only.
15 - 40"IFNN939494NJFJ"
Recommended for fraud checks and processor compliance.
Response
Returned immediately from initiate. Redirect the customer to data.redirectUrl, then poll data.statusUrl or Get Transaction Status. When mandate registration succeeds, data.mandateId may be present in data.
Response envelope for PayCollect standing instruction initiate (200). data may include mandateId.
No fields in this envelope are marked required.
PayGlocal transaction ID. Use for status, capture, and refund APIs.
"gl_o-a057c4d6b6c620741apzp0ZX2"
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"
Standing instruction registration may also return mandateId in data — store it for SI sale, status, and cancel.
null on success.

