The PayID endpoints let you generate unique payment identifiers that customers use to send AUD payments directly to your account. You can create single-use PayIDs for individual transactions, persistent static PayIDs linked to a customer profile, retrieve and filter payment request records, and build hosted checkout links that support both card and PayID payment.
Authenticate every request with your app-id and secret-key headers, or use a short-lived access token obtained from the Generate Access Token endpoint below.

Generate access token

GET /v1/payment_gateways/access_token
Exchange your app-id and secret-key credentials for a temporary access token. The token is valid for 3600 seconds (1 hour) and can be used in place of your API keys for subsequent requests.

Request headers

app-id
string
required
Your application identifier.
secret-key
string
required
Your application secret key.

Response fields

access_token
string
The temporary access token to include in subsequent API requests.
expires_in
number
Token lifetime in seconds (3600).
token_type
string
Always Bearer.

Code example


Create one-time PayID

POST /v1/merchants/create_payment
Generate a unique, single-use PayID for a payment transaction. Once a customer pays using this PayID, it cannot be reused. Configure payment_request_notification to receive real-time webhook callbacks whenever the transaction status changes.

Request body

amount
number
required
Payment amount in AUD (e.g. 10.50).
description
string
required
A description of the payment shown to the customer.
merchant_reference
string
Your internal reference identifier for this transaction.
expiry_date
string
ISO 8601 datetime after which the PayID expires.
payment_request_notification
object
Webhook configuration for status change callbacks.

Response fields

id
string
Unique identifier for the payment request.
payid
string
The generated PayID the customer uses to pay.
amount
number
Requested payment amount in AUD.
status
string
Initial status of the payment request (pending).
created_at
string
ISO 8601 timestamp of when the payment request was created.

Code example


Create static PayID

POST /v1/customers/create_static_open_payid
Create a reusable Static Open PayID permanently linked to a customer’s profile. The PayID can be used across multiple transactions without regeneration. Configure customer_notification to receive webhook callbacks on each payment event.

Request body

first_name
string
required
Customer’s first name.
last_name
string
required
Customer’s last name.
email
string
required
Customer’s email address.
phone
string
Customer’s phone number (optional).
address
string
Customer’s address (optional).
customer_id
string
Your internal customer identifier.
customer_notification
object
Webhook configuration for payment status callbacks.

Response fields

id
string
Unique identifier for the static PayID record.
payid
string
The Static Open PayID assigned to the customer.
status
string
Status of the static PayID (active).
customer
object
Customer details associated with this PayID.

Code example


Get static open PayIDs

GET /v1/customers/get_static_open_payids
Retrieve a list of all Static Open PayIDs registered under your account. Filter by email, payid, or customer_id to locate specific records.

Query parameters

email
string
Filter results by the customer’s email address.
payid
string
Filter results by the PayID value.
customer_id
string
Filter results by your internal customer identifier.
page
number
default:"1"
Page number for paginated results.

Response fields

data
array
List of Static Open PayID records.
total
number
Total number of matching records.
page
number
Current page number.

Code example


Cancel a PayID

POST /v1/payment_requests/cancel_payid
Cancel an active pending PayID transaction. This deregisters the PayID and updates the transaction status to expired. This action is irreversible — the PayID cannot be reactivated after cancellation.

Request body

id
string
required
The unique identifier of the payment request to cancel.

Response fields

id
string
The payment request identifier.
status
string
Updated status (expired).
cancelled_at
string
ISO 8601 timestamp of when the PayID was cancelled.

Code example


Get payment request list

GET /v1/payment_requests
Retrieve a paginated list of payment requests within a date range. The maximum supported query window is 1 year. Results are paginated at 20 records per page.
For date ranges exceeding 1 year, contact support@helloclever.co.

Query parameters

from_date
string
required
Start of the date range in ISO 8601 format (e.g. 2026-01-01).
to_date
string
required
End of the date range in ISO 8601 format (e.g. 2026-04-17).
page
number
default:"1"
Page number for paginated results (20 records per page).

Response fields

data
array
List of payment request objects.
total
number
Total number of records matching the query.
page
number
Current page number.

Code example


Get payment request status

GET /v1/payment_requests/status
Retrieve the current status of a PayID payment request. Provide either id or payid as a query parameter. If you provide both, id takes precedence.

Possible statuses

Query parameters

id
string
The unique payment request identifier. Either id or payid is required.
payid
string
The PayID value. Either id or payid is required.

Response fields

id
string
Unique payment request identifier.
payid
string
The PayID associated with the request.
status
string
Current status of the payment request.
amount
number
Payment amount in AUD.
updated_at
string
ISO 8601 timestamp of the most recent status update.

Code example


POST /v1/payment_gateways/create_payment
Generate a hosted payment gateway link to redirect a customer to a Hello Clever-managed checkout page. The customer can complete payment using a card or PayID. Hello Clever sends status notifications to your payment_gateway_notification endpoint throughout the payment lifecycle.

Request body

amount
number
required
Payment amount in AUD.
description
string
required
Description of the payment shown on the checkout page.
merchant_reference
string
Your internal reference for this transaction.
redirect_url
string
URL to redirect the customer to after payment.
payment_gateway_notification
object
Webhook configuration for payment status notifications.

Response fields

id
string
Unique identifier for this payment gateway request.
payment_url
string
The hosted checkout URL to redirect your customer to.
status
string
Initial status of the payment link.
expires_at
string
ISO 8601 expiry timestamp for the checkout link.

Code example