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:

MethodEndpointDescription
POST/v1/customer_profile/{customer_profile_id}/subprofilesCreate a subprofile for a branch/outlet
GET/v1/customer_profile/{customer_profile_id}/subprofilesList 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:

FieldRequiredDescription
referenceIdYesYour unique identifier for the subprofile (max 191 characters)
tradingNameYesDisplay name shown on the PayNow QR for this branch (max 255 characters)
address.streetYesStreet address
address.cityYesCity
address.countryYesISO 3166-1 alpha-2 country code
address.stateNoState or province
address.postalCodeNoPostal code
📘

Notes:

  • A subprofile can only be created under a verified Customer Profile.
  • Creating a subprofile with a referenceId that already exists returns the existing subprofile (idempotent create).
  • A newly created subprofile activates within seconds, transitioning from pending to active.


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:

FieldRequiredDescription
subprofileNoThe 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 subprofile continue 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.