Skip to main content

Account PND — Post No Debit

Overview​

These commands place or remove a Post No Debit (PND) restriction on a deposit account in core banking.
While PND is active, the account cannot be debited; credits are still processed normally.

The core banking provider (BankOne, BankLingo, etc.) is resolved automatically from the account number prefix using the tenant's routing rules — no provider field is required in the request.

Permission Required

DepositManagement.LockAccount


ActivatePndOnAccountBpmCommand​

Places a PND restriction on an account.

Request​

{
"cmd": "ActivatePndOnAccountBpmCommand",
"data": {
"accountNumber": "0123456789",
"reason": "Suspicious transaction pattern — under investigation"
}
}

Request Fields​

FieldTypeRequiredDescription
accountNumberstringYesThe account number to restrict
reasonstringYesReason for placing PND — stored in core banking and audit log

Response​

{
"isSuccessful": true,
"statusCode": "00",
"message": "Account '0123456789' has been placed on PND. No debit transactions will be allowed.",
"data": {
"accountNumber": "0123456789",
"isOnPND": true,
"reason": "Suspicious transaction pattern — under investigation",
"referenceId": "A3F9D2B1C4E7",
"route": "EmpireTrust"
}
}

ReleasePndFromAccountBpmCommand​

Removes an existing PND restriction and restores normal debit access.

Request​

{
"cmd": "ReleasePndFromAccountBpmCommand",
"data": {
"accountNumber": "0123456789",
"reason": "Investigation concluded — no fraud found"
}
}

Request Fields​

FieldTypeRequiredDescription
accountNumberstringYesThe account number to unblock
reasonstringNoReason for releasing PND (defaults to "PND released.")

Response​

{
"isSuccessful": true,
"statusCode": "00",
"message": "PND restriction on account '0123456789' has been lifted.",
"data": {
"accountNumber": "0123456789",
"isOnPND": false,
"reason": "Investigation concluded — no fraud found",
"referenceId": "B7E2A1D3F509",
"route": "EmpireTrust"
}
}

How Provider Routing Works​

The handler calls ICoreBankingRepositoryWrapper.GetProvider(accountNumber) which matches the account prefix against the tenant's routing configuration and returns the appropriate ICoreBankingInterface implementation (BankOne, BankLingo, etc.). No provider code needs to be passed in the request.