Partner APIs: Merchant Onboarding
Get Onboarding Status
Retrieves the current onboarding status and all submitted information for a merchant. Always call this endpoint server-to-server after the merchant completes the iFrame verification flow to confirm final status.
GET
/
gcc
/
v2
/
partner
/
merchant
/
onboard
/
{onboardingId}
/
status
Get Onboarding Status
curl --request GET \
--url https://api.onboard.payglocal.in/gcc/v2/partner/merchant/onboard/{onboardingId}/status \
--header 'x-gl-auth: <api-key>' \
--header 'x-gl-digest: <api-key>'import requests
url = "https://api.onboard.payglocal.in/gcc/v2/partner/merchant/onboard/{onboardingId}/status"
headers = {
"x-gl-auth": "<api-key>",
"x-gl-digest": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)HttpResponse<String> response = Unirest.get("https://api.onboard.payglocal.in/gcc/v2/partner/merchant/onboard/{onboardingId}/status")
.header("x-gl-auth", "<api-key>")
.header("x-gl-digest", "<api-key>")
.asString();const url = 'https://api.onboard.payglocal.in/gcc/v2/partner/merchant/onboard/{onboardingId}/status';
const options = {method: 'GET', headers: {'x-gl-auth': '<api-key>', 'x-gl-digest': '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"gid": "gl_9c2645ed09edb22e",
"timestamp": "10/01/2026 15:00:00",
"reasonCode": "",
"data": {
"merchantInfo": {
"onboardingId": "pg_onboard_abc123",
"partnerOnboardingId": "partner-merchant-001",
"onboardingStatus": "PENDING_REVIEW"
},
"merchantOnboardingCheckListStatus": {
"businessDetails": "COMPLETE",
"beneficialOwners": "COMPLETE",
"bankDetails": "COMPLETE",
"authorisedSignatory": "COMPLETE",
"vkyc": "COMPLETE",
"digiLocker": "COMPLETE",
"tncAcknowledged": "COMPLETE",
"documents": "COMPLETE",
"products": "COMPLETE",
"documentsToBeUploaded": []
}
}
}{
"gid": "gl_9c2645ed09edb22e",
"timestamp": "10/01/2026 15:00:00",
"reasonCode": "UNAUTHORIZED",
"data": {},
"errors": null,
"errorDetails": [
{
"fieldName": "authorization",
"message": "Invalid x-gl-token-external"
}
]
}{
"gid": "gl_9c2645ed09edb22e",
"timestamp": "10/01/2026 15:00:00",
"reasonCode": "VALIDATION_ERROR",
"data": {},
"errors": {},
"errorDetails": [
{
"field": "panNumber",
"message": "Required field is missing"
}
]
}{
"gid": "gl_9c2645ed09edb22e",
"timestamp": "10/01/2026 15:00:00",
"reasonCode": "VALIDATION_ERROR",
"data": {},
"errors": {},
"errorDetails": [
{
"field": "panNumber",
"message": "Required field is missing"
}
]
}When to Use
Retrieves the current onboarding status and all submitted information for a merchant.After the merchant completes the iFrame verification flow, always call this endpoint server-to-server to confirm
vkyc and digiLocker are COMPLETE. Do not rely on the callback redirect alone.Error Scenarios
| Scenario | HTTP Code |
|---|---|
onboardingId does not exist | 404 |
onboardingId does not belong to this partner | 403 |
Authorizations
Static API Key generated from the PayGlocal Partner Dashboard.
Per-request HmacSHA256 signature, Base64-encoded, using your API Secret as the HMAC key.
- For GET requests: sign the request URI path (e.g.
/gcc/v2/partner/merchant/onboard/business-category), including query string if present. - For POST/PUT requests: sign the exact raw request body.
Path Parameters
Get Onboarding Status
curl --request GET \
--url https://api.onboard.payglocal.in/gcc/v2/partner/merchant/onboard/{onboardingId}/status \
--header 'x-gl-auth: <api-key>' \
--header 'x-gl-digest: <api-key>'import requests
url = "https://api.onboard.payglocal.in/gcc/v2/partner/merchant/onboard/{onboardingId}/status"
headers = {
"x-gl-auth": "<api-key>",
"x-gl-digest": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)HttpResponse<String> response = Unirest.get("https://api.onboard.payglocal.in/gcc/v2/partner/merchant/onboard/{onboardingId}/status")
.header("x-gl-auth", "<api-key>")
.header("x-gl-digest", "<api-key>")
.asString();const url = 'https://api.onboard.payglocal.in/gcc/v2/partner/merchant/onboard/{onboardingId}/status';
const options = {method: 'GET', headers: {'x-gl-auth': '<api-key>', 'x-gl-digest': '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"gid": "gl_9c2645ed09edb22e",
"timestamp": "10/01/2026 15:00:00",
"reasonCode": "",
"data": {
"merchantInfo": {
"onboardingId": "pg_onboard_abc123",
"partnerOnboardingId": "partner-merchant-001",
"onboardingStatus": "PENDING_REVIEW"
},
"merchantOnboardingCheckListStatus": {
"businessDetails": "COMPLETE",
"beneficialOwners": "COMPLETE",
"bankDetails": "COMPLETE",
"authorisedSignatory": "COMPLETE",
"vkyc": "COMPLETE",
"digiLocker": "COMPLETE",
"tncAcknowledged": "COMPLETE",
"documents": "COMPLETE",
"products": "COMPLETE",
"documentsToBeUploaded": []
}
}
}{
"gid": "gl_9c2645ed09edb22e",
"timestamp": "10/01/2026 15:00:00",
"reasonCode": "UNAUTHORIZED",
"data": {},
"errors": null,
"errorDetails": [
{
"fieldName": "authorization",
"message": "Invalid x-gl-token-external"
}
]
}{
"gid": "gl_9c2645ed09edb22e",
"timestamp": "10/01/2026 15:00:00",
"reasonCode": "VALIDATION_ERROR",
"data": {},
"errors": {},
"errorDetails": [
{
"field": "panNumber",
"message": "Required field is missing"
}
]
}{
"gid": "gl_9c2645ed09edb22e",
"timestamp": "10/01/2026 15:00:00",
"reasonCode": "VALIDATION_ERROR",
"data": {},
"errors": {},
"errorDetails": [
{
"field": "panNumber",
"message": "Required field is missing"
}
]
}
