Skip to main content

HTTP Error Codes (Onboarding API)

HTTP CodeStatusDescription
400Bad RequestRequest body or parameters failed validation. Check errorDetails array for field-level details.
401UnauthorizedAuthentication failed. The x-gl-auth or x-gl-digest header is missing, invalid, or the digest does not match.
403ForbiddenThe onboardingId exists but does not belong to the authenticated partner.
404Not FoundThe onboardingId does not exist.
500Internal Server ErrorUnexpected server error. Retry with exponential backoff. Contact support with the gid if it persists.

Common Error Scenarios by Endpoint (Onboarding API)

All Endpoints

ScenarioCode
onboardingId does not exist404
onboardingId belongs to another partner403
Invalid or missing x-gl-auth401
Invalid or missing x-gl-digest401

Create Onboarding

ScenarioCode
externalOnboardingId or panNumber missing400
Invalid field format400
PAN type not one of P, C, T, F400
PAN already exists in PayGlocal400
PAN does not exist (invalid PAN)400

Update Business Details

ScenarioCode
Required fields missing400
Update attempted after T&C acknowledged400

Add / Update Beneficial Owner

ScenarioCode
Required fields missing400
PAN is not a personal PAN (type P)400
Update attempted after verification complete400

Update Bank Details

ScenarioCode
Required fields missing400
Penny drop verification fails400
Update attempted after verification complete400

Update Authorised Signatory

ScenarioCode
PAN validation failed400
Update attempted after T&C acknowledged400

Trigger Verification

ScenarioCode
Called before all onboarding steps are complete400

Error Response Structure

All error responses follow this structure:
{
  "gid": "gl_9c2645ed09edb22e",
  "timestamp": "10/01/2026 15:00:00",
  "reasonCode": "VALIDATION_ERROR",
  "data": {},
  "errors": {},
  "errorDetails": [
    {
      "field": "panNumber",
      "message": "Required field is missing"
    }
  ]
}
Always inspect errorDetails for field-level context on 400 errors.

PayGlocal Reason Codes (Payment APIs)

HTTP 201 — Transaction Responses

Reason CodeMessage
GL-201-000Transaction Created Successfully
GL-201-001Sent for capture successfully
GL-201-002Redirected to ACS form
GL-201-003Refund request sent successfully
GL-201-004Transaction partially approved
GL-201-005AVS Failed but issuer approved authorization
GL-201-006CVV Failed
GL-201-007Card expired. Request another card.
GL-201-008Processor Error
GL-201-009Insufficient funds
GL-201-010Lost or stolen card
GL-201-011Issuer down
GL-201-012Unauthorized card or payment not allowed by issuer
GL-201-013CVV mismatch
GL-201-014Payment exceeds limit on card
GL-201-015General Decline
GL-201-016Customer is blacklisted by issuer
GL-201-017Payment refused by the issuer
GL-201-018Payment refused by the issuer
GL-201-019Card account is found invalid
GL-201-020Authentication by customer failed
GL-201-021Merchant configuration incorrect — contact PayGlocal support
GL-201-022Declined by Risk system
GL-201-023Payment authentication failure
GL-201-500Declined by System

HTTP 400 — Client Request Errors

Reason CodeMessage
GL-400-001Declined by System
GL-400-002Request contains invalid data
GL-400-003Request missing merchantTxnID
GL-400-004Card type not enabled for this MID
GL-400-006Amount mismatch with original transaction
GL-400-007Card type is not valid
GL-400-999Transaction not found

HTTP 501 — Server / System Errors

Reason CodeMessage
GL-501-000Declined by System
GL-501-001Declined by System

Authentication Error Checklist (401)

If you receive a 401 Unauthorized:
  1. The x-gl-auth header must match your API Key exactly.
  2. The digest must be computed using the API Secret, not the API Key.
  3. For POST/PUT: digest over the exact raw request body byte-for-byte.
  4. For GET: digest over the full request URL including protocol and path.
  5. Output must be Base64-encoded — not hex.
See Authentication for code examples.

Common Decline Actions

CodeMessageRecommended Action
GL-201-007Card expiredAsk customer to use another card
GL-201-009Insufficient fundsAsk for another payment method
GL-201-010Lost/stolen cardDo not retry
GL-201-015General DeclineVerify customer identity; ask for another card
GL-201-022Declined by RiskCheck customer profile; confirm identity
GL-400-002Invalid dataFix request field values and retry
GL-400-004Card type not enabledContact PayGlocal to enable for your MID
GL-501-000System errorRetry with exponential backoff

Authentication

Fix 401 errors — full HMAC signing reference.

Get Status Service

Full list of transaction status values and what to do for each.