Check Payment Status

Poll the live status of an order by its order_id.

GET /api/paylater/merchant-portal/v2/web-checkout/status
Sandbox https://connect.uat.paylaterapp.com/api/paylater/merchant-portal/v2/web-checkout/status
Production https://connect.paylaterapp.com/api/paylater/merchant-portal/v2/web-checkout/status
Authentication

All requests require a bearer token from the OAuth 2.0 token endpoint. Pass it as Authorization: Bearer <ACCESS_TOKEN>.

Request

Headers

HeaderValue
AuthorizationBearer <ACCESS_TOKEN>
Query parameters
order_idStringrequired
Unique order ID.

Example request

curl --location 'https://connect.uat.paylaterapp.com/api/paylater/merchant-portal/v2/web-checkout/status?order_id=000072152' \
  --header 'Authorization: Bearer <ACCESS_TOKEN>'
const res = await fetch(
  'https://connect.uat.paylaterapp.com/api/paylater/merchant-portal/v2/web-checkout/status?order_id=000072152',
  {
    method: 'GET',
    headers: {
      Authorization: `Bearer ${accessToken}`,
    },
  },
);

const status = await res.json();
import requests

resp = requests.get(
    "https://connect.uat.paylaterapp.com/api/paylater/merchant-portal/v2/web-checkout/status",
    headers={
        "Authorization": f"Bearer {access_token}",
    },
    params={
        "order_id": "000072152",
    },
)

status = resp.json()
$ch = curl_init('https://connect.uat.paylaterapp.com/api/paylater/merchant-portal/v2/web-checkout/status?order_id=000072152');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $accessToken,
    ],
]);

$status = json_decode(curl_exec($ch), true);

Response

The response reflects the current state of the order. The status field is the canonical indicator — see Status codes below.

{
  "message": "Order not initiated",
  "status": 0
}
{
  "payLaterOrderId": "PL1744792493935483",
  "message": "pending",
  "merchantReference": "000072152",
  "status": 1
}
{
  "payLaterOrderId": "PL1744792493935483",
  "message": "success",
  "merchantReference": "000072152",
  "status": 2
}
{
  "payLaterOrderId": "PL1744792493935483",
  "message": "failed",
  "merchantReference": "000072152",
  "status": 3
}

Status codes

statusMeaning
0Customer did not proceed
1Pending
2Success
3Failed

Errors

{
  "error": "Order ID is required"
}
Prefer webhooks

For production, subscribe to webhooks instead of tight polling.