> ## Documentation Index
> Fetch the complete documentation index at: https://docs.payglocal.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Payload Templates

> Ready-to-use request payloads for every PayGlocal API — select, copy, and integrate.

All payloads below are valid, copy-ready JSON. Select the tab matching your use case, copy the payload, and adapt the values to your integration. Every payload includes `merchantUniqueId` — a required field for all requests.

***

## 1. Payment Initiation Payloads

Payloads for initiating a one-time payment via PayGlocal. Select your merchant category to see the matching payload.

<div className="not-prose payg-tab-hint">
  <span className="payg-tab-hint-arrow">
    <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M10 3L5 8l5 5" />
    </svg>

    scroll
  </span>

  <span className="payg-tab-hint-arrow">
    scroll

    <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M6 3l5 5-5 5" />
    </svg>
  </span>
</div>

<Tabs>
  <Tab title="Minimum">
    The bare minimum fields required to initiate a payment. Use this as a starting point.

    ```
    POST /gl/v1/payments/initiate/paycollect
    ```

    ```json theme={null}
    {
      "merchantUniqueId": "IFNN939494NJFJ",
      "merchantTxnId": "23AEE8CB6B62EE2AF07",
      "paymentData": {
        "totalAmount": "15",
        "txnCurrency": "USD"
      },
      "merchantCallbackURL": "https://api.uat.payglocal.in/gl/v1/payments/merchantCallback"
    }
    ```
  </Tab>

  <Tab title="Ecommerce / Shipping">
    For stores that ship physical goods. Includes billing and shipping address data.

    ```
    POST /gl/v1/payments/initiate/paycollect
    ```

    ```json theme={null}
    {
      "merchantUniqueId": "IFNN939494NJFJ",
      "merchantTxnId": "23AEE8CB6B62EE2AF07",
      "paymentData": {
        "totalAmount": "15",
        "txnCurrency": "USD",
        "billingData": {
          "firstName": "John",
          "lastName": "Denver",
          "addressStreet1": "Test123",
          "addressStreet2": "Punctuality lane",
          "addressCity": "Bangalore",
          "addressState": "Karnataka",
          "addressPostalCode": "560094",
          "addressCountry": "IN",
          "emailId": "johndenver@myemail.com"
        }
      },
      "riskData": {
        "shippingData": {
          "firstName": "John",
          "lastName": "Denver",
          "addressStreet1": "Test123",
          "addressStreet2": "Punctuality lane",
          "addressCity": "Bangalore",
          "addressState": "Karnataka",
          "addressPostalCode": "560094",
          "addressCountry": "IN",
          "emailId": "johndenver@myemail.com",
          "callingCode": "+91",
          "phoneNumber": "9008018469"
        }
      },
      "merchantCallbackURL": "https://api.uat.payglocal.in/gl/v1/payments/merchantCallback"
    }
    ```
  </Tab>

  <Tab title="SaaS / Service">
    For digital products or services where no shipping address is needed.

    ```
    POST /gl/v1/payments/initiate/paycollect
    ```

    ```json theme={null}
    {
      "merchantUniqueId": "IFNN939494NJFJ",
      "merchantTxnId": "23AEE8CB6B62EE2AF07",
      "paymentData": {
        "totalAmount": "15",
        "txnCurrency": "USD",
        "billingData": {
          "firstName": "John",
          "lastName": "Denver",
          "addressStreet1": "Test123",
          "addressStreet2": "Punctuality lane",
          "addressCity": "Bangalore",
          "addressState": "Karnataka",
          "addressPostalCode": "560094",
          "addressCountry": "IN",
          "emailId": "johndenver@myemail.com"
        }
      },
      "merchantCallbackURL": "https://api.uat.payglocal.in/gl/v1/payments/merchantCallback"
    }
    ```
  </Tab>

  <Tab title="Flight — One Way">
    For one-way flight bookings. Includes passenger and leg data.

    ```
    POST /gl/v1/payments/initiate/paycollect
    ```

    ```json theme={null}
    {
      "merchantUniqueId": "IFNN939494NJFJ",
      "merchantTxnId": "23AEE8CB6B62EE2AF07",
      "paymentData": {
        "totalAmount": "101",
        "txnCurrency": "INR",
        "billingData": {
          "firstName": "Sam",
          "lastName": "Thomas",
          "addressStreet1": "Apartment 9B, 235 East, 43rd Street",
          "addressCity": "New York",
          "addressState": "New York",
          "addressCountry": "US",
          "emailId": "sam.thomas@gmail.com"
        }
      },
      "riskData": {
        "flightData": [
          {
            "journeyType": "ONEWAY",
            "ticketNumber": "ticket12345",
            "reservationDate": "20251201",
            "legData": [
              {
                "routeId": "1",
                "legId": "1",
                "flightNumber": "flight123",
                "departureAirportCode": "AUH",
                "departureCity": "Abu Dhabi",
                "departureCountry": "AE",
                "departureDate": "2023-03-20T09:01:56Z",
                "arrivalAirportCode": "BLR",
                "arrivalCity": "Bangalore",
                "arrivalCountry": "IN",
                "arrivalDate": "2023-03-21T09:01:56Z",
                "carrierCode": "AAL",
                "airlineServiceClass": "ECONOMY"
              }
            ],
            "passengerData": [
              {
                "firstName": "Sam",
                "lastName": "Thomas"
              }
            ]
          }
        ]
      },
      "merchantCallbackURL": "https://api.uat.payglocal.in/gl/v1/payments/merchantCallback"
    }
    ```
  </Tab>

  <Tab title="Flight — Return">
    For round-trip bookings with multiple legs and passengers.

    ```
    POST /gl/v1/payments/initiate/paycollect
    ```

    ```json theme={null}
    {
      "merchantUniqueId": "IFNN939494NJFJ",
      "merchantTxnId": "23AEE8CB6B62EE2AF08",
      "paymentData": {
        "totalAmount": "2902",
        "txnCurrency": "INR",
        "billingData": {
          "firstName": "Roy",
          "lastName": "Thomas",
          "addressStreet1": "Apartment 9B, 235 East, 43rd Street",
          "addressCity": "New York",
          "addressState": "New York",
          "addressCountry": "US",
          "emailId": "sam.thomas@gmail.com"
        }
      },
      "riskData": {
        "billingData": {
          "emailId": "sam.thomas@gmail.com"
        },
        "flightData": [
          {
            "journeyType": "RETURN",
            "ticketNumber": "ticket56789",
            "reservationDate": "20250601",
            "legData": [
              {
                "routeId": "1",
                "legId": "1",
                "flightNumber": "NY123",
                "departureAirportCode": "JFK",
                "departureCity": "New York",
                "departureCountry": "US",
                "departureDate": "2024-06-10T08:00:00Z",
                "arrivalAirportCode": "AUH",
                "arrivalCity": "Abu Dhabi",
                "arrivalCountry": "AE",
                "arrivalDate": "2024-06-10T20:00:00Z",
                "carrierCode": "AAL",
                "airlineServiceClass": "ECONOMY"
              },
              {
                "routeId": "1",
                "legId": "2",
                "flightNumber": "AUH456",
                "departureAirportCode": "AUH",
                "departureCity": "Abu Dhabi",
                "departureCountry": "AE",
                "departureDate": "2024-06-11T02:00:00Z",
                "arrivalAirportCode": "BLR",
                "arrivalCity": "Bangalore",
                "arrivalCountry": "IN",
                "arrivalDate": "2024-06-11T08:00:00Z",
                "carrierCode": "AAL",
                "airlineServiceClass": "ECONOMY"
              },
              {
                "routeId": "2",
                "legId": "1",
                "flightNumber": "BLR789",
                "departureAirportCode": "BLR",
                "departureCity": "Bangalore",
                "departureCountry": "IN",
                "departureDate": "2024-06-20T10:00:00Z",
                "arrivalAirportCode": "AUH",
                "arrivalCity": "Abu Dhabi",
                "arrivalCountry": "AE",
                "arrivalDate": "2024-06-20T16:00:00Z",
                "carrierCode": "AAL",
                "airlineServiceClass": "ECONOMY"
              },
              {
                "routeId": "2",
                "legId": "2",
                "flightNumber": "AUH321",
                "departureAirportCode": "AUH",
                "departureCity": "Abu Dhabi",
                "departureCountry": "AE",
                "departureDate": "2024-06-21T00:00:00Z",
                "arrivalAirportCode": "JFK",
                "arrivalCity": "New York",
                "arrivalCountry": "US",
                "arrivalDate": "2024-06-21T10:00:00Z",
                "carrierCode": "AAL",
                "airlineServiceClass": "ECONOMY"
              }
            ],
            "passengerData": [
              { "firstName": "Sam", "lastName": "Thomas" },
              { "firstName": "John", "lastName": "Denver" }
            ]
          }
        ]
      },
      "merchantCallbackURL": "https://api.uat.payglocal.in/gl/v1/payments/merchantCallback"
    }
    ```
  </Tab>

  <Tab title="Hotel Booking">
    For hotel reservations. Includes lodging check-in/check-out and property details.

    ```
    POST /gl/v1/payments/initiate/paycollect
    ```

    ```json theme={null}
    {
      "merchantUniqueId": "IFNN939494NJFJ",
      "merchantTxnId": "TXN_1756806272401",
      "paymentData": {
        "totalAmount": "12000.00",
        "txnCurrency": "INR"
      },
      "merchantCallbackURL": "https://your-domain.com/callback",
      "riskData": {
        "lodgingData": [
          {
            "checkInDate": "20250104",
            "checkOutDate": "20250106",
            "city": "Mumbai",
            "country": "IN",
            "lodgingType": "Hotel",
            "lodgingName": "Lake View",
            "rating": "4",
            "cancellationPolicy": "NC"
          }
        ]
      }
    }
    ```
  </Tab>

  <Tab title="Cab Booking">
    For cab or ride-hailing bookings with pickup leg data and passenger info.

    ```
    POST /gl/v1/payments/initiate/paycollect
    ```

    ```json theme={null}
    {
      "merchantUniqueId": "IFNN939494NJFJ",
      "merchantTxnId": "1756728697873338303",
      "captureTxn": false,
      "paymentData": {
        "totalAmount": "117800.00",
        "txnCurrency": "INR"
      },
      "riskData": {
        "cabData": [
          {
            "legData": [
              {
                "routeId": "1",
                "legId": "1",
                "pickupDate": "2023-03-20T09:01:56Z"
              }
            ],
            "passengerData": [
              {
                "firstName": "Sam",
                "lastName": "Thomas"
              }
            ]
          }
        ]
      },
      "merchantCallbackURL": "https://api.uat.payglocal.in/gl/v1/payments/merchantCallback"
    }
    ```
  </Tab>

  <Tab title="Train Booking">
    For train ticket bookings with departure/arrival city and passenger details.

    ```
    POST /gl/v1/payments/initiate/paycollect
    ```

    ```json theme={null}
    {
      "merchantUniqueId": "IFNN939494NJFJ",
      "merchantTxnId": "1756728697873338303",
      "captureTxn": false,
      "paymentData": {
        "totalAmount": "117800.00",
        "txnCurrency": "INR"
      },
      "riskData": {
        "trainData": [
          {
            "ticketNumber": "ticket12346",
            "reservationDate": "20230220",
            "legData": [
              {
                "routeId": "1",
                "legId": "1",
                "trainNumber": "train123",
                "departureCity": "Kannur",
                "departureCountry": "IN",
                "departureDate": "2023-03-20T09:01:56Z",
                "arrivalCity": "Coimbatore",
                "arrivalCountry": "IN",
                "arrivalDate": "2023-03-21T09:01:56Z"
              }
            ],
            "passengerData": [
              {
                "firstName": "Sam",
                "lastName": "Thomas",
                "dateOfBirth": "19980320",
                "passportCountry": "IN"
              }
            ]
          }
        ]
      },
      "merchantCallbackURL": "https://api.uat.payglocal.in/gl/v1/payments/merchantCallback"
    }
    ```
  </Tab>
</Tabs>

***

## 2. Standing Instruction (SI) Payloads

Payloads for creating and managing recurring payment mandates.

<div className="not-prose payg-tab-hint">
  <span className="payg-tab-hint-arrow">
    <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M10 3L5 8l5 5" />
    </svg>

    scroll
  </span>

  <span className="payg-tab-hint-arrow">
    scroll

    <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M6 3l5 5-5 5" />
    </svg>
  </span>
</div>

<Tabs>
  <Tab title="SI Initiate — Fixed">
    Creates a mandate with a fixed recurring amount auto-debited on a schedule.

    ```
    POST /gl/v1/payments/initiate/paycollect
    ```

    ```json theme={null}
    {
      "merchantUniqueId": "IFNN939494NJFJ",
      "merchantTxnId": "23AEE8CB6B62EE2AF07",
      "paymentData": {
        "totalAmount": "89",
        "txnCurrency": "USD"
      },
      "standingInstruction": {
        "data": {
          "amount": "89",
          "numberOfPayments": "12",
          "frequency": "MONTHLY",
          "type": "FIXED",
          "startDate": "20260601"
        }
      },
      "merchantCallbackURL": "https://www.yoursite.com/callback"
    }
    ```
  </Tab>

  <Tab title="SI Initiate — Variable">
    Creates a mandate where you trigger each charge manually with a variable amount.

    ```
    POST /gl/v1/payments/initiate/paycollect
    ```

    ```json theme={null}
    {
      "merchantUniqueId": "IFNN939494NJFJ",
      "merchantTxnId": "23AEE8CB6B62EE2AF07",
      "paymentData": {
        "totalAmount": "500.00",
        "txnCurrency": "INR"
      },
      "standingInstruction": {
        "data": {
          "type": "VARIABLE",
          "frequency": "ONDEMAND",
          "numberOfPayments": "999",
          "maxAmount": "5000.00"
        }
      },
      "merchantCallbackURL": "https://yourwebsite.com/callback"
    }
    ```
  </Tab>

  <Tab title="SI On-Demand Sale">
    Triggers a manual deduction against an existing Variable SI mandate.

    ```
    POST /gl/v1/payments/si/sale
    ```

    ```json theme={null}
    {
      "merchantUniqueId": "IFNN939494NJFJ",
      "merchantTxnId": "SALE-23AEE8CB6B62EE2AF07",
      "paymentData": {
        "totalAmount": "89"
      },
      "standingInstruction": {
        "mandateId": "md_94f0bb40-2664-4851-ab83-b86c618d3e15"
      }
    }
    ```
  </Tab>

  <Tab title="SI Status Check">
    Query the current status and details of an existing mandate.

    ```
    POST /gl/v1/payments/si/status
    ```

    ```json theme={null}
    {
      "merchantTxnId": "STATUS-23AEE8CB6B62EE2AF07",
      "standingInstruction": {
        "mandateId": "md_c87fcf0a-a62c-4dae-b001-ee69fee587c3"
      }
    }
    ```
  </Tab>

  <Tab title="SI Pause">
    Temporarily suspends a mandate — stops deductions without cancelling it.

    ```
    PUT /gl/v1/payments/si/status
    ```

    ```json theme={null}
    {
      "merchantTxnId": "PAUSE-23AEE8CB6B62EE2AF07",
      "standingInstruction": {
        "action": "PAUSE",
        "mandateId": "md_94f0bb40-2664-4851-ab83-b86c618d3e15"
      }
    }
    ```
  </Tab>

  <Tab title="SI Activate">
    Resumes a paused mandate and restarts recurring charges.

    ```
    PUT /gl/v1/payments/si/status
    ```

    ```json theme={null}
    {
      "merchantTxnId": "ACTIVATE-23AEE8CB6B62EE2AF07",
      "standingInstruction": {
        "action": "ACTIVATE",
        "mandateId": "md_94f0bb40-2664-4851-ab83-b86c618d3e15"
      }
    }
    ```
  </Tab>

  <Tab title="SI Cancel">
    Permanently revokes a mandate. This cannot be undone.

    ```
    PUT /gl/v1/payments/si/status
    ```

    ```json theme={null}
    {
      "merchantTxnId": "REVOKE-23AEE8CB6B62EE2AF07",
      "standingInstruction": {
        "action": "REVOKE",
        "mandateId": "md_94f0bb40-2664-4851-ab83-b86c618d3e15"
      }
    }
    ```
  </Tab>
</Tabs>

***

## 3. Auth & Capture Payloads

Payloads for hold-and-capture payment flows — authorize first, collect later.

<div className="not-prose payg-tab-hint">
  <span className="payg-tab-hint-arrow">
    <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M10 3L5 8l5 5" />
    </svg>

    scroll
  </span>

  <span className="payg-tab-hint-arrow">
    scroll

    <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M6 3l5 5-5 5" />
    </svg>
  </span>
</div>

<Tabs>
  <Tab title="Auth Initiation">
    Holds funds on the customer's card without charging. Use `isAuthPayment: true`.

    ```
    POST /gl/v1/payments/initiate
    ```

    ```json theme={null}
    {
      "merchantTxnId": "AUTH_TXN_20250122_001",
      "paymentData": {
        "totalAmount": "1000.00",
        "txnCurrency": "INR"
      },
      "captureTxn": false,
      "merchantCallbackURL": "https://yourwebsite.com/callback"
    }
    ```
  </Tab>

  <Tab title="Full Capture">
    Captures the full authorized amount. Use the `gid` returned from the auth response.

    ```
    POST /gl/v1/payments/{gid}/capture
    ```

    ```json theme={null}
    {
      "merchantTxnId": "CAP-23AEE8CB6B62EE2AF07"
    }
    ```
  </Tab>

  <Tab title="Partial Capture">
    Captures a specific amount less than what was authorized. The remainder is released.

    ```
    POST /gl/v1/payments/{gid}/capture
    ```

    ```json theme={null}
    {
      "merchantTxnId": "CAP-23AEE8CB6B62EE2AF07-1",
      "paymentData": {
        "totalAmount": "60.00"
      }
    }
    ```
  </Tab>

  <Tab title="Auth Reversal">
    Cancels the authorization and releases the held funds. Only possible before capture.

    ```
    POST /gl/v1/payments/{gid}/reversal
    ```

    ```json theme={null}
    {
      "merchantTxnId": "REV-23AEE8CB6B62EE2AF07"
    }
    ```
  </Tab>
</Tabs>

***

## 4. Status & Refund Payloads

Payloads for checking transaction status and initiating refunds.

<div className="not-prose payg-tab-hint">
  <span className="payg-tab-hint-arrow">
    <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M10 3L5 8l5 5" />
    </svg>

    scroll
  </span>

  <span className="payg-tab-hint-arrow">
    scroll

    <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M6 3l5 5-5 5" />
    </svg>
  </span>
</div>

<Tabs>
  <Tab title="Status Check">
    Query the real-time status of any transaction using its `gid`.

    ```
    GET /gl/v1/payments/{gid}/status
    ```

    No request body required. Pass the `gid` as a path parameter.

    ```
    GET https://api.uat.payglocal.in/gl/v1/payments/gl-13bbd3c4-9817-4786-96c6-12fa6191f118/status
    ```
  </Tab>

  <Tab title="Full Refund">
    Refunds the entire captured amount. Only possible on `SENT_FOR_CAPTURE` transactions.

    ```
    POST /gl/v1/payments/{gid}/refund
    ```

    ```json theme={null}
    {
      "merchantUniqueId": "IFNN939494NJFJ",
      "merchantTxnId": "REFUND-23AEE8CB6B62EE2AF07",
      "refundType": "F"
    }
    ```
  </Tab>

  <Tab title="Partial Refund">
    Refunds a specific amount. Multiple partial refunds are allowed until the full amount is returned.

    ```
    POST /gl/v1/payments/{gid}/refund
    ```

    ```json theme={null}
    {
      "merchantUniqueId": "IFNN939494NJFJ",
      "merchantTxnId": "REFUND-23AEE8CB6B62EE2AF07-1",
      "refundType": "P",
      "paymentData": {
        "totalAmount": "25.00"
      }
    }
    ```
  </Tab>
</Tabs>

***

## About `merchantCallbackURL`

Every payment initiation payload contains a field called `merchantCallbackURL`. Once the transaction is processed at PayGlocal, the transaction response is sent to this URL using a **server-to-server POST request**. Merchants are required to create and expose a backend endpoint capable of receiving and handling this response. Based on the received transaction status, merchants can redirect customers to success or failure pages and update their internal order status accordingly.

<CardGroup cols={2}>
  <Card title="Response Handling Guide" icon="arrow-right-from-bracket" href="/merchant/payment-response-handling">
    Learn how to receive, decode, and act on the PayGlocal callback response.
  </Card>

  <Card title="Node.js Implementation" icon="node-js" href="/api-reference/callback-handling">
    Complete working code for your `merchantCallbackURL` endpoint.
  </Card>

  <Card title="Payment Flow" icon="shield" href="/merchant/payment-flow">
    How payloads are encrypted and signed before being sent to PayGlocal.
  </Card>

  <Card title="API Reference" icon="book" href="/api-reference/payments-v2/paycollect/overview">
    Full field-level documentation for every endpoint.
  </Card>
</CardGroup>
