Incoming VOP request object

Respond to incoming VOP requests to remain compliant

ℹ️

About our solution

Numeral's VOP solution is based on currently available information and technical documentation from the European Payments Council (EPC), including the Verification Of Payee Scheme Rulebook, the Verification Of Payee Inter-PSP API Specifications, and the API Security Framework.

Numeral is still waiting for the publication of critical EPC documentations, including the EPC's Directory Services documentation to finalise and launch its VOP solution.

Numeral has expressed its intent to participate as a routing and verification mechanism (RVM) via the EPC's call for interest and is listed as a compliant RVM.

Numeral actively participates in the EPC's RVM information sessions and intends to participate in the EPC's pilot phases.

AttributeDescription
objectAlways incoming_vop_request.
idThe ID of the incoming VOP request.
statusThe status of the incoming VOP request. Can bereceived, pending, processed, failed. See the incoming VOP request lifecycle here.
status_detailsMore information about the incoming VOP request's status.
party_nameThe name of the counterparty sent by the requesting PSP.
  • For natural persons: first and last names
  • For moral persons: commercial name
  • party_name_cleanedThe name of the counterparty after cleaning, as per the EPC recommendation.
    party_identification_typeThe identification type of the counterparty sent by the requesting PSP. Only applicable to legal persons.
    party_identificationThe identification code of the counterparty sent by the requesting PSP. Only applicable to legal persons.
    party_accountThe IBAN of the counterparty sent by the requesting PSP.
    party_agentThe BIC of your organisation.
    unstructured_remittance_informationAdditional information about the counterparty, sent by the requesting PSP.
    resultResult provided by Numeral or your system, depending on your integration. It is composed of:
  • value: can be match, close_match (only applicable to natural persons), no_match or impossible_match
  • suggested_name: in case of value = close_match , name of the counterparty with the closest match.
  • created_atThe UTC timestamp of the creation of the incoming VOP request.
    metadataAdditional data in JSON key: value format.
    bank_dataTechnical and standardised information about the VOP request. It is composed of:
  • X-Request-ID: unique ID of the request communicated by the requesting PSP
  • X-RequestTimestamp: the UTC timestamp of the reception of the incoming VOP request
  • X-ResponseTimestamp: the UTC timestamp of the response
  • {
      "object": "incoming_vop_request",
      "id": "20c75a77-de31-460d-a321-4f2421805943",
      "status": "received",
      "status_details": null,
      "party_name": "Mr. John Döe",
      "party_name_cleaned": null,
      "party_identification_type": null,
      "party_identification": null,
      "party_account": "FR5012739000308682265435N36",
      "party_agent": "BANKFRPP",
      "unstructured_remittance_information": null,
      "result": null,
      "created_at": "2025-01-28T15:26:36Z",
      "metadata": null,
      "bank_data": {
        "X-Request-ID": "eb864213-a217-40fb-9bfb-0e85a11cbe72",
        "X-RequestTimestamp": "2025-01-28T15:26:36Z",
        "X-ResponseTimestamp": null
      }
    }
    
    {
      "object": "incoming_vop_request",
      "id": "20c75a77-de31-460d-a321-4f2421805943",
      "status": "pending",
      "status_details": null,
      "party_name": "Mr. John Döe",
      "party_name_cleaned": "John Doe",
      "party_identification_type": null,
      "party_identification": null,
      "party_account": "FR5012739000308682265435N36",
      "party_agent": "BANKFRPP",
      "unstructured_remittance_information": null,
      "result": null,
      "created_at": "2025-01-28T15:26:36Z",
      "metadata": null,
      "bank_data": {
        "X-Request-ID": "eb864213-a217-40fb-9bfb-0e85a11cbe72",
        "X-RequestTimestamp": "2025-01-28T15:26:36Z",
        "X-ResponseTimestamp": null
      }
    }
    
    {
      "object": "incoming_vop_request",
      "id": "20c75a77-de31-460d-a321-4f2421805943",
      "status": "processed",
      "status_details": null,
      "party_name": "Mr. John Döe",
      "party_name_cleaned": "John Doe",
      "party_identification_type": null,
      "party_identification": null,
      "party_account": "FR5012739000308682265435N36",
      "party_agent": "BANKFRPP",
      "unstructured_remittance_information": null,
      "result": {
        "value": "close_match",
        "suggested_name": "John Doe"
      },
      "created_at": "2025-01-28T15:26:36Z",
      "metadata": null,
      "bank_data": {
        "X-Request-ID": "eb864213-a217-40fb-9bfb-0e85a11cbe72",
        "X-RequestTimestamp": "2025-01-28T15:26:36Z",
        "X-ResponseTimestamp": "2025-01-28T15:26:36Z"
      }
    }
    
    {
      "object": "incoming_vop_request",
      "id": "20c75a77-de31-460d-a321-4f2421805943",
      "status": "failed",
      "status_details": "identification code not supported",
      "party_name": "Mr. John Döe",
      "party_name_cleaned": "John Doe",
      "party_identification_type": null,
      "party_identification": null,
      "party_account": "FR5012739000308682265435N36",
      "party_agent": "BANKFRPP",
      "unstructured_remittance_information": null,
      "result": null,
      "created_at": "2025-01-28T15:26:36Z",
      "metadata": null,
      "bank_data": {
        "X-Request-ID": "eb864213-a217-40fb-9bfb-0e85a11cbe72",
        "X-RequestTimestamp": "2025-01-28T15:26:36Z",
        "X-ResponseTimestamp": null
      }
    }