Skip to main content
POST
/
terminal
/
transactions
Create Terminal
curl --request POST \
  --url https://sandbox.cashfree.com/pg/terminal/transactions \
  --header 'Content-Type: application/json' \
  --header 'x-api-version: <x-api-version>' \
  --header 'x-client-id: <api-key>' \
  --header 'x-client-secret: <api-key>' \
  --data '{
  "cf_order_id": 12345,
  "cf_terminal_id": 54321,
  "payment_method": "john@cashfree.com",
  "terminal_phone_no": "9898989898"
}'
{
  "cf_payment_id": 42887,
  "payment_amount": 10,
  "payment_method": "LINK",
  "payment_url": "https://payments-test.cashfree.com/order/#4jWjotaRWEizB1BiCtPf",
  "qrcode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAQMAAABmvDolAAAABlBMVEX///8AAABVwtN+AAACWklEQVR42uyZPY7sIBCEy3JAyBE4Chdb+UfvYhyFIxASINdTNZ6dWc3mNu8NgbWyvw1a3dVdzeBzPue/PBNJHo7wB2LDWoCwl6i3aSCgAlgQyQNgXnyqWEsE4IcCAouAApcapoIq3rHdDnBpLhM5ZwCOexkV0JfUwobI/GuYNwdUUY5zWRxhugDwVnIXA128qfm9xtnK/ld13xvoxyX2+FYmx+29nd4cmCrmspLNb6ooMtWweZLbM5s3AAL8ZhVlFe8tilhD+45iCAANC3rLN/E6VZPjUACAXkx+r33o2rv60PkYwEQ2qUHjIM3cSQv4R4+6AZDnU7cVM1miy1Jw/hoJgMvyD/pWo0Vdw6FcDAWYund9W0lmc0ETiZ/yvxqgDLFakL2WPegtiGUgAC43vwHNBgMPb7GOBshmakN52GayYjr70G0AwGZW6uM37Ke3f86sIYCpgmWt0RRMNdIKeCovaSBABmivscmvWSOFrJDLX89sXg5AqwaZulXr40qPsH030gEAzSxu0oXsTrAwD69GOhIA9dCVJuw050l5WlRRL8m6HDCTYw+o0asT8dC/sQwEQDKgXJrsgfykxPuqi0EA2UwZTrUdAeHwtmylcQDTxWGTl6mFnanHnZ/e/nrgsXebRzB/06fw6xp1f+BxB2LLyZxX5WKXwZ/LSMB5y6q/ure3PLm3u+JrgfN+sotXachGffnhABWTjE22u+xFM+tnmIMA5jphhlPqruHPd0XdAbCK0sZq06sA4UB86VFDAOfvOM33XDCZK8arK74/8Dmf84+dvwEAAP//PizKiw+K9esAAAAASUVORK5CYII=",
  "timeout": "300000"
}

Authorizations

x-client-id
string
header
required

Client app ID. You can find your app id in the Merchant Dashboard.

x-client-secret
string
header
required

Client secret key. You can find your secret in the Merchant Dashboard.

Headers

x-api-version
string
default:2022-09-01
required

API version to be used. Format is in YYYY-MM-DD

x-request-id
string

Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to cashfree

x-idempotency-key
string<UUID>

Idempotency works by saving the resulting status code and body of the first request made for any given idempotency key, regardless of whether it succeeded or failed. Subsequent requests with the same key return the same result, including 500 errors.

Currently supported on all POST calls that uses x-client-id & x-client-secret. To use enable, pass x-idempotency-key in the request header. The value of this header must be unique to each operation you are trying to do. One example can be to use the same order_id that you pass while creating orders

Body

application/json

Request body to create a terminal transaction

cf_order_id
integer
required

cashfree order ID that was returned while creating an order.

payment_method
string
required

mention the payment method used for the transaction. possible values - QR_CODE, LINK.

Required string length: 3 - 100
cf_terminal_id
integer

cashfree terminal id. this is a required parameter when you do not provide the terminal phone number.

terminal_phone_no
string

agent mobile number assigned to the terminal. this is a required parameter when you do not provide the cf_terminal_id.

Required string length: 10

Response

Terminal Transaction created

Create terminal response object

cf_payment_id
integer
payment_amount
integer
payment_method
string
payment_url
string
qrcode
string
timeout
string