Skip to main content
POST
/
pg
/
lrs
/
verify
/
Submit a payment's LRS verification details
curl --request POST \
  --url https://api-pacb-uat.eximpe.com/pg/lrs/verify/ \
  --header 'Content-Type: application/json' \
  --header 'X-API-Version: <api-key>' \
  --header 'X-Client-ID: <api-key>' \
  --header 'X-Client-Secret: <api-key>' \
  --header 'X-Merchant-ID: <api-key>' \
  --data '
{
  "payment_id": "PAY_1a2b3c4d5e",
  "purpose_code": "S0305",
  "tcs_threshold_breached": false,
  "remitter": {
    "pan": "ABCDE1234F",
    "name": "John Doe",
    "dob": "1990-01-01",
    "relation": "SELF"
  },
  "invoice": {
    "number": "INV-2025-0091",
    "date": "2025-07-01",
    "amount": 1200000
  },
  "address": {
    "address1": "12 MG Road",
    "city": "Bengaluru",
    "state": "Karnataka",
    "pincode": "560001"
  },
  "contact": {
    "email": "[email protected]",
    "mobile": "9876543210"
  },
  "tcs": 4000,
  "declarations": {
    "resident_in_india": true,
    "lrs": true,
    "tcs": true,
    "source_of_funds": true
  },
  "documents": [
    {
      "type": "offer_letter",
      "ref": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d"
    },
    {
      "type": "fee_invoice",
      "ref": "b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e"
    }
  ]
}
'
import requests

url = "https://api-pacb-uat.eximpe.com/pg/lrs/verify/"

payload = {
"payment_id": "PAY_1a2b3c4d5e",
"purpose_code": "S0305",
"tcs_threshold_breached": False,
"remitter": {
"pan": "ABCDE1234F",
"name": "John Doe",
"dob": "1990-01-01",
"relation": "SELF"
},
"invoice": {
"number": "INV-2025-0091",
"date": "2025-07-01",
"amount": 1200000
},
"address": {
"address1": "12 MG Road",
"city": "Bengaluru",
"state": "Karnataka",
"pincode": "560001"
},
"contact": {
"email": "[email protected]",
"mobile": "9876543210"
},
"tcs": 4000,
"declarations": {
"resident_in_india": True,
"lrs": True,
"tcs": True,
"source_of_funds": True
},
"documents": [
{
"type": "offer_letter",
"ref": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d"
},
{
"type": "fee_invoice",
"ref": "b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e"
}
]
}
headers = {
"X-Client-ID": "<api-key>",
"X-Client-Secret": "<api-key>",
"X-Merchant-ID": "<api-key>",
"X-API-Version": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {
'X-Client-ID': '<api-key>',
'X-Client-Secret': '<api-key>',
'X-Merchant-ID': '<api-key>',
'X-API-Version': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
payment_id: 'PAY_1a2b3c4d5e',
purpose_code: 'S0305',
tcs_threshold_breached: false,
remitter: {pan: 'ABCDE1234F', name: 'John Doe', dob: '1990-01-01', relation: 'SELF'},
invoice: {number: 'INV-2025-0091', date: '2025-07-01', amount: 1200000},
address: {
address1: '12 MG Road',
city: 'Bengaluru',
state: 'Karnataka',
pincode: '560001'
},
contact: {email: '[email protected]', mobile: '9876543210'},
tcs: 4000,
declarations: {resident_in_india: true, lrs: true, tcs: true, source_of_funds: true},
documents: [
{type: 'offer_letter', ref: 'a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d'},
{type: 'fee_invoice', ref: 'b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e'}
]
})
};

fetch('https://api-pacb-uat.eximpe.com/pg/lrs/verify/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api-pacb-uat.eximpe.com/pg/lrs/verify/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'payment_id' => 'PAY_1a2b3c4d5e',
'purpose_code' => 'S0305',
'tcs_threshold_breached' => false,
'remitter' => [
'pan' => 'ABCDE1234F',
'name' => 'John Doe',
'dob' => '1990-01-01',
'relation' => 'SELF'
],
'invoice' => [
'number' => 'INV-2025-0091',
'date' => '2025-07-01',
'amount' => 1200000
],
'address' => [
'address1' => '12 MG Road',
'city' => 'Bengaluru',
'state' => 'Karnataka',
'pincode' => '560001'
],
'contact' => [
'email' => '[email protected]',
'mobile' => '9876543210'
],
'tcs' => 4000,
'declarations' => [
'resident_in_india' => true,
'lrs' => true,
'tcs' => true,
'source_of_funds' => true
],
'documents' => [
[
'type' => 'offer_letter',
'ref' => 'a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d'
],
[
'type' => 'fee_invoice',
'ref' => 'b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Version: <api-key>",
"X-Client-ID: <api-key>",
"X-Client-Secret: <api-key>",
"X-Merchant-ID: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api-pacb-uat.eximpe.com/pg/lrs/verify/"

payload := strings.NewReader("{\n \"payment_id\": \"PAY_1a2b3c4d5e\",\n \"purpose_code\": \"S0305\",\n \"tcs_threshold_breached\": false,\n \"remitter\": {\n \"pan\": \"ABCDE1234F\",\n \"name\": \"John Doe\",\n \"dob\": \"1990-01-01\",\n \"relation\": \"SELF\"\n },\n \"invoice\": {\n \"number\": \"INV-2025-0091\",\n \"date\": \"2025-07-01\",\n \"amount\": 1200000\n },\n \"address\": {\n \"address1\": \"12 MG Road\",\n \"city\": \"Bengaluru\",\n \"state\": \"Karnataka\",\n \"pincode\": \"560001\"\n },\n \"contact\": {\n \"email\": \"[email protected]\",\n \"mobile\": \"9876543210\"\n },\n \"tcs\": 4000,\n \"declarations\": {\n \"resident_in_india\": true,\n \"lrs\": true,\n \"tcs\": true,\n \"source_of_funds\": true\n },\n \"documents\": [\n {\n \"type\": \"offer_letter\",\n \"ref\": \"a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d\"\n },\n {\n \"type\": \"fee_invoice\",\n \"ref\": \"b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e\"\n }\n ]\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("X-Client-ID", "<api-key>")
req.Header.Add("X-Client-Secret", "<api-key>")
req.Header.Add("X-Merchant-ID", "<api-key>")
req.Header.Add("X-API-Version", "<api-key>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api-pacb-uat.eximpe.com/pg/lrs/verify/")
.header("X-Client-ID", "<api-key>")
.header("X-Client-Secret", "<api-key>")
.header("X-Merchant-ID", "<api-key>")
.header("X-API-Version", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"payment_id\": \"PAY_1a2b3c4d5e\",\n \"purpose_code\": \"S0305\",\n \"tcs_threshold_breached\": false,\n \"remitter\": {\n \"pan\": \"ABCDE1234F\",\n \"name\": \"John Doe\",\n \"dob\": \"1990-01-01\",\n \"relation\": \"SELF\"\n },\n \"invoice\": {\n \"number\": \"INV-2025-0091\",\n \"date\": \"2025-07-01\",\n \"amount\": 1200000\n },\n \"address\": {\n \"address1\": \"12 MG Road\",\n \"city\": \"Bengaluru\",\n \"state\": \"Karnataka\",\n \"pincode\": \"560001\"\n },\n \"contact\": {\n \"email\": \"[email protected]\",\n \"mobile\": \"9876543210\"\n },\n \"tcs\": 4000,\n \"declarations\": {\n \"resident_in_india\": true,\n \"lrs\": true,\n \"tcs\": true,\n \"source_of_funds\": true\n },\n \"documents\": [\n {\n \"type\": \"offer_letter\",\n \"ref\": \"a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d\"\n },\n {\n \"type\": \"fee_invoice\",\n \"ref\": \"b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e\"\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api-pacb-uat.eximpe.com/pg/lrs/verify/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-Client-ID"] = '<api-key>'
request["X-Client-Secret"] = '<api-key>'
request["X-Merchant-ID"] = '<api-key>'
request["X-API-Version"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"payment_id\": \"PAY_1a2b3c4d5e\",\n \"purpose_code\": \"S0305\",\n \"tcs_threshold_breached\": false,\n \"remitter\": {\n \"pan\": \"ABCDE1234F\",\n \"name\": \"John Doe\",\n \"dob\": \"1990-01-01\",\n \"relation\": \"SELF\"\n },\n \"invoice\": {\n \"number\": \"INV-2025-0091\",\n \"date\": \"2025-07-01\",\n \"amount\": 1200000\n },\n \"address\": {\n \"address1\": \"12 MG Road\",\n \"city\": \"Bengaluru\",\n \"state\": \"Karnataka\",\n \"pincode\": \"560001\"\n },\n \"contact\": {\n \"email\": \"[email protected]\",\n \"mobile\": \"9876543210\"\n },\n \"tcs\": 4000,\n \"declarations\": {\n \"resident_in_india\": true,\n \"lrs\": true,\n \"tcs\": true,\n \"source_of_funds\": true\n },\n \"documents\": [\n {\n \"type\": \"offer_letter\",\n \"ref\": \"a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d\"\n },\n {\n \"type\": \"fee_invoice\",\n \"ref\": \"b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e\"\n }\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "success": true,
  "message": "Verification details processed",
  "data": {
    "payment_id": "PAY_1a2b3c4d5e",
    "status": "under_review",
    "tcs_check": "match",
    "missing": [],
    "outstanding": "0.00",
    "reason": null
  }
}

Authorizations

X-Client-ID
string
header
required

Client Application ID - Your unique application identifier used to authenticate API requests. You can find your Client ID in the Developer Settings section of the merchant dashboard.

X-Client-Secret
string
header
required

Client Secret Key - Your secret key used alongside the Client ID for secure authentication. Keep this confidential and never expose it in client-side code. Available in the Developer Settings section of the merchant dashboard.

X-Merchant-ID
string
header
required

Merchant Identifier - The unique ID for the merchant account. This is required for PSP (Payment Service Provider) merchants who manage multiple merchant accounts. You can find merchant IDs in the Merchant Management section of the dashboard.

X-API-Version
string
header
required

API Version - Specifies which version of the API to use (e.g., '1.X.X', '2.X.X', or '3.X.X'). This header allows you to control which API version your integration uses. Default version information is available in the Developer Settings.

Body

application/json
payment_id
string
required

ID of the payment created for the credit.

Example:

"PAY_1a2b3c4d5e"

purpose_code
string
required

FEMA purpose code for the remittance.

Example:

"S0305"

remitter
object
required
invoice
object
required
address
object
required
contact
object
required
tcs
number
required

TCS collected from the buyer, in INR rupees.

Example:

4000

declarations
object
required

All four must be true for the payment to clear checks; otherwise it stays in Action Required.

documents
object[]
required

Supporting documents for the purpose code. Upload each via POST /pg/lrs/documents first, then reference it here.

tcs_threshold_breached
boolean
default:false

Buyer's self-declaration that Rs.10L LRS was already crossed this FY.

Example:

false

primary_person
object

Details of the person the remittance is for. Required when relation is not SELF.

linked_payment_id
string | null

When this credit tops up an earlier LRS payment, the earlier payment's ID.

Example:

null

reason
enum<string> | null

Why this credit is a top-up of an earlier payment (audit label). Only valid together with linked_payment_id — sending reason without it returns 400.

Available options:
REMAINING_AMOUNT,
TCS_PAYMENT
Example:

null

Response

Verification details processed.

success
boolean
Example:

true

message
string
Example:

"Verification details processed"

data
object