Group Payment Links
A group payment link is a collection of payment links attached to a single booking, with one link per group member. Each member pays their own share, and the group leader receives a shareable portal URL where they can track who has paid and who is outstanding.
A member is outstanding while their payment link status is active, and paid once it is paid. Links that pass their expiry date become expired.
Group Payment Link Model
Properties
- Name
id- Type
- string
- Description
Unique identifier for the group payment link.
- Name
name- Type
- string
- Description
A name to help the group identify their trip.
- Name
lead_name- Type
- string
- Description
The name of the group leader.
- Name
lead_email- Type
- string
- Description
The email address of the group leader.
- Name
currency- Type
- string
- Description
Currency that the group members will pay in. See currency documentation.
- Name
status- Type
- string
- Description
The status of the group.
- Name
members_locked- Type
- boolean
- Description
Whether the group leader is prevented from adding or removing group members via their portal link.
- Name
portal_url- Type
- string
- Description
The shareable portal URL for the group leader, where they can track which members have paid. If the organisation has a custom portal domain configured, that domain is used.
- Name
booking- Type
- object
- Description
The booking model that the group is attached to.
- Name
organisation- Type
- object
- Description
Organisation model owning the group payment link.
- Name
totals.links- Type
- object
- Description
A count of the group's payment links, in total and by status (paid, active, expired).
- Name
totals.amounts- Type
- object
- Description
The value of the group's payment links in the lowest currency denomination — the total, the amount paid, and the amount outstanding.
- Name
payment_links- Type
- array
- Description
A compact payment link model for each member of the group.
- Name
created_at- Type
- datetime
- Description
Date and time of creation within our systems.
{
"id": "7d94f3f2-4c45-4d3e-9c76-8a4762a54c2b",
"name": "Smith Family Holiday",
"lead_name": "Sarah Smith",
"lead_email": "sarah.smith@gmail.com",
"currency": "GBX",
"status": "active",
"created_at": "2026-09-03T15:10:37.589Z",
"portal_url": "https://portal.felloh.com/?group=7d94f3f2-4c45-4d3e-9c76-8a4762a54c2b",
"booking": {
"id": "9a33a74f-1e3e-595d-b89f-9da87d289e05",
"booking_reference": "FEL-00012"
},
"organisation": {
"id": "X9876",
"name": "Felloh"
},
"totals": {
"links": {
"total": 2,
"paid": 1,
"active": 1,
"expired": 0
},
"amounts": {
"total": 40000,
"paid": 20000,
"outstanding": 20000
}
},
"payment_links": [
{
"id": "b5e1bd24-7379-4d27-b4d8-07120fefc25c",
"customer_name": "Sarah Smith",
"email": "sarah.smith@gmail.com",
"amount": 20000,
"currency": "GBX",
"status": "paid",
"expires_at": "2026-10-03T15:10:37.589Z",
"created_at": "2026-09-03T15:10:37.589Z"
},
{
"id": "226009ab-ffe9-4c80-922b-982e8e7849f8",
"customer_name": "Tom Smith",
"email": "tom.smith@gmail.com",
"amount": 20000,
"currency": "GBX",
"status": "active",
"expires_at": "2026-10-03T15:10:37.589Z",
"created_at": "2026-09-03T15:10:37.589Z"
}
]
}
Create One
This endpoint allows you to create a new group payment link, with a payment link created for each member of the group.
You can attach the group to an existing booking by supplying a booking_id, or supply a booking_reference to have a booking created for you. When a booking is created for you, the group leader is set as the booking customer and the booking value is set to the sum of the member amounts.
Parameters
- Name
organisationrequired- Type
- string
- Description
Organisation ID where the group payment link is created.
- Name
lead_namerequired- Type
- string
- Description
Full name of the group leader.
- Name
lead_emailrequired- Type
- string
- Description
Email address of the group leader.
- Name
members- Type
- array
- Description
The group members. Each member requires a
customer_name(string) and anamount(integer, in the lowest currency denomination), and may optionally include anemail(string). A group can be created with no members — the group leader can add members themselves via their portal link.
- Name
members_locked- Type
- boolean
- Description
Prevent the group leader from adding or removing group members via their portal link. Defaults to false.
- Name
name- Type
- string
- Description
A name to help the group identify their trip.
- Name
booking_id- Type
- string
- Description
Felloh booking ID to attach the group to.
- Name
booking_reference- Type
- string
- Description
A booking reference to create a new booking with. Only used when
booking_idis not supplied.
- Name
gross_amount- Type
- integer
- Description
The value of the booking created from
booking_reference, in the lowest currency denomination. Defaults to the sum of the member amounts.
- Name
currency- Type
- string
- Description
Currency for the member payment links, defaults to GBX. See currency documentation.
- Name
description- Type
- string
- Description
Description of the payment's purpose, shown to each member.
- Name
expires_at- Type
- date
- Description
Expiry date for the member payment links, defaults to 30 days from creation. This should be in ISO 8601 Format
- Name
open_banking_enabled- Type
- boolean
- Description
Allow members to pay via open banking.
- Name
card_enabled- Type
- boolean
- Description
Allow members to pay via card.
Returns
- Name
id- Type
- uuid
- Description
The ID of the group payment link that has been created.
- Name
booking_id- Type
- uuid
- Description
The ID of the booking that the group is attached to.
- Name
portal_url- Type
- string
- Description
The shareable portal URL for the group leader.
- Name
payment_links- Type
- array
- Description
The payment link created for each member, in the same order as the
membersparameter.
Request
import axios from 'axios';
const response = await axios.put(
'https://api.felloh.com/agent/payment-link-groups',
{
organisation: 'X9876',
name: 'Smith Family Holiday',
lead_name: 'Sarah Smith',
lead_email: 'sarah.smith@gmail.com',
booking_reference: 'FEL-00012',
currency: 'GBX',
members: [
{ customer_name: 'Sarah Smith', email: 'sarah.smith@gmail.com', amount: 20000 },
{ customer_name: 'Tom Smith', email: 'tom.smith@gmail.com', amount: 20000 },
],
},
{
headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer <YOUR TOKEN HERE>` }
}
);
Response
{
"data": {
"id": "7d94f3f2-4c45-4d3e-9c76-8a4762a54c2b",
"booking_id": "9a33a74f-1e3e-595d-b89f-9da87d289e05",
"portal_url": "https://portal.felloh.com/?group=7d94f3f2-4c45-4d3e-9c76-8a4762a54c2b",
"payment_links": [
{
"id": "b5e1bd24-7379-4d27-b4d8-07120fefc25c",
"customer_name": "Sarah Smith",
"email": "sarah.smith@gmail.com",
"amount": 20000
},
{
"id": "226009ab-ffe9-4c80-922b-982e8e7849f8",
"customer_name": "Tom Smith",
"email": "tom.smith@gmail.com",
"amount": 20000
}
]
},
"errors": {},
"meta": {
"code": 200,
"reason": "OK",
"message": "The request was successful",
"request_id": "cdd40f5c-9d82-44c2-92e3-b5d2cad364f6"
}
}
Fetch One
This endpoint allows you to retrieve a single group payment link, including its payment links and paid / outstanding totals.
Path Parameters
- Name
payment_link_group_id- Type
- uuid
- Description
The group payment link ID to retrieve.
Returns
Returns a group payment link model
Request
import axios from 'axios';
const paymentLinkGroupID = '7d94f3f2-4c45-4d3e-9c76-8a4762a54c2b';
const response = await axios.get(
`https://api.felloh.com/agent/payment-link-groups/${paymentLinkGroupID}`,
{
headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer <YOUR TOKEN HERE>` }
}
);
Response
{
"data": {
"id": "7d94f3f2-4c45-4d3e-9c76-8a4762a54c2b",
"name": "Smith Family Holiday",
"lead_name": "Sarah Smith",
"lead_email": "sarah.smith@gmail.com",
"currency": "GBX",
"status": "active",
"created_at": "2026-09-03T15:10:37.589Z",
"portal_url": "https://portal.felloh.com/?group=7d94f3f2-4c45-4d3e-9c76-8a4762a54c2b",
"booking": {
"id": "9a33a74f-1e3e-595d-b89f-9da87d289e05",
"booking_reference": "FEL-00012"
},
"organisation": {
"id": "X9876",
"name": "Felloh"
},
"totals": {
"links": {
"total": 2,
"paid": 1,
"active": 1,
"expired": 0
},
"amounts": {
"total": 40000,
"paid": 20000,
"outstanding": 20000
}
},
"payment_links": [
{
"id": "b5e1bd24-7379-4d27-b4d8-07120fefc25c",
"customer_name": "Sarah Smith",
"email": "sarah.smith@gmail.com",
"amount": 20000,
"currency": "GBX",
"status": "paid",
"expires_at": "2026-10-03T15:10:37.589Z",
"created_at": "2026-09-03T15:10:37.589Z"
},
{
"id": "226009ab-ffe9-4c80-922b-982e8e7849f8",
"customer_name": "Tom Smith",
"email": "tom.smith@gmail.com",
"amount": 20000,
"currency": "GBX",
"status": "active",
"expires_at": "2026-10-03T15:10:37.589Z",
"created_at": "2026-09-03T15:10:37.589Z"
}
]
},
"errors": {},
"meta": {
"code": 200,
"reason": "OK",
"message": "The request was successful",
"request_id": "cdd40f5c-9d82-44c2-92e3-b5d2cad364f6"
}
}
Fetch For a Booking
This endpoint retrieves all group payment links attached to a booking, ordered by creation date with the most recent first.
Path Parameters
- Name
booking_id- Type
- uuid
- Description
The booking ID to retrieve group payment links for.
Returns
Returns an array of group payment link models
Request
import axios from 'axios';
const bookingID = '9a33a74f-1e3e-595d-b89f-9da87d289e05';
const response = await axios.get(
`https://api.felloh.com/agent/bookings/${bookingID}/payment-link-groups`,
{
headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer <YOUR TOKEN HERE>` }
}
);
Response
{
"data": [
{
"id": "7d94f3f2-4c45-4d3e-9c76-8a4762a54c2b",
"name": "Smith Family Holiday",
"lead_name": "Sarah Smith",
"lead_email": "sarah.smith@gmail.com",
"currency": "GBX",
"status": "active",
"created_at": "2026-09-03T15:10:37.589Z",
"portal_url": "https://portal.felloh.com/?group=7d94f3f2-4c45-4d3e-9c76-8a4762a54c2b",
"totals": {
"links": {
"total": 2,
"paid": 1,
"active": 1,
"expired": 0
},
"amounts": {
"total": 40000,
"paid": 20000,
"outstanding": 20000
}
},
"payment_links": [
{
"id": "b5e1bd24-7379-4d27-b4d8-07120fefc25c",
"customer_name": "Sarah Smith",
"email": "sarah.smith@gmail.com",
"amount": 20000,
"currency": "GBX",
"status": "paid",
"expires_at": "2026-10-03T15:10:37.589Z",
"created_at": "2026-09-03T15:10:37.589Z"
},
{
"id": "226009ab-ffe9-4c80-922b-982e8e7849f8",
"customer_name": "Tom Smith",
"email": "tom.smith@gmail.com",
"amount": 20000,
"currency": "GBX",
"status": "active",
"expires_at": "2026-10-03T15:10:37.589Z",
"created_at": "2026-09-03T15:10:37.589Z"
}
]
}
],
"errors": {},
"meta": {
"code": 200,
"reason": "OK",
"message": "The request was successful",
"request_id": "cdd40f5c-9d82-44c2-92e3-b5d2cad364f6",
"count": 1
}
}
