- Retrieve a payment session
Returns the current state of a payment session: its status, failure reason, scheme, amount and the records it has produced so far (KYC, folio, order, payments, folio transaction and refunds). The body is the same snapshot sent as data in the payment_session webhook, plus failure_reason.
Who can read it: the fund that owns the session, or the distributor the session is credited to. Any other business gets 404, as if the session did not exist.
status is read live, so a session past expires_at with no money moved reads expired here before the expired webhook is sent.
- Production serverhttps://api.glomopay.com/api/v1/payment-sessions/{id}
curl -i -X GET \
https://api.glomopay.com/api/v1/payment-sessions/psess_6819d8046mpKt \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Payment session retrieved successfully.
Unique identifier for the payment session, prefixed with psess_.
The workflow type of the session. See session_type on Create a payment session.
Where the investor is in the session. This is a finer status than the active returned when the session is created.
created— the session exists; the investor has not started KYC.kyc_in_progress— the investor is going through KYC.kyc_done— KYC is complete; no money has moved yet.payment_pending— a payment has started but has not succeeded.remittance_claimed— the investor's bank is not supported for LRS on Glomo, so they paid the fund directly and gave the transfer reference (UTR). It is the investor's claim until units are allotted.paid— a payment on the session's order succeeded.completed— the investor finished every step. Final.failed— the session ended without finishing.failuresays why. Final.expired— the session passedexpires_atbefore any money moved. Final.
Once money has moved (payment_pending, remittance_claimed or paid), the session keeps that status after expires_at, because units can still be allotted.
ISO 8601 timestamp when the session was created.
ISO 8601 timestamp when the session expires if no money has moved.
ISO 8601 timestamp of the last change to the session record.
The customer (cust_ prefix) the investor's KYC belongs to. null until KYC starts.
The AMC scheme the session is for. null for session types without a scheme. Before the investor chooses, this is the scheme of the prefilled plan.
The investment amount: the investor's confirmed amount, or the prefilled amount until they confirm. null when neither is set.
The keys of entities this session will produce, from its session_type. A key listed here and still null (or an empty array) means "not created yet"; a key not listed will never appear, except refunds.
kyc_lrs—kyc,order,paymentskyc_lrs_folio,kyc_inbound_folio—kyc,folio,order,payments,folio_transactionkyc_nri_individual_verification—kyckyc_nri_joint_verification—kyc,folio
For kyc_lrs_folio, once KYC completes with a bank that is not supported for LRS on Glomo, the list becomes kyc, folio, folio_transaction: the investor pays the fund directly, so no order or payment is created.
[ "kyc", "folio", "order", "payments", "folio_transaction" ]
The records the session has produced. Every key in expected_entities is present: null (or [] for payments) until its record exists. refunds is added only when a refund exists.
{ "id": "psess_6819d8046mpKt", "session_type": "kyc_lrs_folio", "status": "paid", "failure": null, "created_at": "2026-11-03T05:12:40Z", "expires_at": "2026-11-10T05:12:40Z", "updated_at": "2026-11-03T06:02:11Z", "customer_id": "cust_6819d7d0lrLvP", "scheme": { "scheme_code": "SCH001", "name": "Example Global Equity Fund - Regular Plan", "plan": "regular", "distributor_arn": "ARN12345" }, "amount": { "value": 500000, "currency": "USD" }, "expected_entities": [ "kyc", "folio", "order", "payments", "folio_transaction" ], "entities": { "kyc": { … }, "folio": null, "order": { … }, "payments": [ … ], "folio_transaction": null }, "failure_reason": null }