The v3 Gateway PayIn API lets you generate hosted checkout links that customers complete in their browser. You call GET /v3/payin_methods to retrieve available payment methods, then POST /v3/payin_links to create a payment link. Redirect your customer to the returned payment_link URL — Hello Clever handles the checkout UI. Status changes are delivered to your webhook endpoint.
All v3 endpoints require app-id and secret-key headers. See Authentication for details.

Endpoints

GET /v3/payin_methods — Get PayIn Methods

Retrieve all available payment methods for a given currency and country.
app-id
string
required
Your application ID from the Merchant Portal.
secret-key
string
required
Your secret key from the Merchant Portal.
currency
string
required
ISO 4217 currency code (e.g. AUD, USD, SGD).
country
string
ISO 3166-1 alpha-2 country code to filter methods by country.

POST /v3/payin_links — Create PayIn

Generate a hosted checkout link for the customer to complete payment.
app-id
string
required
Your application ID.
secret-key
string
required
Your secret key.
method
string
required
Payment method from GET /v3/payin_methods (e.g. payid, card).
amount
number
required
Payment amount in the smallest currency unit (e.g. cents for AUD).
currency
string
required
ISO 4217 currency code.
external_id
string
required
Your internal reference ID for the payment.
return_url
string
required
URL to redirect the customer after payment completes or fails.
sender_name
string
Customer’s name.
sender_email
string
Customer’s email address.
webhook_notification
object
Optional. Override the default webhook endpoint for this payment.
Redirect your customer to payment_link. Hello Clever sends a webhook when the status changes.

GET /v3/payin_links/ — Get PayIn Details

Retrieve the current status and details of a specific payment.
uuid
string
required
The payment UUID returned by Create PayIn.

List payment links within a date range.
from_date
string
required
Start date in ISO 8601 format (e.g. 2026-01-01).
to_date
string
required
End date in ISO 8601 format.
status
string
Filter by payment status (e.g. received, pending, failed).
page
integer
Page number for pagination. Defaults to 1.

POST /v3/payin_links//refund — Refund PayIn

Issue a full or partial refund for a completed payment.
uuid
string
required
The payment UUID to refund.
amount
number
required
Refund amount. Must not exceed the original paid amount.
description
string
Reason for the refund (included in webhook and merchant records).
Subscribe to return_received and return_rejected webhook events to track refund outcomes. See Webhooks for the full status reference.