Get Payins
API to retrieve the pay-in (fund deposit) transactions for the authenticated user. It returns details such as amount, payment mode, current status, bank name, transaction ID, and applicable charges. The response includes the most recent 20 transactions.
Request
curl --location 'https://api.upstox.com/v2/user/payments/payin' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'
Additional samples in various languages are available in the Sample Code section on this page.
Responses
- 200
- 400
Response Body
{
"status": "success",
"data": [
{
"amount": 16995.00,
"mode": "NEFT",
"status": "SUCCESS",
"last_updated_at": "2026-04-19 16:35:36",
"bank_name": "AXIS BANK",
"transaction_id": "qws_0426_9680091",
"reason": "",
"total_charges": 23.60,
"charges_category": "BASIC"
},
{
"amount": 5000.00,
"mode": "UPI",
"status": "PENDING",
"last_updated_at": "2026-04-19 12:30:00",
"bank_name": "HDFC BANK",
"transaction_id": "upi_0426_1234567",
"reason": "",
"total_charges": 0.00,
"charges_category": "BASIC"
}
]
}
| Name | Type | Description |
|---|---|---|
| status | string | Outcome of the request. |
| data | array | List of pay-in transaction records. |
| data[].amount | number | Transaction amount in rupees. |
| data[].mode | string | Payment mode. For e.g. NET_BANKING, UPI, QR, NEFT etc. |
| data[].status | string | Current status of the pay-in. One of SUCCESS, FAILED, PENDING, CANCELLED. |
| data[].last_updated_at | string | Date and time of the last status update in yyyy-MM-dd HH:mm:ss format. |
| data[].bank_name | string | Name of the bank associated with the transaction. |
| data[].transaction_id | string | Unique identifier for the transaction. |
| data[].reason | string | Reason message when a transaction fails or is cancelled. |
| data[].total_charges | number | Total charges levied for the transaction in rupees. |
| data[].charges_category | string | Charges plan category. One of BASIC, PLUS in case of Net Banking and Instant Transfers. |
Error codes
Errors follow the standard API error format. Ensure the request is authenticated.
Sample Code
Get payins
- Python
- Node.js
- Java
- PHP
import requests
url = 'https://api.upstox.com/v2/user/payments/payin'
headers = {
'accept': 'application/json',
'Authorization': 'Bearer {your_access_token}',
}
print(requests.get(url, headers=headers).json())
const axios = require('axios');
axios.get('https://api.upstox.com/v2/user/payments/payin', {
headers: {
accept: 'application/json',
Authorization: 'Bearer {your_access_token}',
},
}).then(r => console.log(r.data));
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://api.upstox.com/v2/user/payments/payin"))
.header("accept", "application/json")
.header("Authorization", "Bearer {your_access_token}")
.GET()
.build();
System.out.println(HttpClient.newHttpClient().send(req, HttpResponse.BodyHandlers.ofString()).body());
}
}
<?php
$url = 'https://api.upstox.com/v2/user/payments/payin';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'accept: application/json',
'Authorization: Bearer {your_access_token}',
]);
echo curl_exec($ch);
curl_close($ch);
Loading...