Skip to main content
POST
/
payin
/
quotation
cURL
curl --request POST \
  --url https://sandbox.dollarpe.xyz/pis/api/v1/payin/quotation \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <api-key>' \
  --header 'X-SIGNATURE: <api-key>' \
  --header 'X-TIMESTAMP: <api-key>' \
  --data '
{
  "asset": "usdt",
  "fiat": "inr",
  "sending_amount": "51",
  "customer_id": "def8b740-99f9-4cba-bc9e-99de57e927b4",
  "bank_id": "4e6f1b20-a73c-11ec-b909-0242ac120002",
  "payment_method": "IMPS",
  "risk_parameters": {
    "ip_address": "127.0.0.1",
    "device_id": "<string>",
    "suspicious_activity_report": false,
    "law_enforcement_agency_report": false
  }
}
'
{
  "status": true,
  "message": "Success",
  "data": {
    "id": "2e104290-07c8-49f1-a5ca-0d27f0078f8a",
    "customer_id": "def8b740-99f9-4cba-bc9e-99de57e927b4",
    "bank_id": "4e6f1b20-a73c-11ec-b909-0242ac120002",
    "asset": "USDT",
    "fiat": "INR",
    "payment_method": "IMPS",
    "sending_amount": 1000,
    "rate": 91.91,
    "receiving_amount": 108.8,
    "fees": {
      "client_fee_fiat": 450,
      "client_fee_crypto": 5,
      "dollarpe_fee": 450,
      "pg_fee": 18,
      "client_gst_fiat": 81,
      "client_gst_crypto": 0.9,
      "dollarpe_gst": 81,
      "pg_gst": 81,
      "tds": 889.17,
      "gross_effective_exchange_rate": 88.92
    },
    "deposit_instructions": {
      "account_number": "1234567890",
      "ifsc": "SBIN0000001",
      "account_name": "Sandbox Technologies Pvt Ltd"
    },
    "created_at": "2025-03-08T07:31:11.163005Z",
    "expiry_time": "2025-03-08T07:36:11.163005Z"
  }
}
  • Ensure you’re using the correct bank_id type based on the payment method:
    • UPI: vpa
    • IMPS: bank_account
  • For QR-based payments, refer to the Generate QR guide.
  • For UPI integrations:
    • Use the deep_link field for Android and web flows.
    • Use the ios_checkout_link field for iOS devices.

Error Codes and Messages

API Status CodeResponseReason
400Customer is unverifiedCustomer is added but KYC is unverified
400Customer is unverifiedCustomer does not belong to Organization
400Bank account is unverifiedBank account is not added
400Bank account is unverifiedBank account is added but under processing
400Bank account is unverifiedName mismatch between PAN and Bank account
400Bank account is unverifiedBank account is linked to some other customer
400Onramp is disabledCustomer is KYC verified using Passport / Driver’s License / Voter ID, but Aadhar is not verified
400Entered amount is less than minimum transaction amountEntered amount must be greater than INR 2500
400Entered amount exceeds maximum transaction amountEntered amount must be less than:
• INR 500,000# for IMPS
• INR 100,000# for UPI
400AML SCREENING FAILEDCustomer appears in sanction lists and the Politically Exposed Persons (PEP) database and/or has material adverse media
400EDD requiredSuspicious activity or Red Flag Indicator is triggered
400EDD requiredTransaction milestone since last EDD is reached^
400EDD requiredAnnual EDD is due or overdue
400Daily onramp limit exhaustedDaily onramp limit exhausted
500Internal Server ErrorInternal Server Error
503Service unavailableUnexpected Error Occurred

Authorizations

X-API-KEY
string
header
required

API Key for authentication

X-TIMESTAMP
string
header
required

Current timestamp in seconds since epoch

X-SIGNATURE
string
header
required

HMAC SHA256 signature of the request encoded in Base64

Body

application/json
asset
string
required

The cryptocurrency asset code

Example:

"usdt"

fiat
string
required

The fiat currency code

Example:

"inr"

sending_amount
string
required

The amount to be sent

Example:

"51"

customer_id
string<uuid>
required

Customer's unique identifier

Example:

"def8b740-99f9-4cba-bc9e-99de57e927b4"

bank_id
string<uuid>
required

Customer's Bank's unique identifier from which the payin will be made

Example:

"4e6f1b20-a73c-11ec-b909-0242ac120002"

payment_method
string
required
Example:

"IMPS"

risk_parameters
object
required

Response

Quotation created successfully

status
boolean
Example:

true

message
string
Example:

"Success"

data
object