> For the complete documentation index, see [llms.txt](https://ninjapay.gitbook.io/ninjapay-api-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ninjapay.gitbook.io/ninjapay-api-docs/how-to/api-reference-p2p/plugins/payment-links-p2p/check-payment.md).

# Check Payment

Check the status of a particular payment using the transaction ID.

#### **Method**

```

GET https://prod.ninjapay.me/uapi/v1/p2p/paymentLink/checkPayment

```

#### **Parameters**

**`tid: int`** // the transaction ID of the payment request.

#### Response

```jsx
   {
      "tid": "A198660213997",
      "payment_mode": "upi",
      "payment_mode_type": "primary",
      "utr": "278917658915", // UTR added by the payer/customer upon 
      "amount": 120.10,
      "amount_currency": "INR",
      "payer_info": "+917337557707", // email or phone number of the payer/customer
      "purpose": "sample_description",
      "created_at": 1661215876,
      "status": "pending", // pending, approved, declined status's by admin or merchant
      "callback_url": "https://yourwebhook.com",
      "callback_status": 200, // 200, 400, ... only triggers after payment
      "success_url": "https://yoursuccessurl.com",
      "hosted_checkout_url": "https://bit.ly/3H24Msg",
      "order_id": "210",
      "extra": {
          "name": "nakamoto",
          "email": "sample@sample.com"
      },
      "upi_info": {
          "upi_id": "merchantupi@icici", // null if payment_mode is bank
      },
      "bank_info": {
          "account_number": 001001553534,
          "name": "Nanda Neeraj",
          "ifsc": "icic0000060",
          "bank_name": "icici",
          "address": "vizag, dwarakanagar branch, 530024",
          "swift": "merchantupi@icici"
      },
      "other_info": {
          "paytm": "mypaytmid"
      }
       "total_fee": {
          "network_fee": null,
          "service_fee": null,
          "gst_fee": null
      }
  }
```

#### **Code Example**

```jsx

const options = {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
    Authorization: 'API_KEY'
  },
  body: '{"tid": "21066027789"}'
};

fetch('https://prod.ninjapay.me/uapi/v1/p2p/paymentLink/checkPayment', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
  
```

If the payment status is Pending, then Check Status API should be called in the following interval: \
The first status check at 20-25 seconds post transaction start, then \
Every 3 seconds once for the next 30 seconds, \
Every 6 seconds once for the next 60 seconds, \
Every 10 seconds for the next 60 seconds, \
Every 30 seconds for the next 60 seconds, and then \
Every 1 min until timeout (10 mins).
