Integration modes
Payment Method
Display available payment methods directly in your UI. Call Get PayIn Methods, let the customer choose, then Create PayIn with the selected method code. The customer completes checkout on Hello Clever’s hosted page.
Payment Link (Hello Clever brand)
Create a payment link without specifying a method. Redirect the customer to the generated
payment_url where they can choose from all available methods on a Hello Clever branded checkout page.Payment Link (Your brand)
Use a custom domain for your payment checkout page. Contact support@helloclever.co to configure white-label branding.
Base URLs
Authentication
All v3 requests require the sameapp-id and secret-key header pair used in v2.
Your application identifier from the Hello Clever Merchant Dashboard.
Your client secret. Never expose this in client-side code.
Step-by-step integration guide
1
Configure credentials
Each site in your Hello Clever account has a unique
app-id. Set the site type to Payment API in your dashboard to activate the credentials. If you operate across multiple currencies, link each site individually to receive the correct app-id and secret-key for each currency.A Webhook Secret Key is issued at the merchant level and shared across all sites under the same merchant. Use it to verify every webhook signature from Hello Clever.2
Get available payment methods (optional)
Call
GET /v3/payin_methods to retrieve the list of payment methods for your configured currency. You can display these directly in your checkout UI if you want the customer to choose a method before creating the payin.Example response
3
Create the payment link
Call The response includes the
POST /v3/payin_links with the transaction details. Include payin_method_code if the customer has already selected a method; omit it to show all available methods on the Hello Clever checkout page.Example request body
payment_url to redirect your customer to.Example response
4
Redirect the customer
Send the customer to the
payment_url. Choose a UX mode that fits your product:- Redirect — Send the customer directly to the payment URL in the same tab or a new tab.
- Popup — Render the payment URL inside a popup window and listen for payment events via
window.addEventListener("message", ...).
Some browsers (Safari, Chrome) block automatic popups. Inform users to allow popups from your domain if you use the popup UX mode.
5
Handle webhooks
Your server receives a POST webhook at the
endpoint_url you specified whenever the payment status changes. Always treat webhooks as the source of truth for payment status — do not rely solely on redirect URL parameters.See Gateway PayIn webhooks for the full webhook object schema and status reference.6
Test in sandbox
In the sandbox environment, use the payment simulator to test different payment outcomes without real money. After creating a payment, click “I have paid” on the hosted checkout page to open the simulator popup, then trigger success or failure scenarios as needed.Alternatively, call
POST /v3/payin_links/simulate with the payment UUID to simulate completion via API.Popup UX event handling
If you embed the checkout in a popup window, listen for payment events to close the popup and update your UI:Handle popup payment events
hc_payment_event object contains:
event_type:"onChange"(status changed) or"onDone"(customer clicked Done or countdown reached zero).page_state:"success"or"failed".