CoP Verification Results

The result of a CoP verification is returned on the payment instrument's details.verification object. This guide covers the verification statuses, the shape of the verification object, and how to interpret each possible outcome.

This guide covers:

  1. Verification Status: Tracking the state of a verification
  2. Verification Object: The fields common to every verification method
  3. CoP Details: The CoP fields, including whether the account can send and receive NPP payments
  4. Match Results: How to interpret match, close_match, and no_match
  5. Verification Errors: What to do when verification cannot be completed

Verification Status

The details.verification.status field reflects the current state of the verification process:

StatusDescription
in_progressVerification has been initiated and is awaiting a response from the financial institution
completedVerification has finished. The outcome is in details
failedVerification cannot be completed (e.g., institution unavailable)

Verification Object

When verification has been initiated, the details.verification object is present on the payment instrument resource. Its top-level fields are the same for every verification method; the fields specific to the method are in its details object:

json
{
  "verification": {
    "status": "completed",
    "verified_at": "2025-12-02T16:35:01.987654Z",
    "details": {
      "method": "cop",
      "result": "match",
      "registered_account_owner_names": ["Jane Smith"],
      "can_receive_npp_payments": true,
      "can_send_npp_payments": true
    }
  }
}
FieldTypeDescription
statusstringThe verification process status: in_progress, completed, or failed
verified_atstringThe date and time the verification was created (ISO 8601)
detailsobjectThe fields specific to the verification method, identified by details.method. See CoP Details
latest_errorobjectDetails of the error if status is failed

CoP Details

For CoP, details contains:

FieldTypeDescription
methodstringThe verification method used: cop
resultstringThe match outcome: match, close_match, or no_match. Only present when status is completed
registered_account_owner_namesarray of stringUp to five names registered against the account at the financial institution. Only present when status is completed. May be omitted for privacy reasons
can_receive_npp_paymentsbooleanWhether the account can receive NPP payments. Only present when returned by the financial institution
can_send_npp_paymentsbooleanWhether the account can send NPP payments. Only present when returned by the financial institution

NPP Capabilities

Alongside the match result, the financial institution may report whether the account can take part in NPP (New Payments Platform) payments, in can_receive_npp_payments and can_send_npp_payments.

Check can_receive_npp_payments before sending a payout to the account. If it is false, a payment over NPP to this account will not succeed, so confirm the account details with the recipient or ask for another account. can_send_npp_payments matters when the account will be used to pay you.

If a field is absent, the financial institution did not return it: the capability is unknown.


Match Results

When status is completed, registered_account_owner_names contains the names registered against the account at the financial institution, up to five. These may be individual names, trading names, or AKAs. For joint accounts, " and others" is added to the last name, for example "Jane Smith and others". Some financial institutions may omit the names for privacy reasons.

Match

Meaning: The name provided very closely matches the name registered on the account. The match threshold allows for minor variations (a transposed letter or hyphenation difference, for example), so names like "Johnathan Smith" (provided) and "Jonathan Smith" (registered), or "Sarah-Jane Lee" and "Sarah Jane Lee", may still return match.

What you receive:

json
{
  "verification": {
    "status": "completed",
    "verified_at": "2025-12-02T16:35:01.987654Z",
    "details": {
      "method": "cop",
      "result": "match",
      "registered_account_owner_names": ["Jane Smith"],
      "can_receive_npp_payments": true,
      "can_send_npp_payments": true
    }
  }
}

Recommended action: Proceed with the payout. The account details are confirmed.


Close Match

Meaning: The name is similar but not identical. Common causes include spelling errors, shortened names, missing middle names, and formatting differences. For example, "Jane Smith" (provided) and "Jane A Smith" (registered), or "J P Richards" and "John-Paul Richards".

What you receive:

json
{
  "verification": {
    "status": "completed",
    "verified_at": "2025-12-02T16:35:05.123456Z",
    "details": {
      "method": "cop",
      "result": "close_match",
      "registered_account_owner_names": ["Jane A Smith"],
      "can_receive_npp_payments": true,
      "can_send_npp_payments": true
    }
  }
}

Recommended action: Review the registered_account_owner_names (if returned) for discrepancies and confirm the account details with the intended recipient before proceeding.


No Match

Meaning: The names do not meaningfully align. The name provided bears no sufficient resemblance to the name registered against this account.

What you receive:

json
{
  "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
    }
  }
}

Recommended action: Do not proceed with the payout without investigating further. A no_match result typically means one of:

  • The BSB and/or account number belong to a different person than intended
  • The account owner name provided is incorrect
  • The recipient supplied incorrect account details

Contact the intended recipient to confirm their details before retrying. If the details have changed, create a new payment instrument with the corrected information and run verification again.

Sending a payout to an account that returned no_match carries a significant risk of misdirected payment and potential fraud. Always treat no_match as a blocker unless you have independently confirmed the discrepancy.


Verification Errors

When status is failed, CoP could not check the name. Some causes are temporary, such as the verification service being unavailable; others mean the account details are wrong, such as the account being closed or not found. This is distinct from no_match, where the check completed but the names did not align. The details object contains only the method.

What you receive:

json
{
  "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"
    }
  }
}

Recommended action: Check latest_error.code and act accordingly:

Error CodeMessageRecommended Action
ACCOUNT_VERIFICATION_SERVICE_UNAVAILABLEAccount verification service unavailableRetry after a short delay
ACCOUNT_VERIFICATION_LIMIT_REACHEDDaily account verification limit reachedRetry the following day, or contact support to have your limit reviewed
ACCOUNT_VERIFICATION_NO_MATCH_LIMIT_REACHEDDaily account verification no match limit reachedRetry the following day, or contact support to have your limit reviewed
DATA_INVALID_INSTITUTIONAL_IDENTIFIERInstitutional Identifier (e.g. BSB, ABN, BIC) is Not ValidReview the account details with the recipient
PAYEE_ACCOUNT_CLOSEDPayee Account is ClosedThe account is closed or could not be found. Review the account details with the recipient
UNKNOWNAn Unexpected Error OccurredContact support for assistance

If the issue persists, contact [email protected].


Next Steps

© 2026 Banked Ltd.

Dark Theme
PrivacyTerms