v1

latestOpenAPI 3.0.32026-07-26206388.3 KB
Payment

PayDirect on-demand SI — register mandate (request body)

Endpoint: POST /gl/v1/payments/initiate — same URL for GPI, on-demand SI, auto-debit, and authorize; only the request body differs.

For merchants with on-demand SI enabled on PayGlocal. International cards only. Request body includes standingInstruction.data (no captureTxn).

post/gl/v1/payments/initiate

Request body

merchantTxnIdstring required

Merchant's unique transaction identifier. Alphanumeric only.

merchantUniqueIdstring

Optional stable merchant-side ID for idempotency and reconciliation. Alphanumeric only.

merchantCallbackURLstring uri required

Customers are redirected here post payment completion.

Example request

{
  "merchantTxnId": "23AEE8CB6B62EE2AF07",
  "merchantUniqueId": "IFNN939494NJFJ",
  "riskData": {
    "customerData": {
      "merchantAssignedCustomerId": "cust_12345"
    },
    "shippingData": {
      "addressCountry": "IND"
    },
    "flightData": [
      {
        "reservationCode": "NQM2SR",
        "legData": [
          {
            "flightNumber": "AI202",
            "departureAirportCode": "AUH",
            "departureDate": "20230905",
            "arrivalAirportCode": "BLR",
            "carrierCode": "AI"
          }
        ],
        "passengerData": [
          {
            "firstName": "Sam",
            "lastName": "Thomas",
            "email": "sam.thomas@example.com"
          }
        ]
      }
    ]
  },
  "merchantCallbackURL": "https://api.prod.payglocal.in/gl/v1/payments/merchantCallback",
  "paymentData": {
    "totalAmount": "100.00",
    "txnCurrency": "INR",
    "billingData": {
      "firstName": "John",
      "lastName": "Doe",
      "emailId": "john.doe@example.com",
      "callingCode": "+91",
      "phoneNumber": "9999999999",
      "addressStreet1": "221B Baker Street",
      "addressCity": "Bengaluru",
      "addressState": "Karnataka",
      "addressStateCode": "KA",
      "addressPostalCode": "560001",
      "addressCountry": "IND"
    },
    "cardData": {
      "number": "4111111111111111",
      "expiryMonth": "12",
      "expiryYear": "2030",
      "securityCode": "123",
      "type": "VISA"
    }
  },
  "standingInstruction": {
    "data": {
      "maxAmount": "15000",
      "amount": "15000",
      "numberOfPayments": "N"
    }
  }
}

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.

gidstring

PayGlocal transaction ID. Use for status, capture, and refund APIs.

statusstring

High-level status. Typically INPROGRESS immediately after initiate.

messagestring

Human-readable status message.

timestampstring

Response timestamp (DD/MM/YYYY HH:MM:SS).

reasonCodestring

Success code on initiate (e.g. 200). See 4xx responses for error codes.

errorsobject nullable

null on success.

Example response

{
  "gid": "gl_o-a057c4d6b6c620741apzp0ZX2",
  "status": "INPROGRESS",
  "message": "Transaction Created Successfully",
  "timestamp": "02/06/2026 21:47:33",
  "reasonCode": "200",
  "data": {
    "redirectUrl": "https://api.uat.payglocal.in/gl/payflow-ui/?x-gl-token=example",
    "statusUrl": "https://api.uat.payglocal.in/gl/v1/payments/gl_o-a057c4d6b6c620741apzp0ZX2/status?x-gl-token=example",
    "merchantTxnId": "23AEE8CB6B62EE2AF07",
    "mandateId": "md_925996a0-9da6-42df-b968-8a14729885fd"
  }
}