API Docs
/
No Results Found
Payment Link

Payment Link

The Payment Links API enables businesses to generate payment links, allowing customers to make secure payments using their preferred payment method.

Attribute

url
string
The generated URL of the payment link.
expires_at
string
The expiration date of the payment link in yyyy-MM-dd format. If no expiry is set, the payment link will expire in 30 days by default.
amount
string
The payment amount.
amount_paid
string
The amount paid using the payment link.
currency
string
The currency of the payment amount, represented by a 3-letter ISO currency code (e.g., INR)
status
string
The status of the payment link. It can be active, paid, canceled or expired.
email
string
Email address of the customer.
reference_id
string
An alphanumeric identifier that helps in identifying the payment. The maximum length can be 100 characters.
description
string
The description of the payment link. The maximum length of the description can be 500 characters.
return_url
string
An URL to redirect the customer after a successful payment.
phone
string
The phone number associated with the payment link.
created_time
long
The timestamp (milliseconds) indicating when the payment link was created.
created_by_id
string
The user ID of the person who created the payment link.
created_by
string
The name of the user who created the payment link.
last_modified_by_id
string
The user ID of the person who last modified the payment link.
last_modified
string
The user name of the person who last modified the payment link.

Example

{ "payment_link_id": "173000002315107", "url": "https://payments.zoho.in/paymentlink/b0ec9b455584e8ee1dc0fd479f7ad4601ea39169f8aaf9991b83", "expires_at": "2025-03-14", "amount": "100.50", "amount_paid": "0.00", "currency": "INR", "status": "active", "email": "xxx@abc.com", "reference_id": "1234567890IUEGS", "description": "Payment for Order #12345", "return_url": "https://example.com/success", "phone": "+91 0000000000", "created_time": 1708950672, "created_by_id": "173000002314885", "created_by": "Akash", "last_modified_by_id": "173000002314885", "last_modified": "Akash" }

This API endpoint allows you to create payment links in Zoho Payments. You can generate unique links that let you collect payments from customers easily.
OAuth Scope : ZohoPay.payments.CREATE

Arguments

Query Parameters

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/paymentlinks?account_id=23137556") .post(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
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/paymentlinks?account_id=23137556', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
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/paymentlinks?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/paymentlinks?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();
curl --request POST \ --url 'https://payments.zoho.in/api/v1/paymentlinks?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": 100.5, "currency": "INR", "email": "xxx@abc.com", "phone": "+91 0000000000", "reference_id": "1234567890IUEGS", "description": "Payment for Order #12345", "expires_at": "2025-03-14", "notify_user": true, "return_url": "https://example.com/success" }

Response Example

{ "code": 0, "message": "Payment link created successfully", "payment_links": { "payment_link_id": "173000002315107", "url": "https://payments.zoho.in/paymentlink/b0ec9b455584e8ee1dc0fd479f7ad4601ea39169f8aaf9991b83", "expires_at": "2025-03-14", "amount": "100.50", "amount_paid": "0.00", "currency": "INR", "status": "active", "email": "xxx@abc.com", "reference_id": "1234567890IUEGS", "description": "Payment for Order #12345", "return_url": "https://example.com/success", "phone": "+91 0000000000", "created_time": 1708950672, "created_by_id": "173000002314885", "created_by": "Akash", "last_modified_by_id": "173000002314885", "last_modified": "Akash" } }

This API endpoint allows you to update the payment link. You can modify the customer email, phone number, reference, description, and expiry date. The link must be active to make modifications.
OAuth Scope : ZohoPay.payments.UPDATE

Arguments

Query Parameters

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/paymentlinks/173000002315107?account_id=23137556") .put(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'PUT', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://payments.zoho.in/api/v1/paymentlinks/173000002315107?account_id=23137556', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
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("PUT", "/api/v1/paymentlinks/173000002315107?account_id=23137556", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "PUT", "hostname": "payments.zoho.in", "port": null, "path": "/api/v1/paymentlinks/173000002315107?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();
curl --request PUT \ --url 'https://payments.zoho.in/api/v1/paymentlinks/173000002315107?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
{ "reference_id": "1234567890IUEGS", "email": "xxx@abc.com", "phone": "+91 0000000000", "description": "Payment for Order #12345", "expires_at": "2025-03-14", "notify_user": true, "return_url": "https://example.com/success" }

Response Example

{ "code": 0, "message": "Payment link updated", "payment_links": { "payment_link_id": "173000002315107", "url": "https://payments.zoho.in/paymentlink/b0ec9b455584e8ee1dc0fd479f7ad4601ea39169f8aaf9991b83", "expires_at": "2025-03-14", "amount": "100.50", "amount_paid": "0.00", "currency": "INR", "status": "active", "email": "xxx@abc.com", "reference_id": "1234567890IUEGS", "description": "Payment for Order #12345", "return_url": "https://example.com/success", "phone": "+91 0000000000", "created_time": 1708950672, "created_by_id": "173000002314885", "created_by": "Akash", "last_modified_by_id": "173000002314885", "last_modified": "Akash" } }

This API endpoint allows you to retrieve the details of a specific payment link.
OAuth Scope : ZohoPay.payments.READ

Query Parameters

Request Example

Click to copy
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://payments.zoho.in/api/v1/paymentlinks/173000002315107?account_id=23137556") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://payments.zoho.in/api/v1/paymentlinks/173000002315107?account_id=23137556', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("payments.zoho.in") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/api/v1/paymentlinks/173000002315107?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/paymentlinks/173000002315107?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();
curl --request GET \ --url 'https://payments.zoho.in/api/v1/paymentlinks/173000002315107?account_id=23137556' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "payment_links": { "payment_link_id": "173000002315107", "url": "https://payments.zoho.in/paymentlink/b0ec9b455584e8ee1dc0fd479f7ad4601ea39169f8aaf9991b83", "expires_at": "2025-03-14", "amount": "100.50", "amount_paid": "100.50", "currency": "INR", "status": "paid", "email": "xxx@abc.com", "reference_id": "1234567890IUEGS", "description": "Payment for Order #12345", "return_url": "https://example.com/success", "phone": "+91 0000000000", "created_by": "Akash", "created_by_id": "173000002314885", "last_modified_by_id": "173000002314885", "last_modified": "Akash", "created_time": 1708950672, "payments": [ { "payment_id": "173000002314883", "amount": "100.50", "status": "succeeded", "date": 1708950750 } ] } }

This API endpoint allows you to cancel the payment link. Once cancelled, it cannot be undone.
OAuth Scope : ZohoPay.payments.UPDATE

Query Parameters

Request Example

Click to copy
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://payments.zoho.in/api/v1/paymentlinks/173000002315107/cancel?account_id=23137556") .put(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'PUT', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://payments.zoho.in/api/v1/paymentlinks/173000002315107/cancel?account_id=23137556', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("payments.zoho.in") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("PUT", "/api/v1/paymentlinks/173000002315107/cancel?account_id=23137556", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "PUT", "hostname": "payments.zoho.in", "port": null, "path": "/api/v1/paymentlinks/173000002315107/cancel?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();
curl --request PUT \ --url 'https://payments.zoho.in/api/v1/paymentlinks/173000002315107/cancel?account_id=23137556' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "Payment link Cancelled", "payment_links": { "payment_link_id": "173000002315107", "url": "https://payments.zoho.in/paymentlink/b0ec9b455584e8ee1dc0fd479f7ad4601ea39169f8aaf9991b83", "expires_at": "2025-03-14", "amount": "100.50", "amount_paid": "0.00", "currency": "INR", "status": "canceled", "email": "xxx@abc.com", "reference_id": "1234567890IUEGS", "description": "Payment for Order #12345", "return_url": "https://example.com/success", "phone": "+91 0000000000", "created_time": 1708950672, "created_by_id": "173000002314885", "created_by": "Akash", "last_modified_by_id": "173000002314885", "last_modified": "Akash" } }