IService.CredCo

The CredCo plug-in is used to interface with CredCo to order credit data. Credit can be ordered on both individual or multiple borrowers. Interfacing with CredCo is synchronous, performed directly from QBO over HTTPS. Requests can be queued so that Queue Service can process a high number of requests. Note this interface supports both Synchronous and Asynchronous invocation depending on the version of the qbo install invoking.

Data Structures

Core credit tables:
  • CreditReport - used to track a credit order attributes and associate with a Loan record and Borrowers
  • CreditLiability - Trade-line returned by CredCo
Associated tables:

  • Loan - loan related information as well as grouping borrowers
  • Borrower - borrower information including name, address and SSN
  • ObjectLink - associate Borrower records under a loan to a CreditReport record
  • Attachment - PDF version of Credit Report
  • Score/ScoreItem - each credit score returned by CredCo
  • Message - various notes related to credit report including: Transunion Hawk Alert, OFAC alerts,  Trade-line messages and error messages 

Installation

  • Get latest projects from Trunk:
    • Application Tier/qbo.Application
    • Applicaiton Tier/qbo.Import
    • Application Tier/qbo.Credit
    • Application Tier/qbo.CreditWeb
    • Plugins/Credit/qbo.Service.CredCo
  • Examine seed script: qbo.Service.CredCo/Config/Setup.CredcoStandard.xml. This contains the necessary configuration items to install into the target application. There are credential records that will be seeded. Ensure you update the username, password and domain with your corresponding CredCo account. Manually adjust the CredCo credential to match each respective account (UAT or PROD)
  • Build and Deploy Projects
  • Run seed script by either:
    • Navigating to Design > Configuration > Packages  and clicking CredCo Standard OR
    • Pasting seed script content into /Import/ImportFile.ashx/TestHarness

Certificate Installation

CredCo requires digital certificate verification along with account information. The digital certificate must be installed on every machine that interfaces with CredCo. To install the digital certificate (.pfx) file they have provided, RDP into the machine(s):

Import PFX into certificate store
  • Copy PFX to a temporary location
  • Start > Run > mmc
  • File > Add/Remove Snap-In
  • Choose Certificates in left pane and click Add button
  • Select Computer Account from radio button
  • Select Local computer and Finish
  • Under Certificates > Personal > Certificates, right click and choose Import
  • Browse to PFX certificate from temporary location. You'll need to choose Personal Information Exchange from file type drop down
  • Input password provided by CredCo
  • Do not allow export of private key
  • Visually verify certificate has been imported from MMC Certificate Snap-In
  • Grant access to certificates in store by navigating to C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys in Windows explorer. Sort by date and for the latest file name (Guid based) apply Full Control permission to IIS APPPOOL\{Your Website Name as labeled in INETMGR}.
Export public key certificate to file system

  • From MMC Certificate Snap-In, right click newly imported certificate > All Tasks > Export > Next
  • Choose DER Encoded Binary (should be default option)
  • Browse to C:\Program Files (x86)\Quandis\Certificates
  • Save file as Quandis.CredCo.cer
  • This public file will be accessed by the interface when making calls to CredCo

Unit Testing / Test Scripts

C# Test Scripts exist under Trunk > Plugins > Credit > qbo.Service.CredCoTestCases

A Jasmine test script has been created to test the interface. To test, navigate to:

  • Design > Specifications > Credit > Credco Interface

Order Logic

  • Invoking Contact/CredCoReport automatically:
    • Inserts a CreditReport and inserts ObjectLink records to the ContactIDs supplied. The method call accepts parmeters:
      • ID - Primary contact credit will be ordered on
      • SecondaryContactID - (Optional) - if provided interface will include this contact as the secondary application in a Joint report
      • Bureaus - (Optional) This can be specified by passing:
        • Bureaus - which can contain "Experian,TransUnion,Equifax" or "EX,TU,EQ" or "TriMerge" OR
        • Separate parameters:
          • ExperianIndicator - {True|False}
          • TransUnionIndicator - {True|False}
          • EquifaxIndicator - {True|False}
      • If Bureaus are not passed, there is a global setting managed in config file setting Properties.Settings.Default.DefaultBureaus.
    • Example Usage
      • Contact/CredCoReport?ID=123&Bureaus=EX,TU
      • Contact/CredCoReport?ID=123&SecondaryContactID=456&Bureaus=TriMerge
      • Contact/CredCoReport?ID=123&ExperianIndicator=True
      • Contact/CredCoReport?ID=123 - Note this will use the global bureau setting

Ordering From QBO Workflow

The following example outlines how to configure a QBO workflow to order credit. In this example, the workflow is based off Loan which implies credit will be ordered for all contacts under the Loan. The workflow can be launch under a Loan via automation or ad-hoc:

  • Create a DecisionTemplate based off Object Loan. Design > Workflows > Options > New Template
  • Add a Step to order place orders. 
    • Note the Query is using Contact/Search based off Decision.Object and Decision.Object which is intended to be loan. Additional filtering can be applied in the Parameters
    • The Bureaus can be specified in Action parameters



IService Execution Steps

  • To Execute the report:
    • Directly From Url: /Contact/Contact.ashx/CredCoReport?ID={x}
    • From DecisionStep: Object: Contact, Operation: CredCoReport, Parameters: ID={x}
  • Executing report will:
    • Execute statement CreditReport/CreditRequestData?ID={ID} to source borrower data
    • Transform data into MISMO request using Templates/Credit/CredCo.Request.xslt
    • Invoke CredCo interface using qbo.Service.CredCo Plug In
    • Consume native CredCo MISMO response by invoking ImportFileTemplate CredCo Credit Report

Troubleshooting

Credit Report Order Execution Failure

The test spec is a good starting point to review the steps required to place a credit order. If the test spec does not function correctly, please troubleshoot the following items:

  1. Ensure Contact exists in database and that it's Object/ObjectID are set (Eg. Loan / x)
  2. Ensure Credentials and CredCo endpoint exists in ConfigurationEntry and SystemDefault respectively. You can also verify by viewing the Xml request that is sent to the Plug-in to request to credit from the browser:
    1.  /Credit/CreditReport.ashx/CreditRequestData?ID={ID}&Transform=Templates/Credit/CredCo.Request.xslt&Output=Xml
  3. Ensure digital certificate provided by CredCo is installed correctly. See above.
  4. If you feel the issue is occurring during or after the request is made to CredCo, trace the ServiceRequest record that is created when the request is being made:
    1. /Credit/CreditReport.ashx/ID={ID} > ServiceRequests
    2. Look to see if there is a link to ImportFileTemplate CredCo Credit Report . If the link exists, drill into the corresponding ImportFile record and look at ImportLogs, pre-transform and response data to obtain direction
    3. If an ImportFile link does not exist, check rolling.log on the machine placing the request to look for additional error data
Comments