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

# Netopia Redirect

> Handle the customer redirect after Netopia checkout and trigger fulfilment workflows.

## Method

`GET` `/v1/integrations/netopia/redirect`

## Query Parameters

<ParamField query="orderID" type="string">Netopia order identifier (Voyant `paymentId`).</ParamField>
<ParamField query="status" type="number">Netopia status code (`3`/`5` indicate success).</ParamField>
<ParamField query="ntpID" type="string">Netopia transaction ID.</ParamField>
<ParamField query="message" type="string">Optional status message shown to the traveller.</ParamField>

## Request Example

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.voyantcloud.com/v1/integrations/netopia/redirect?orderID=ORDER-20250301-0001&status=3&ntpID=9876543210" \
    -H "Accept: application/json"
  ```

  ```javascript Node.js theme={null}
  const res = await fetch(
    "https://api.voyantcloud.com/v1/integrations/netopia/redirect?orderID=ORDER-20250301-0001&status=3",
  )
  console.log(res.url) // Redirects to configured web app (e.g. https://app.voyantcloud.com/payments/result)
  ```

  ```python Python theme={null}
  import requests

  resp = requests.get(
    "https://api.voyantcloud.com/v1/integrations/netopia/redirect",
    params={"orderID": "ORDER-20250301-0001", "status": 3},
    allow_redirects=False,
  )
  print(resp.status_code, resp.headers.get("Location"))
  ```
</RequestExample>

## Behaviour

* Logs the redirect payload and updates the associated payment session (`confirmed` for success, `failed` otherwise).
* Inserts a captured payment record when successful and triggers the `payments.payment_success_orchestrator` workflow (contracts, invoices, notifications).
* Redirects the customer to the web application result page (defaults to `PUBLIC_WEB_URL`/`DASH_BASE_URL`).

<Tip>This endpoint is public—ensure your web app validates the query parameters it receives before displaying success or failure messaging.</Tip>
