CorePro is a middleware solution. This means there is no concept of end-user login in CorePro; application-level authentication is all that is necessary. As such, connecting to CorePro is as simple as knowing an API Key and Secret and presenting a valid Basic Authentication header in an HTTPS request from whitelisted IP address.
CorePro's REST API requires authentication via the Authorization header. The format of this header is HTTP Basic Authentication . This consists of the following:
- API Key (string)
- Secret (string)
The API key in HTTP Basic Authentication terms is the username. The Secret in HTTP Basic Authentication terms is the password. For example, if your API Key (aka username) is "philipjfry" and your Secret (aka password) is "10.77", the authorization header will look like the following:
Authorization: Basic cGhpbGlwamZyeToxMC43Nw==
To test connectivity from a whitelisted IP, you may simply:
- Using your browser, visit the sandbox environment or the production environment . (Note a whitelisted IP for the sandbox environment may not work in the production environment and vice versa).
- You will be prompted for a username and password by your browser's Basic authentication mechanism.
- Enter your API Key for the username.
- Enter your API Secret for the password.
- If connectivity is successful, you will get a valid json response containing a welcome message.
The API key and Secret are available via the CorePro Admin site or from a CorePro representative.
CorePro provides two distinct environments:
- Sandbox - for testing your code
- Production - for your production code
Each environment is completely distinct from the other; all settings, limits, whitelisted IPs, etc. are unique to each environment. This also means the API Key / Secret values used for sandbox are different from the ones used for production. There are also a few subtle functionality differences between the two as well. This is intended to ease testing in the sandbox environment. All differences are detailed in the following section.
|ID Verification||Consult documentation provided at program registration time for specific "fake" customer information that works successfully via sandbox||Provide customer's actual personally identifiable information|
|Tax ID||Multiple customers may have the same taxId (allows for easier testing)||Each customer must have a unique taxId|
|Customer Registration||No limit to number of failed customer registrations for a given taxId in any timeframe||A default limit of 2 failed customer registrations for a given taxId in a 48 hour timeframe (configurable)|
|NOTE: The following apply only if your program has ACH via NACHA enabled.|
|Routing Number Verification||The "magic value" of
||An actual valid routing number must be provided. "Valid" is defined by performing a real-time lookup based on the Federal Reserve data file.|
|External Account Verification||Trial deposit amounts are hardcoded to $0.18 and $0.28 for easy testing. Can be verified immediately via
||Trial deposits are two random amounts between $0.01 and $0.49 inclusive. Must be verified at a later date by calling
|Depositing from External Accounts||Automatically settles every hour on the hour, give or take 5 minutes. Funds are available immediately after settling.||Settles following the Transfer Timeline. Funds are available
|ACH Files||Not currently supported||Supported|
|Customer Tag||Uniqueness of
|Debit Card Transactions||Not currently supported||Supported|