v1.7.0 - Subprofiles for Multi-Outlet PayNow
This release introduces Subprofiles, letting merchants operate multiple branch or outlet payment identities under a single verified Customer Profile — each with its own trading name on the PayNow QR, without re-onboarding.
New: Subprofile API
Subprofiles represent distinct branches or outlets under one Customer Profile. Each subprofile has its own payment address, so the branch's trading name is shown to the payer on the PayNow QR, while all outlets remain under one verified Customer Profile and one integration.
A full set of CRUD endpoints is now available to manage subprofiles.
New endpoints:
| Method | Endpoint | Description |
|---|---|---|
| POST | /v1/customer_profile/{customer_profile_id}/subprofiles | Create a subprofile for a branch/outlet |
| GET | /v1/customer_profile/{customer_profile_id}/subprofiles | List all subprofiles for a Customer Profile |
| GET | /v1/customer_profile/{customer_profile_id}/subprofiles/{subprofile_id} | Retrieve a single subprofile |
| PATCH | /v1/customer_profile/{customer_profile_id}/subprofiles/{subprofile_id} | Update a subprofile's trading name or address |
| DELETE | /v1/customer_profile/{customer_profile_id}/subprofiles/{subprofile_id} | Disable a subprofile |
Create request fields:
| Field | Required | Description |
|---|---|---|
referenceId | Yes | Your unique identifier for the subprofile (max 191 characters) |
tradingName | Yes | Display name shown on the PayNow QR for this branch (max 255 characters) |
address.street | Yes | Street address |
address.city | Yes | City |
address.country | Yes | ISO 3166-1 alpha-2 country code |
address.state | No | State or province |
address.postalCode | No | Postal code |
Notes:
- A subprofile can only be created under a verified Customer Profile.
- Creating a subprofile with a
referenceIdthat already exists returns the existing subprofile (idempotent create).- A newly created subprofile activates within seconds, transitioning from
pendingtoactive.
How to Route PayNow QR Codes to a Subprofile
Both PayNow QR endpoints now accept an optional subprofile relationship. When provided, the QR resolves to that subprofile's payment address and displays its trading name. When omitted, behavior is unchanged — the Customer Profile's default is used.
Affected endpoints:
POST /v1/payment_methods/paynow(persistent QR)POST /v1/payments/paynow(dynamic QR)
New request relationship:
| Field | Required | Description |
|---|---|---|
subprofile | No | The subprofile to route this QR to. If omitted, the Customer Profile's default is used (existing behavior). |
Notes:
- This is fully backward compatible. Existing integrations that omit
subprofilecontinue to work with no changes.- A disabled subprofile cannot be used to create new QR codes.
Subprofile Status Webhook
A new subprofileStatusUpdated webhook event notifies you when a subprofile's status changes (for example, from pending to active). Register a callback URL for this event via the Update Webhooks API, the same way you configure other webhook events.
API References
Documentation has been updated with new subprofile integration guide and API references. More updates coming soon.

