Banked sends a webhook notification when a Confirmation of Payee (CoP) verification completes or fails. This allows your system to react immediately to the verification result without polling the API.
This guide covers:
- CoP Webhook Events: Overview of the webhook events
- Payload Examples: Example payloads for each verification outcome
CoP Webhook Events
Banked sends the following events when a CoP verification finishes:
| Event Type | Description |
|---|---|
payment_instrument_bank_account_verification_completed | Sent when a CoP verification completes with a match, close_match or no_match result |
payment_instrument_bank_account_verification_failed | Sent when a CoP verification cannot be completed, for example if the service is unavailable |
Subscribe to both events to receive every outcome. For a completed verification, check details.verification.details.result to determine the match outcome. For a failed verification, check details.verification.latest_error.
The payloads omit sensitive data: the identifier, account_owner_name and registered_account_owner_names. Retrieve the payment instrument to see them.
New to Webhooks? Start with our Webhook Overview to understand how to set up and handle webhooks effectively.
Payload Examples
Examples are provided below for each outcome.
Verification Completed: Match
{
"id": "3a7e0e66-3b15-496a-8948-458a0a50488e",
"type": "payment_instrument_bank_account_verification_completed",
"version": "v3",
"data_version": 1,
"data": {
"payment_instrument_id": "c3f87070-c2d8-4dbd-8943-7e280fc4c8fb",
"on_behalf_of": "customer",
"mode": "live",
"created_at": "2025-12-02T16:34:00.000000Z",
"updated_at": "2025-12-02T16:35:01.987654Z",
"status": "active",
"details": {
"instrument_type": "bank_account",
"currency": "AUD",
"verification": {
"status": "completed",
"verified_at": "2025-12-02T16:35:01.987654Z",
"details": {
"method": "cop",
"result": "match",
"can_receive_npp_payments": true,
"can_send_npp_payments": true
}
}
}
}
}
Verification Completed: Close Match
Retrieve the payment instrument to review the registered_account_owner_names against the account_owner_name provided:
{
"id": "7095c887-b186-4f9a-8788-2128d4ab5303",
"type": "payment_instrument_bank_account_verification_completed",
"version": "v3",
"data_version": 1,
"data": {
"payment_instrument_id": "c3f87070-c2d8-4dbd-8943-7e280fc4c8fb",
"on_behalf_of": "customer",
"mode": "live",
"created_at": "2025-12-02T16:34:00.000000Z",
"updated_at": "2025-12-02T16:35:05.123456Z",
"status": "active",
"details": {
"instrument_type": "bank_account",
"currency": "AUD",
"verification": {
"status": "completed",
"verified_at": "2025-12-02T16:35:05.123456Z",
"details": {
"method": "cop",
"result": "close_match",
"can_receive_npp_payments": true,
"can_send_npp_payments": true
}
}
}
}
}
Verification Completed: No Match
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"type": "payment_instrument_bank_account_verification_completed",
"version": "v3",
"data_version": 1,
"data": {
"payment_instrument_id": "c3f87070-c2d8-4dbd-8943-7e280fc4c8fb",
"on_behalf_of": "customer",
"mode": "live",
"created_at": "2025-12-02T16:34:00.000000Z",
"updated_at": "2025-12-02T16:35:08.654321Z",
"status": "active",
"details": {
"instrument_type": "bank_account",
"currency": "AUD",
"verification": {
"status": "completed",
"verified_at": "2025-12-02T16:35:08.654321Z",
"details": {
"method": "cop",
"result": "no_match",
"can_receive_npp_payments": true,
"can_send_npp_payments": true
}
}
}
}
}
Do not proceed with a payout when a no_match result is received. Confirm the recipient's account details before retrying. See the CoP Verification Results guide for recommended actions.
Verification Failed
Banked sends the payment_instrument_bank_account_verification_failed event, with status set to failed, when the verification cannot be completed. Check latest_error.code for the cause:
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"type": "payment_instrument_bank_account_verification_failed",
"version": "v3",
"data_version": 1,
"data": {
"payment_instrument_id": "c3f87070-c2d8-4dbd-8943-7e280fc4c8fb",
"on_behalf_of": "customer",
"mode": "live",
"created_at": "2025-12-02T16:34:00.000000Z",
"updated_at": "2025-12-02T16:35:10.000000Z",
"status": "active",
"details": {
"instrument_type": "bank_account",
"currency": "AUD",
"verification": {
"status": "failed",
"verified_at": "2025-12-02T16:35:10.000000Z",
"details": {
"method": "cop"
},
"latest_error": {
"code": "ACCOUNT_VERIFICATION_SERVICE_UNAVAILABLE",
"message": "Account verification service unavailable"
}
}
}
}
}
For a full list of error codes, see Verification Errors.
Next Steps
- CoP Verification Results - How to interpret match results and error codes
- Getting Started with CoP - Step-by-step implementation guide