v1

latestOpenAPI 3.1.0Copyright Pismo2026-07-247702,7523.1 MB
UPI

Transfer UPI funds

United Payments Interface (UPI) funds transfer for RuPay, an Indian card network.

Before calling this endpoint, you can call List cards to get the account_reference_number. You should also call Validate card to make sure the card data for the transfer request is genuine.

This endpoint generates a Payment methods authorization created event and a Platform authorization created event.

This operation is idempotent, meaning, it can be applied multiple times, yet the outcome remains the same. To guarantee this, the request has an external_transaction_id field, which must be unique by transaction type in the context of the same account reference number.

post/v1/cards/transfer

Headers

Authorizationstring required
Example:Bearer eyJhbGci...IUzUx

Account token - an access token encoded with a Pismo account ID. Tokens can expire quickly, which can result in a <b>401 Unauthorized</b> message.

user-agentstring required

Client consuming API.

Request body

amountnumber required

Transaction amount

currencystring required

Transaction currency. ISO 4217 3-digit currency code. For example - INR (Indian rupee)

account_reference_numberstring required

Account reference number. Pismo creates this automatically when creating a card linked to RuPay on UPI.

This number combines 10 BIN digits and the credit account number. If BIN is 6 digits, the remaining 4 digits are set to zero (0). If BIN is 8 digits, then the remaining 2 digits are set to zero. This is a NPCI standard. For example, if the account reference number = 1234560000987654321, the first six digits are the BIN, appended with 4 zeros and then the credit account number (`987654321``).

You can call List cards to get a card's account reference number.

external_transaction_datetimestring required

Request datetime. ISO 8601 format.

external_transaction_idstring required

Request ID code

mccstring required

Transaction Merchant Category Code (MCC)

merchant_namestring required

Merchant name

transaction_type'C' | 'D' | 'R' | 'E' | 'F' required

Transaction type:

  • C - Credit
  • D - Debit
  • R - Reversal
  • E - Equated monthly installments (EMI)
  • F - Foreclose
upi_reference_numberstring required

UPI reference number

transaction_referencestring

Transaction reference

credit_account_numberstring

Payee account number if available

Example request

{
  "amount": 500,
  "currency": "INR",
  "account_reference_number": "12345600000000001140340134",
  "external_transaction_datetime": "2020-09-15T19:39:54.013Z",
  "external_transaction_id": "MGS584A1244F6BC4D50A3FABE6D93DF913C",
  "mcc": "6012",
  "merchant_name": "Cafe Coffee Day",
  "merchant": {
    "mid": "HDFC000018966129",
    "tid": "42284754",
    "sid": "18994373"
  },
  "phone": {
    "country_code": "91",
    "phone": "9592714958"
  },
  "transaction_type": "C",
  "upi_reference_number": "165238546812",
  "transaction_reference": "Lunch",
  "credit_account_number": "98765004371"
}

Response

Transfer created

external_transaction_idstring required

Request ID code

status'PROCESSING' | 'ACCEPTED' | 'ERROR' | 'CANCELLED' required

Transaction status

upi_reference_numberstring required

UPI reference number

authorization_idnumber

Authorization ID

authorization_datetimestring datetime

When transfer was authorised. RFC 3339 format.

Example response

{
  "external_transaction_id": "MGS584A1244F6BC4D50A3FABE6D93DF913C",
  "status": "PROCESSING",
  "upi_reference_number": "165238546812",
  "authorization_id": 2263052808
}