Skip to main content
POST
/
pg
/
lrs
/
quote
/
Quote TCS and all-in total for a remittance
curl --request POST \
  --url https://api-pacb-uat.eximpe.com/pg/lrs/quote/ \
  --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 '
{
  "pan": "ABCDE1234F",
  "amount": 1200000,
  "purpose_code": "S0305",
  "tcs_threshold_breached": false
}
'
import requests

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

payload = {
"pan": "ABCDE1234F",
"amount": 1200000,
"purpose_code": "S0305",
"tcs_threshold_breached": False
}
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({
pan: 'ABCDE1234F',
amount: 1200000,
purpose_code: 'S0305',
tcs_threshold_breached: false
})
};

fetch('https://api-pacb-uat.eximpe.com/pg/lrs/quote/', 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/quote/",
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([
'pan' => 'ABCDE1234F',
'amount' => 1200000,
'purpose_code' => 'S0305',
'tcs_threshold_breached' => false
]),
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/quote/"

payload := strings.NewReader("{\n \"pan\": \"ABCDE1234F\",\n \"amount\": 1200000,\n \"purpose_code\": \"S0305\",\n \"tcs_threshold_breached\": false\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/quote/")
.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 \"pan\": \"ABCDE1234F\",\n \"amount\": 1200000,\n \"purpose_code\": \"S0305\",\n \"tcs_threshold_breached\": false\n}")
.asString();
require 'uri'
require 'net/http'

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

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 \"pan\": \"ABCDE1234F\",\n \"amount\": 1200000,\n \"purpose_code\": \"S0305\",\n \"tcs_threshold_breached\": false\n}"

response = http.request(request)
puts response.read_body
{
  "success": true,
  "message": "LRS amount quoted",
  "data": {
    "financial_year": 2025,
    "committed_inr": "0.00",
    "remittance_inr": "1200000.00",
    "taxable_inr": "200000.00",
    "tcs_inr": "4000.00",
    "total_payable_inr": "1204000.00",
    "tcs_threshold_breached_before": false,
    "tcs_threshold_breached_after": true
  }
}
{
"success": true,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}
{
"success": true,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}

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
pan
string
required

Verified buyer PAN.

Example:

"ABCDE1234F"

amount
number
required

Proposed remittance amount in INR rupees.

Example:

1200000

purpose_code
string
required

FEMA purpose code; must be one the sub-merchant is enabled for.

Example:

"S0305"

tcs_threshold_breached
boolean
required

Buyer's self-declaration that they have already crossed Rs.10L of LRS this FY elsewhere. When true, the full remittance is taxed.

Example:

false

Response

TCS and total quoted.

success
boolean
Example:

true

message
string
Example:

"LRS amount quoted"

data
object