Webhooks
Merchant Account Status Updates
Trigger
- Description: Sent when a merchant account status changes. For tenants with the PCI feature enabled, this event is also sent when
pciStatus,saqStatus, orsaqExpiresAtchanges (sub-day expiry drift from upstream re-anchoring is absorbed and does not trigger a delivery).
Payload
createdAt: Unix timestamp indicating when the event was created.type: Always 'MERCHANT' for this webhook.status: Merchant account status, can be one of:- ACTIVE
- INACTIVE
- SUSPENDED
- CLOSED
merchantAccountId: Unique ID for the merchant account.organizationId: The ID of the organization to which the merchant account belongs.merchantReferenceId: Merchant reference ID that matches the account in your system.balanceAccountId: The ID for the balance account from Adyen associated with this merchant account.accountHolderId: The ID for the account holder from Adyen associated with this merchant account.recurringFeesGroupId: The ID of the recurring fee configuration assigned to the merchant account, or null if none assigned.stores: List of associated storesstoreId: Adyen's store idstoreReferenceId: Store reference id, used when initiating platform payments with Adyen's API.balanceAccountId: The ID for the balance account from Adyen associated with the store.splitConfigurationId: The ID of the split configuration from Adyen associated with the store.status: Store status (ACTIVE, INACTIVE, CLOSED)
merchantAccountAttributes: List of custom attributes assigned to the merchant account. Empty array if none are set.name: The attribute name, matching a custom attribute configured in Zentact admin.value: The attribute value.
Custom attributes for externally boarded merchants
When a merchant is boarded outside of Zentact and imported, Adyen account holder metadata key-value pairs are mapped into merchantAccountAttributes. Only metadata keys that match a custom attribute name configured in Zentact admin (matched case-insensitively) are kept — unrecognized keys and values longer than 80 characters are dropped. If no custom attributes are configured for your tenant, this array will always be empty. Configure the expected attribute names in Zentact admin before boarding merchants externally.
PCI Compliance Fields
The following fields are only included for tenants with the PCI feature enabled. When the feature is off, they are omitted from the payload entirely. When the feature is on but a merchant has no compliance record yet, pciStatus is NOT_REGISTERED, saqStatus is NOT_STARTED, and saqExpiresAt is null.
pciStatus: Overall PCI DSS compliance status. One of:NOT_REGISTERED: The merchant has not yet been registered with the PCI compliance provider — no compliance record exists.COMPLIANT: The merchant has satisfied all PCI DSS compliance requirements.NEEDS_ATTENTION: The merchant has partial or in-progress compliance items that require follow-up (for example, an unsigned or expiring SAQ).NON_COMPLIANT: The merchant has failed one or more PCI DSS compliance requirements.
saqStatus: Self-Assessment Questionnaire status. One of:NOT_STARTED: The merchant has not begun the Self-Assessment Questionnaire.IN_PROGRESS: The merchant has started the SAQ but has not yet signed and submitted it.COMPLIANT: The merchant has signed a valid, unexpired SAQ.EXPIRING: The signed SAQ is within 90 days of its expiration date and needs to be renewed.EXPIRED: The signed SAQ has passed its expiration date and is no longer valid.
saqExpiresAt: ISO 8601 timestamp indicating when the merchant's current SAQ expires, ornullwhen the SAQ has not been signed.
Example
{
"createdAt": 1697339819,
"merchantAccountId": "UBWCE2Bfi5xb",
"organizationId": "bf368afb-ed57-4345-a04a-7c7213431a99",
"merchantReferenceId": "a5ac988f-857d-43b6-a9ee-e98c7568299f",
"status": "ACTIVE",
"type": "MERCHANT",
"balanceAccountId": "BA32272223222K5JDZCH7DLSZ",
"accountHolderId": "AH3227C223222K5JDZCBHCJL6",
"recurringFeesGroupId": "IFGYKMKL2LWVT",
"stores": [
{
"storeId": "ST3224Z22322425JDZCB69NWZ",
"storeReferenceId": "yyy92999yyyy",
"balanceAccountId": "BA32272223222K5JDZCH7DLSZ",
"splitConfigurationId": "SCNF4224Q223223W5K9BKK88X557JG",
"status": "ACTIVE"
}
],
"merchantAccountAttributes": [
{
"name": "Sales_Rep",
"value": "Amy"
},
{
"name": "Opportunity_ID",
"value": "0061U00000ce0xWQAQ"
}
],
"pciStatus": "COMPLIANT",
"saqStatus": "EXPIRING",
"saqExpiresAt": "2026-08-15T00:00:00.000Z",
"storeId": "ST3224Z22322425JDZCB69NWZ", // deprecated
"storeReferenceId": "yyy92999yyyy", // deprecated
"splitConfigurationId": "SCNF4224Q223223W5K9BKK88X557JG" // deprecated
}