In-Person

In-Person AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

The In-Person Payments APIs enable end-to-end integration between a Merchant Billing Application and Zoho Payments' in-person acceptance channels. The billing application creates an In-Person Payment Session for a specific amount, currency and acceptance device; the cashier pulls the session on that device and the customer completes the payment using card, UPI, NFC or any other supported method. The billing application then polls the Retrieve Payment Session API to determine the final status of the payment.
Each Payment Session of type pos_payment is valid for 3 minutes only.

Download In-Person OpenAPI Document

Attribute

payments_session_id
string
The In-Person Payment Session ID is a unique identifier for the session and is used for the full lifecycle of the transaction.
currency
string
The currency of the payment amount, represented by a 3-letter ISO currency code
(e.g., INR).
amount
string
The amount for which the In-Person Payment Session was created.
terminal_id
string
The unique identifier of the POS terminal that is mapped to the merchant during onboarding. The session will be pulled by this terminal when the cashier taps Fetch Payments. Required when type is pos_payment.
created_time
long
The timestamp (in seconds) indicating when the In-Person Payment Session was created.
payments_session_type
string
The type of the In-Person Payment Session. Possible value: pos_payment.
session_status
string
The current status of the In-Person Payment Session. Possible values are in_progress, succeeded and failed. Continue polling while the status is in_progress; succeeded and failed are final states.
invoice_number
string
The merchant invoice number for reconciliation. The maximum length can be 50 characters.
description
string
A free-text description of the payment, shown on receipts and reports. The maximum length can be 500 characters.
meta_data
array
Provides additional metadata that can be useful for storing supplementary information. The maximum size of the array can be 5.
Avoid storing sensitive information, including bank account numbers, card details, or personally identifiable information (PII) such as phone numbers or email addresses, in metadata fields. Use metadata only for non-sensitive identifiers, for instance:
  • Order IDs, Customer IDs, and other identifiers for easy reference.
  • Any additional identifiers or data stored in key-value pairs that may be helpful for future reference.
Show Sub-Attributes arrow
key
string
A unique key used to store metadata for reference. The maximum length of the key can be 20 characters.
value
string
The value associated with the key for reference. The maximum length of the value can be 500 characters.

Example

{ "payments_session_id": "216000003925007", "currency": "INR", "amount": "1.00", "terminal_id": "87971593", "created_time": 1779361483, "payments_session_type": "pos_payment", "session_status": "in_progress", "invoice_number": "INV-12345", "description": "Payment for Order #12345", "meta_data": [ { "key": "Key1", "value": "Value1" } ] }

Create Payment Session AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

This API endpoint allows you to create a new In-Person Payment Session in Zoho Payments. The session is mapped to a specific acceptance device and can be pulled by the cashier on that device to complete the payment.
OAuth Scope : ZohoPay.payments.CREATE

Arguments

amount
double
(Required)
The transaction amount to be charged on the acceptance device, with support for decimal places.
currency
string
(Required)
The currency of the payment amount, represented by a 3-letter ISO currency code
(e.g., INR).
type
string
(Required)
The type of the In-Person Payment Session. Accepted value: pos_payment.
terminal_id
string
(Required)
The unique identifier of the POS terminal that is mapped to the merchant during onboarding. The session will be pulled by this terminal when the cashier taps Fetch Payments. Required when type is pos_payment.
payment_method_details
object
(Required)
The payment method that the customer will use on the acceptance device.
Show Sub-Attributes arrow
type
string
(Required)
The payment method type. Accepted values are card or upi.
invoice_number
string
The merchant invoice number for reconciliation. The maximum length can be 50 characters.
description
string
A free-text description of the payment, shown on receipts and reports. The maximum length can be 500 characters.
meta_data
array
Provides additional metadata that can be useful for storing supplementary information. The maximum size of the array can be 5.
Avoid storing sensitive information, including bank account numbers, card details, or personally identifiable information (PII) such as phone numbers or email addresses, in metadata fields. Use metadata only for non-sensitive identifiers, for instance:
  • Order IDs, Customer IDs, and other identifiers for easy reference.
  • Any additional identifiers or data stored in key-value pairs that may be helpful for future reference.
Show Sub-Attributes arrow
key
string
A unique key used to store metadata for reference. The maximum length of the key can be 20 characters.
value
string
The value associated with the key for reference. The maximum length of the value can be 500 characters.

Query Parameters

account_id
long
(Required)
The Zoho Payments account ID.

Request Example

Click to copy
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://payments.zoho.in/api/v1/terminal/paymentsessions?account_id=23137556") .post(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
HttpResponse<String> response = Unirest.post("https://payments.zoho.in/api/v1/terminal/paymentsessions?account_id=23137556") .header("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .header("content-type", "application/json") .body("{\"field1\":\"value1\",\"field2\":\"value2\"}") .asString();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://payments.zoho.in/api/v1/terminal/paymentsessions?account_id=23137556', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
const settings = { "async": true, "crossDomain": true, "url": "https://payments.zoho.in/api/v1/terminal/paymentsessions?account_id=23137556", "method": "POST", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" }, "processData": false, "data": "{\"field1\":\"value1\",\"field2\":\"value2\"}" }; $.ajax(settings).done(function (response) { console.log(response); });
import http.client conn = http.client.HTTPSConnection("payments.zoho.in") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("POST", "/api/v1/terminal/paymentsessions?account_id=23137556", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "payments.zoho.in", "port": null, "path": "/api/v1/terminal/paymentsessions?account_id=23137556", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
const unirest = require("unirest"); const req = unirest("POST", "https://payments.zoho.in/api/v1/terminal/paymentsessions"); req.query({ "account_id": "23137556" }); req.headers({ "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" }); req.type("json"); req.send({ "field1": "value1", "field2": "value2" }); req.end(function (res) { if (res.error) throw new Error(res.error); console.log(res.body); });
const request = require('request'); const options = { method: 'POST', url: 'https://payments.zoho.in/api/v1/terminal/paymentsessions', qs: {account_id: '23137556'}, headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: {field1: 'value1', field2: 'value2'}, json: true }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
require 'uri' require 'net/http' require 'openssl' url = URI("https://payments.zoho.in/api/v1/terminal/paymentsessions?account_id=23137556") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Post.new(url) request["Authorization"] = 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' request["content-type"] = 'application/json' request.body = "{\"field1\":\"value1\",\"field2\":\"value2\"}" response = http.request(request) puts response.read_body
<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://payments.zoho.in/api/v1/terminal/paymentsessions?account_id=23137556", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "{\"field1\":\"value1\",\"field2\":\"value2\"}", CURLOPT_HTTPHEADER => [ "Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type: application/json" ], ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
<?php $request = new HttpRequest(); $request->setUrl('https://payments.zoho.in/api/v1/terminal/paymentsessions'); $request->setMethod(HTTP_METH_POST); $request->setQueryData([ 'account_id' => '23137556' ]); $request->setHeaders([ 'Authorization' => 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type' => 'application/json' ]); $request->setBody('{"field1":"value1","field2":"value2"}'); try { $response = $request->send(); echo $response->getBody(); } catch (HttpException $ex) { echo $ex; }
<?php $client = new http\Client; $request = new http\Client\Request; $body = new http\Message\Body; $body->append('{"field1":"value1","field2":"value2"}'); $request->setRequestUrl('https://payments.zoho.in/api/v1/terminal/paymentsessions'); $request->setRequestMethod('POST'); $request->setBody($body); $request->setQuery(new http\QueryString([ 'account_id' => '23137556' ])); $request->setHeaders([ 'Authorization' => 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type' => 'application/json' ]); $client->enqueue($request)->send(); $response = $client->getResponse(); echo $response->getBody();
var client = new RestClient("https://payments.zoho.in/api/v1/terminal/paymentsessions?account_id=23137556"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); request.AddHeader("content-type", "application/json"); request.AddParameter("application/json", "{\"field1\":\"value1\",\"field2\":\"value2\"}", ParameterType.RequestBody); IRestResponse response = client.Execute(request);
var client = new HttpClient(); var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri("https://payments.zoho.in/api/v1/terminal/paymentsessions?account_id=23137556"), Headers = { { "Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" }, }, Content = new StringContent("{\"field1\":\"value1\",\"field2\":\"value2\"}") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } } }; using (var response = await client.SendAsync(request)) { response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body); }
package main import ( "fmt" "strings" "net/http" "io/ioutil" ) func main() { url := "https://payments.zoho.in/api/v1/terminal/paymentsessions?account_id=23137556" payload := strings.NewReader("{\"field1\":\"value1\",\"field2\":\"value2\"}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") req.Header.Add("content-type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) }
const data = JSON.stringify({ "field1": "value1", "field2": "value2" }); const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); } }); xhr.open("POST", "https://payments.zoho.in/api/v1/terminal/paymentsessions?account_id=23137556"); xhr.setRequestHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); xhr.setRequestHeader("content-type", "application/json"); xhr.send(data);
curl --request POST \ --url 'https://payments.zoho.in/api/v1/terminal/paymentsessions?account_id=23137556' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "amount": 1, "currency": "INR", "type": "pos_payment", "terminal_id": "87971593", "invoice_number": "INV-12345", "description": "Payment for Order #12345", "meta_data": [ { "key": "Key1", "value": "Value1" } ], "payment_method_details": { "type": "upi" } }

Response Example

{ "code": 0, "message": "success", "payments_session": { "payments_session_id": "216000003925007", "currency": "INR", "amount": "1.00", "session_status": "in_progress", "created_time": 1779361483, "terminal_id": "87971593", "payments_session_type": "pos_payment", "invoice_number": "INV-12345", "description": "Payment for Order #12345", "meta_data": [ { "key": "Key1", "value": "Value1" } ] } }

Retrieve Payment Session AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

This API endpoint allows you to retrieve the current state of an In-Person Payment Session. Poll this endpoint every 5 to 10 seconds until the session_status reaches a final state (succeeded or failed). Always treat this API as the source of truth for payment status.
OAuth Scope : ZohoPay.payments.READ

Path Parameters

payments_session_id
string
(Required)
The unique identifier of the In-Person Payment Session returned by the Create Payment Session API.

Query Parameters

account_id
long
(Required)
The Zoho Payments account ID.

Request Example

Click to copy
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://payments.zoho.in/api/v1/terminal/paymentsessions/2000000012001?account_id=23137556") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
HttpResponse<String> response = Unirest.get("https://payments.zoho.in/api/v1/terminal/paymentsessions/2000000012001?account_id=23137556") .header("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .asString();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://payments.zoho.in/api/v1/terminal/paymentsessions/2000000012001?account_id=23137556', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
const settings = { "async": true, "crossDomain": true, "url": "https://payments.zoho.in/api/v1/terminal/paymentsessions/2000000012001?account_id=23137556", "method": "GET", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; $.ajax(settings).done(function (response) { console.log(response); });
import http.client conn = http.client.HTTPSConnection("payments.zoho.in") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/api/v1/terminal/paymentsessions/2000000012001?account_id=23137556", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "payments.zoho.in", "port": null, "path": "/api/v1/terminal/paymentsessions/2000000012001?account_id=23137556", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
const unirest = require("unirest"); const req = unirest("GET", "https://payments.zoho.in/api/v1/terminal/paymentsessions/2000000012001"); req.query({ "account_id": "23137556" }); req.headers({ "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" }); req.end(function (res) { if (res.error) throw new Error(res.error); console.log(res.body); });
const request = require('request'); const options = { method: 'GET', url: 'https://payments.zoho.in/api/v1/terminal/paymentsessions/2000000012001', qs: {account_id: '23137556'}, headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
require 'uri' require 'net/http' require 'openssl' url = URI("https://payments.zoho.in/api/v1/terminal/paymentsessions/2000000012001?account_id=23137556") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) request["Authorization"] = 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' response = http.request(request) puts response.read_body
<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://payments.zoho.in/api/v1/terminal/paymentsessions/2000000012001?account_id=23137556", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => [ "Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" ], ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
<?php $request = new HttpRequest(); $request->setUrl('https://payments.zoho.in/api/v1/terminal/paymentsessions/2000000012001'); $request->setMethod(HTTP_METH_GET); $request->setQueryData([ 'account_id' => '23137556' ]); $request->setHeaders([ 'Authorization' => 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' ]); try { $response = $request->send(); echo $response->getBody(); } catch (HttpException $ex) { echo $ex; }
<?php $client = new http\Client; $request = new http\Client\Request; $request->setRequestUrl('https://payments.zoho.in/api/v1/terminal/paymentsessions/2000000012001'); $request->setRequestMethod('GET'); $request->setQuery(new http\QueryString([ 'account_id' => '23137556' ])); $request->setHeaders([ 'Authorization' => 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' ]); $client->enqueue($request)->send(); $response = $client->getResponse(); echo $response->getBody();
var client = new RestClient("https://payments.zoho.in/api/v1/terminal/paymentsessions/2000000012001?account_id=23137556"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); IRestResponse response = client.Execute(request);
var client = new HttpClient(); var request = new HttpRequestMessage { Method = HttpMethod.Get, RequestUri = new Uri("https://payments.zoho.in/api/v1/terminal/paymentsessions/2000000012001?account_id=23137556"), Headers = { { "Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" }, }, }; using (var response = await client.SendAsync(request)) { response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body); }
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "https://payments.zoho.in/api/v1/terminal/paymentsessions/2000000012001?account_id=23137556" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) }
const data = null; const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); } }); xhr.open("GET", "https://payments.zoho.in/api/v1/terminal/paymentsessions/2000000012001?account_id=23137556"); xhr.setRequestHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); xhr.send(data);
curl --request GET \ --url 'https://payments.zoho.in/api/v1/terminal/paymentsessions/2000000012001?account_id=23137556' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "payments_session": { "payments_session_id": "216000003925007", "currency": "INR", "amount": "1.00", "session_status": "succeeded", "created_time": 1779361483, "terminal_id": "87971593", "payments_session_type": "pos_payment", "invoice_number": "INV-12345", "description": "Payment for Order #12345", "payments": [ { "payment_id": "216000003926003", "amount": "1.00", "status": "succeeded", "payment_method": { "type": "upi" }, "date": 1779361502 } ], "meta_data": [ { "key": "Key1", "value": "Value1" } ] } }