MENU navbar-image

Introduction

Fee Navigator API offers a suite of technology components to automate merchant statement analysis and comparison.

This documentation aims to provide all the information you need to work with our API.

Authenticating requests

To authenticate requests, include a Authorization header with the value "{apiKey}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can retrieve your token by visiting your dashboard and clicking Generate API token.

1. Admin

1.1 Fee Library - GET

requires authentication

Returns the current fee library.

These are custom fees in your account, set up based on rate, per transaction, or as an individual fee.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-fee-library" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-fee-library"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-fee-library';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[
    {
        "id": 4,
        "name": "Statement Fee"
    },
    {
        "id": 6,
        "name": "Monthly Fee"
    }
]
 

Example response (400):


{
"error": [
],
"code": 400 {
}
 

Request   

GET api/v1/get-fee-library

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

1.2 Pricing Regimens - GET

requires authentication

Returns the pricing regimens.

These are pricing structures defined in your plan, which may include one or more of the following: Interchange Plus, Interchange Plus with Pass-Through AMEX, Flat, Cash Discount, Surcharge, Tier.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-pricing-regimens" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-pricing-regimens"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-pricing-regimens';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[
    {
        "id": 66,
        "name": "Sample Flat",
        "type": "Flat"
    },
    {
        "id": 67,
        "name": "Sample IC Plus",
        "type": "IC Plus"
    }
]
 

Example response (400):


{
"error": [
],
"code": 400 {
}
 

Request   

GET api/v1/get-pricing-regimens

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

1.3 Pricing Regimen (id) - GET

requires authentication

Returns a specific pricing regimen identified by its id.

This returns all the details (definition) of the selected pricing regimen.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-pricing-regimens/1755002352774017576" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-pricing-regimens/1755002352774017576"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-pricing-regimens/1755002352774017576';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "name": "Sample Flat",
    "type": "Flat",
    "minMargin": 50,
    "minMarginLevels": [
        {
            "minLevel": 0,
            "minMargin": 50
        }
    ],
    "minMarginPeriod": "Monthly",
    "targetMargin": 500,
    "targetPercent": null,
    "targetType": "fixed",
    "targetMarginPeriod": "Monthly",
    "datapoints": {
        "Visa Debit nrTransactions": 0.23,
        "Visa Auth nrTransactions": 2,
        "Mastercard Credit amount": 3
    },
    "serviceFees": [
        {
            "idServiceFee": 22,
            "networkType": [
                "Credit",
                "Debit"
            ],
            "rate": 0.0001,
            "per_tx": 0,
            "fixedAmount": 0
        },
        {
            "idServiceFee": 4,
            "networkType": [],
            "rate": 0,
            "perTx": 0,
            "fixedAmount": 10
        },
        {
            "idServiceFee": 8,
            "networkType": [
                "Credit"
            ],
            "rate": 0,
            "perTx": 0.02,
            "fixedAmount": 3
        }
    ],
    "tiers": [
        {
            "name": "Qualified",
            "network": [
                "Visa",
                "Mastercard",
                "Discover",
                "American Express"
            ],
            "network_type": [
                "Credit"
            ],
            "volumePercentage": 0.75,
            "rate": 0.0169,
            "perTx": 0.2
        },
        {
            "name": "MidQual",
            "network": [
                "Visa",
                "Mastercard",
                "Discover",
                "American Express"
            ],
            "network_type": [
                "Credit"
            ],
            "volumePercentage": 0.1,
            "rate": 0.028,
            "perTx": 0.2
        },
        {
            "name": "NonQual",
            "network": [
                "Visa",
                "Mastercard",
                "Discover",
                "American Express"
            ],
            "network_type": [
                "Credit"
            ],
            "volumePercentage": 0.15,
            "rate": 0.033,
            "perTx": 0.2
        },
        {
            "name": "Debit",
            "network": [
                "Visa",
                "Mastercard",
                "Discover",
                "American Express"
            ],
            "networkType": [
                "Debit"
            ],
            "volumePercentage": 1,
            "rate": 0.0169,
            "perTx": 0.2
        }
    ]
}
 

Example response (400):


{
    "errors": "Pricing regimen not found",
    "code": 400
}
 

Request   

GET api/v1/get-pricing-regimens/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

A valid pricing regimen ID previously obtained. Example: 1755002352774017576

1.4 Cost Schedules - GET

requires authentication

Returns a list of the available cost/commission schedules.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-cost-schedules" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-cost-schedules"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-cost-schedules';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[
    {
        "id": 113,
        "name": "Sample Schedule A"
    },
    {
        "id": 145,
        "name": "AT Sample Schedule A"
    }
]
 

Example response (400):


{
"error": [
],
"code": 400 {
}
 

Request   

GET api/v1/get-cost-schedules

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

1.5 Cost Schedule (id) - GET

requires authentication

Returns the details of a specific cost/commission schedule.

This will include buy and sell rates for each revenue source, as well as revenue shares.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-cost-schedules/1755002352774017576" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-cost-schedules/1755002352774017576"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-cost-schedules/1755002352774017576';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "name": "Sample Schedule A",
    "datapoints": {
        "Visa Debit nrTransactions": {
            "buyRate": 0.0001,
            "buyRevShare": 80,
            "sellRate": 0.0001,
            "sellRevShare": 40
        }
    },
    "serviceFees": [
        {
            "idServiceFee": 4,
            "buyRate": 1,
            "buyRevShare": 100,
            "sellRate": 1,
            "sellRevShare": 100
        }
    ]
}
 

Example response (400):


{
    "errors": "Commission not found",
    "code": 400
}
 

Request   

GET api/v1/get-cost-schedules/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

A valid Commission ID previously obtained. Example: 1755002352774017576

1.6 Proposal Templates - GET

requires authentication

Returns a list with the available proposal templates.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-proposal-templates" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-proposal-templates"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-proposal-templates';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[
    {
        "id": 34,
        "name": "FN_Sample_EXCEL_Proposal.xlsx"
    },
    {
        "id": 85,
        "name": "Sample_Excel_Second_Proposal.xlsx"
    }
]
 

Example response (400):


{
"error": [
],
"code": 400 {
}
 

Request   

GET api/v1/get-proposal-templates

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

1.7 Proposal Template (id) - GET

requires authentication

Returns the proposal template identified by the specific id

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-proposal-templates/1755002352774017576" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-proposal-templates/1755002352774017576"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-proposal-templates/1755002352774017576';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (400):


{
    "errors": "Proposal template not found",
    "code": 400
}
 

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
 

{
    "message": "Server Error"
}
 

Request   

GET api/v1/get-proposal-templates/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

A valid proposal template ID previously obtained. Example: 1755002352774017576

1.8 Usable Tokens - GET

requires authentication

Returns the available data point tokens, including the ones extracted and calculated from the statement, as well as the ones generated by the proposal.

The tokens may be used in Excel and Word templates, and they will be replaced at runtime with their actual values.

Tokens may be used to create calculations in Excel, and they also may be formatted for display as desired.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-usable-tokens" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-usable-tokens"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-usable-tokens';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[
    {
        "term": "VisaAuthorizations",
        "definition": "Number of authorizations for Visa"
    },
    {
        "id": "VisaPerAuthCurrent",
        "name": "Per authorization cost for Visa (Current)"
    }
]
 

Request   

GET api/v1/get-usable-tokens

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

1.9 Plans - GET

requires authentication

Returns a list of the available proposal plans.

A proposal plan includes (1) pricing regimen, (1) cost schedule, and (1) Excel/Word template file that will format the generated data.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-plans" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-plans"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-plans';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[
    {
        "id": 102,
        "name": "Sample IC Plus Fixed",
        "isDefault": 0
    },
    {
        "id": 103,
        "name": "Sample IC Plus Dynamic",
        "isDefault": 1
    }
]
 

Example response (400):


{
"error": [
],
"code": 400 {
}
 

Request   

GET api/v1/get-plans

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

1.10 Plan (id) - GET

requires authentication

Returns the details of a specific proposal plan.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-plans/175" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-plans/175"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-plans/175';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "name": "Name",
    "pricingRegimen": {
        "68": "pricing regimen name"
    },
    "commission": {
        "113": "commission name"
    },
    "template": {
        "36": "template.docx"
    },
    "onboardUrl": "https://www.your-onboarding-url.com",
    "targetMcc": "5399",
    "supportsICOptimization": 1,
    "dynamicPricing": 0,
    "isDefault": 0,
    "showResiduals": 1,
    "maxDiscRate": 0.0399,
    "maxTransactionFee": 0.49,
    "distributionOrder": "rateThenTxFee",
    "hideWordExport": 0
}
 

Example response (400):


{
    "errors": "Proposal template not found",
    "code": 400
}
 

Request   

GET api/v1/get-plans/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

A valid plan ID previously obtained. Example: 175

1.11 Assignments - GET

requires authentication

Returns the users that are part of the team and their roles.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-assignments" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-assignments"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-assignments';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[
    {
        "id": 1,
        "name": "Example User",
        "role": "manager"
    },
    {
        "id": 2,
        "name": "Example User two",
        "role": "member"
    }
]
 

Example response (400):


{
"error": [
],
"code": 400 {
}
 

Request   

GET api/v1/get-assignments

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

1.12 Assignment (id) - GET

requires authentication

Returns the proposal plans assigned to the specified user, including the default plan.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-assignments/1755002352774017576" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-assignments/1755002352774017576"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-assignments/1755002352774017576';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "name": "A7 User",
    "role": "owner",
    "idDefaultPlan": 105,
    "assignedPlans": {
        "102": "Sample IC Plus Fixed",
        "103": "Sample IC Plus Dynamic"
    }
}
 

Example response (400):


{
    "errors": "Proposal template not found",
    "code": 400
}
 

Request   

GET api/v1/get-assignments/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

A valid assignment ID previously obtained. Example: 1755002352774017576

2. Proposal

2.1 Submit Statement - POST

requires authentication

Upload a PDF statement (native or scanned) and get an id as a result. You will use this id to perform functions on this statement.

Example request:
curl --request POST \
    "https://developer.feenavigator.com/api/v1/statements/upload" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "merchantId=95b7a4b5-da9a-43bf-bd4a-b6d158d9e6f6"\
    --form "merchantData[merchantName]=Acme Inc."\
    --form "merchantData[industry]=5712"\
    --form "merchantData[firstName]=John"\
    --form "merchantData[lastName]=Smith"\
    --form "merchantData[phone]=quis"\
    --form "merchantData[email]=john@smith.com"\
    --form "merchantData[zip]=23456"\
    --form "withDatapoints=0"\
    --form "pdf=@/var/www/public/demo_statement.pdf" 
const url = new URL(
    "https://developer.feenavigator.com/api/v1/statements/upload"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('merchantId', '95b7a4b5-da9a-43bf-bd4a-b6d158d9e6f6');
body.append('merchantData[merchantName]', 'Acme Inc.');
body.append('merchantData[industry]', '5712');
body.append('merchantData[firstName]', 'John');
body.append('merchantData[lastName]', 'Smith');
body.append('merchantData[phone]', 'quis');
body.append('merchantData[email]', 'john@smith.com');
body.append('merchantData[zip]', '23456');
body.append('withDatapoints', '0');
body.append('pdf', document.querySelector('input[name="pdf"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/statements/upload';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'multipart/form-data',
            'Accept' => 'application/json',
        ],
        'multipart' => [
            [
                'name' => 'merchantId',
                'contents' => '95b7a4b5-da9a-43bf-bd4a-b6d158d9e6f6'
            ],
            [
                'name' => 'merchantData[merchantName]',
                'contents' => 'Acme Inc.'
            ],
            [
                'name' => 'merchantData[industry]',
                'contents' => '5712'
            ],
            [
                'name' => 'merchantData[firstName]',
                'contents' => 'John'
            ],
            [
                'name' => 'merchantData[lastName]',
                'contents' => 'Smith'
            ],
            [
                'name' => 'merchantData[phone]',
                'contents' => 'quis'
            ],
            [
                'name' => 'merchantData[email]',
                'contents' => 'john@smith.com'
            ],
            [
                'name' => 'merchantData[zip]',
                'contents' => '23456'
            ],
            [
                'name' => 'withDatapoints',
                'contents' => '0'
            ],
            [
                'name' => 'pdf',
                'contents' => fopen('/var/www/public/demo_statement.pdf', 'r')
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": 1755002352774017576
}
 

Example response (404):


{
    "errors": [
        "Not Found -- The specified resource could not be found"
    ]
}
 

Request   

POST api/v1/statements/upload

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

pdf   file   

Statement PDF file. Example: ./public/demo_statement.pdf

merchantId   string  optional  

The ID of the existing Merchant to whom the statement belongs to.
Note: If it is not provided it means that a new Merchant must be created and therefore the below section (merchantData) is required. Example: 95b7a4b5-da9a-43bf-bd4a-b6d158d9e6f6

merchantData[merchantName]   string  optional  

The Merchant's name.
Note: It is required if merchantId was not provided. Example: Acme Inc.

merchantData[industry]   string  optional  

The Merchant's MCC industry code.
Note: It is required if merchantId was not provided. Example: 5712

merchantData[firstName]   string  optional  

Merchant's first name. Example: John

merchantData[lastName]   string  optional  

Merchant's last name. Example: Smith

merchantData[phone]   string  optional  

Merchant's mobile phone number. Example: quis

merchantData[email]   string  optional  

Merchant's email address. Example: john@smith.com

merchantData[zip]   string  optional  

Merchant's ZIP. Example: 23456

withDatapoints   integer  optional  

Append all data points to the response. Default value = 0.
Possible values: [1 = true, 0 = false]. Example: 0

2.2 Delete Statement (id) - DEL

requires authentication

Deletes a statement and all extracted or processed information, including any associated analyses.

Example request:
curl --request DELETE \
    "https://developer.feenavigator.com/api/v1/statements/delete/1755002352774017576" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/statements/delete/1755002352774017576"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/statements/delete/1755002352774017576';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[]
 

Request   

DELETE api/v1/statements/delete/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

A valid statement ID previously obtained. Example: 1755002352774017576

2.3 Submit Quote - POST

requires authentication

When no statement is available, you may generate a proposal using generated data.

Submit a quote by entering just a few data points.

Example request:
curl --request POST \
    "https://developer.feenavigator.com/api/v1/submit-quote" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"debitVsCredit\": 50,
    \"cpVsCnp\": 80,
    \"volume\": 100000,
    \"averageTransaction\": 45,
    \"fees\": 2500,
    \"idPlan\": \"100\",
    \"merchantId\": \"95b7a4b5-da9a-43bf-bd4a-b6d158d9e6f6\",
    \"merchantData[merchantName]\": \"Acme Inc\",
    \"merchantData[industry]\": \"5712\",
    \"merchantData[firstName]\": \"John\",
    \"merchantData[lastName]\": \"Smith\",
    \"merchantData[phone]\": \"23456785\",
    \"merchantData[email]\": \"john@smith.com\",
    \"merchantData[zip]\": \"52343\",
    \"withDatapoints\": 0
}"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/submit-quote"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "debitVsCredit": 50,
    "cpVsCnp": 80,
    "volume": 100000,
    "averageTransaction": 45,
    "fees": 2500,
    "idPlan": "100",
    "merchantId": "95b7a4b5-da9a-43bf-bd4a-b6d158d9e6f6",
    "merchantData[merchantName]": "Acme Inc",
    "merchantData[industry]": "5712",
    "merchantData[firstName]": "John",
    "merchantData[lastName]": "Smith",
    "merchantData[phone]": "23456785",
    "merchantData[email]": "john@smith.com",
    "merchantData[zip]": "52343",
    "withDatapoints": 0
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/submit-quote';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'debitVsCredit' => 50,
            'cpVsCnp' => 80,
            'volume' => 100000.0,
            'averageTransaction' => 45.0,
            'fees' => 2500.0,
            'idPlan' => '100',
            'merchantId' => '95b7a4b5-da9a-43bf-bd4a-b6d158d9e6f6',
            'merchantData[merchantName]' => 'Acme Inc',
            'merchantData[industry]' => '5712',
            'merchantData[firstName]' => 'John',
            'merchantData[lastName]' => 'Smith',
            'merchantData[phone]' => '23456785',
            'merchantData[email]' => 'john@smith.com',
            'merchantData[zip]' => '52343',
            'withDatapoints' => 0,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "idStatement": "qK6J3byd",
    "idCase": 676,
    "status": "processed",
    "lastProposalIdPlan": 125,
    "datapoints": {
        "merchant": {
            "id": "95b7a4b5-da9a-43bf-bd4a-b6d158d9e6f6",
            "company_id": 37955,
            "merchant_name": "Company Name",
            "first_name": "John",
            "last_name": "Smith",
            "email": "john.smith@john-smith.com",
            "mobile": null,
            "zip": "12345",
            "industry": 5713,
            "crm_stage_id": null,
            "created_at": "2023-02-06T19:46:02.000000Z",
            "updated_at": "2023-02-06T19:46:02.000000Z"
        },
        "MerchantProposalLink": "https://periscope-ui.pro.feenavigator.com/#/merchant-proposal/d7cef5a4-003d-4f4d-920a-b2cc997acf04",
        "AnalysisEditLink": "https://www.feenavigator.com/compass/#/upload/case/676",
        "Pricing Type": "IC Plus",
        "Merchant Name": "Company Name",
        "Statement Period Start": "2023-02-01",
        "Statement Period End": "2023-02-28",
        "Visa Credit amount": 20000,
        "Visa Credit discRate": 0.0146,
        "Visa Credit nrTransactions": 444,
        "Visa Credit discRateProposed": 0.0146,
        "Visa Credit transactionFeeProposed": 0,
        "Visa Debit amount": 20000,
        "Visa Debit discRate": 0.0146,
        "Visa Debit nrTransactions": 444,
        "Visa Debit discRateProposed": 0.0146,
        "Visa Debit transactionFeeProposed": 0,
        "Mastercard Credit amount": 15000,
        "Mastercard Credit discRate": 0.0146,
        "Mastercard Credit nrTransactions": 333,
        "Mastercard Credit discRateProposed": 0.0146,
        "Mastercard Credit transactionFeeProposed": 0,
        "Mastercard Debit amount": 15000,
        "Mastercard Debit discRate": 0.0146,
        "Mastercard Debit nrTransactions": 333,
        "Mastercard Debit discRateProposed": 0.0146,
        "Mastercard Debit transactionFeeProposed": 0,
        "Discover Credit amount": 10000,
        "Discover Credit discRate": 0.0146,
        "Discover Credit nrTransactions": 222,
        "Discover Credit discRateProposed": 0.0146,
        "Discover Credit transactionFeeProposed": 0,
        "Discover Debit amount": 10000,
        "Discover Debit discRate": 0.0146,
        "Discover Debit nrTransactions": 222,
        "Discover Debit discRateProposed": 0.0146,
        "Discover Debit transactionFeeProposed": 0,
        "American Express amount": 10000,
        "American Express discRate": 0.0146,
        "American Express nrTransactions": 222,
        "American Express discRateProposed": 0.0146,
        "American Express transactionFeeProposed": 0,
        "Interchange & downgrades": 1858.82,
        "Dues & Assessments": 160,
        "Total Volume": 100000,
        "Total Fees": 3500,
        "Industry": "5713",
        "Processing Fees": 1481.18,
        "Pass-Through Fees": 2018.82,
        "Other fees": 21,
        "Total Calculated Fees": 3500,
        "Monthly Fees": 3500,
        "1-Year Fees": 42000,
        "3-Year Fees": 126000,
        "Effective Rate": 0.035,
        "Avoidable Fees": null,
        "Potential Savings": 2.13,
        "Statement Period": "Feb 2023",
        "Total nrTransactions": 2222.22,
        "Average Ticket": 45,
        "Processing Fees Proposed": 1481,
        "Interchange & downgrades Proposed": 1858.82,
        "PCI compliance Proposed": null,
        "Non-PCI compliance Proposed": null,
        "Monthly Proposed": null,
        "Chargeback Proposed": null,
        "Other fees Proposed": 21,
        "Total Fees Proposed": 3499.82,
        "Effective Rate Proposed": 0.035,
        "Monthly Savings": 0.18,
        "3 Year Savings": 6.4,
        "Pass-Through Fees Proposed": 2018.82,
        "Percent Processing Fees": 0.0148,
        "Percent Processing Fees Proposed": 0.0148,
        "Percent Pass-Through Fees": 0.0202,
        "Percent Pass-Through Fees Proposed": 0.0202,
        "Calculated Total Volume": 100000,
        "Dues & Assessments Proposed": 160,
        "Margin Proposed Company": 1158.22,
        "Company Residual Proposed": 579.11,
        "Agent Residual Proposed": 579.11,
        "Potential Margin Company": 1160.14,
        "Potential Margin Agent": 1160.14,
        "Processor Cost Proposed": 301.78,
        "Margin Proposed Agent": 1158.22,
        "Pass-through Fees To Substract": 0,
        "IsQuickQuote": 1
    }
}
 

Example response (200):


{
    "message": "The given data was invalid.",
    "errors": {
        "merchantData.merchantName": [
            "The merchant data.merchant name field is required."
        ],
        "merchantData.industry": [
            "The merchant data.industry field is required."
        ]
    }
}
 

Request   

POST api/v1/submit-quote

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

debitVsCredit   integer   

Debit vs credit percentage. Example: 50

cpVsCnp   integer   

Card present vs card not present percentage. Example: 80

volume   number   

Example: 100000

averageTransaction   number   

Example: 45

fees   number   

Example: 2500

idPlan   string  optional  

Example: 100

merchantId   string  optional  

The ID of the existing Merchant for whom the quick quote is done for.
Note: If it is not provided it means that a new Merchant must be created and therefore the below section (merchantData) is required. Example: 95b7a4b5-da9a-43bf-bd4a-b6d158d9e6f6

merchantData[merchantName]   string  optional  

The Merchant's name.
Note: It is required if merchantId is missing. Example: Acme Inc

merchantData[industry]   string  optional  

The Merchant's MCC industry code.
Note: It is required if merchantId is missing. Example: 5712

merchantData[firstName]   string  optional  

Merchant's first name. Example: John

merchantData[lastName]   string  optional  

Merchant's last name. Example: Smith

merchantData[phone]   string  optional  

Merchant's mobile phone number. Example: 23456785

merchantData[email]   string  optional  

Merchant's email address. Example: john@smith.com

merchantData[zip]   string  optional  

Merchant's ZIP. Example: 52343

withDatapoints   integer  optional  

Append all data points to the response. Default value = 0.
Possible values: [1 = true, 0 = false]. Example: 0

2.4 Delete Quote (id) - DEL

requires authentication

Deletes a specified quote, and all the data associated with it.

Example request:
curl --request DELETE \
    "https://developer.feenavigator.com/api/v1/submit-quote/1755002352774017576" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/submit-quote/1755002352774017576"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/submit-quote/1755002352774017576';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[]
 

Request   

DELETE api/v1/submit-quote/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

A valid statement ID previously obtained. Example: 1755002352774017576

2.5 Get Statement (id) - GET

requires authentication

Returns the uploaded statement with the specified id.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/statement/download/pdf/1755002352774017576" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/statement/download/pdf/1755002352774017576"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/statement/download/pdf/1755002352774017576';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
 

{
    "message": "Server Error"
}
 

Request   

GET api/v1/statement/download/pdf/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

A valid statement ID previously obtained. Example: 1755002352774017576

2.6 Get Extracted Text (id) - GET

requires authentication

Returns the textual representation after performing optical-character-recognition (OCR) on the PDF statement.

Depending on the quality of the document itself, this may not match 100% the PDF content.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/statements/get-extracted-text/1755002352774017576" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/statements/get-extracted-text/1755002352774017576"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/statements/get-extracted-text/1755002352774017576';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "extractedText": ".... extracted text as a string ..."
}
 

Request   

GET api/v1/statements/get-extracted-text/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

A valid statement ID previously obtained. Example: 1755002352774017576

2.7 Get Data Points (id)- GET

requires authentication

Returns the extracted and processed elements from the statement and proposal.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/statements/get-datapoints/1755002352774017576" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/statements/get-datapoints/1755002352774017576"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/statements/get-datapoints/1755002352774017576';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "EBT discRate": null,
    "Pricing Type": "IC Plus",
    "Merchant Name": "GRILLE",
    "Merchant Address": null,
    "Merchant Number": "496",
    "Statement Period Start": "05/01/18",
    "Statement Period End": "05/31/18",
    "Third Party Transactions": null,
    "Visa Credit amount": 22517.51,
    "Visa Credit discRate": 0.0015,
    "Visa Credit nrTransactions": 436,
    "Visa Credit transactionFee": null,
    "Visa Credit discRateProposed": 0.0027,
    "Visa Credit transactionFeeProposed": 0,
    "Visa Debit amount": 25568.33,
    "Visa Debit discRate": 0.0015,
    "Visa Debit nrTransactions": 553,
    "Visa Debit transactionFee": null,
    "Visa Debit discRateProposed": 0.0027,
    "Visa Debit transactionFeeProposed": 0,
    "Visa Auth nrTransactions": 1031,
    "Visa Auth transactionFee": 0.05,
    "Visa Auth transactionFeeProposed": 0,
    "Mastercard Credit amount": 15250.57,
    "Mastercard Credit discRate": 0.0015,
    "Mastercard Credit nrTransactions": 316,
    "Mastercard Credit transactionFee": null,
    "Mastercard Credit discRateProposed": 0.0027,
    "Mastercard Credit transactionFeeProposed": 0,
    "Mastercard Debit amount": 5275.82,
    "Mastercard Debit discRate": 0.0015,
    "Mastercard Debit nrTransactions": 103,
    "Mastercard Debit transactionFee": null,
    "Mastercard Debit discRateProposed": 0.0027,
    "Mastercard Debit transactionFeeProposed": 0,
    "Mastercard Auth nrTransactions": 435,
    "Mastercard Auth transactionFee": 0.05,
    "Mastercard Auth transactionFeeProposed": 0,
    "Discover Credit amount": 3609.83,
    "Discover Credit discRate": 0.0015,
    "Discover Credit nrTransactions": 64,
    "Discover Credit transactionFee": null,
    "Discover Credit discRateProposed": 0.0027,
    "Discover Credit transactionFeeProposed": 0,
    "Discover Debit amount": 152.31,
    "Discover Debit discRate": 0.0015,
    "Discover Debit nrTransactions": null,
    "Discover Debit transactionFee": null,
    "Discover Debit discRateProposed": 0.0027,
    "Discover Debit transactionFeeProposed": null,
    "Discover Auth nrTransactions": 64,
    "Discover Auth transactionFee": 0.05,
    "Discover Auth transactionFeeProposed": 0,
    "American Express amount": 13237.43,
    "American Express discRate": 0.0025,
    "American Express nrTransactions": 238,
    "American Express transactionFee": null,
    "American Express discRateProposed": 0.0027,
    "American Express transactionFeeProposed": 0,
    "American Express Auth nrTransactions": 242,
    "American Express Auth transactionFee": 0.05,
    "American Express Auth transactionFeeProposed": 0,
    "PIN Debit amount": null,
    "PIN Debit discRate": null,
    "PIN Debit nrTransactions": null,
    "PIN Debit transactionFee": null,
    "PIN Debit discRateProposed": null,
    "PIN Debit transactionFeeProposed": null,
    "EBT amount": null,
    "EBT nrTransactions": null,
    "EBT transactionFee": null,
    "EBT transactionFeeProposed": null,
    "Fleet Cards / Other amount": null,
    "Fleet Cards / Other discRate": null,
    "Fleet Cards / Other nrTransactions": null,
    "Fleet Cards / Other transactionFee": null,
    "Fleet Cards / Other discRateProposed": null,
    "Fleet Cards / Other transactionFeeProposed": null,
    "Interchange & downgrades": 1606.9,
    "Dues & Assessments": 153.86,
    "PIN debit interchange": null,
    "AVS nrTransactions": null,
    "AVS transactionFee": null,
    "PCI compliance": null,
    "Non-PCI compliance": null,
    "Batch nrTransactions": 24,
    "Batch transactionFee": 0.05,
    "Monthly": 13.5,
    "Chargeback": null,
    "Surcharging": null,
    "Total Volume": 85611.8,
    "Total Fees": 2013.2,
    "Industry": "5399",
    "Representative First Name": null,
    "Representative Last Name": null,
    "Representative Phone": null,
    "Representative Email": null,
    "Card brands / other": null,
    "Processing Fees": 252.44,
    "Pass-Through Fees": 1760.76,
    "Other fees": 7.48,
    "Calculated Other Fees": null,
    "Total Calculated Fees": 2013.2,
    "Monthly Fees": 2013.2,
    "1-Year Fees": 24158.4,
    "3-Year Fees": 72475.2,
    "Effective Rate": 0.0235,
    "Avoidable Fees": null,
    "Potential Savings": 820.71,
    "Statement Period": "May 2018",
    "Total nrTransactions": 1710,
    "Average Ticket": 50.07,
    "Processing Fees Proposed": 239.84,
    "Interchange & downgrades Proposed": 1577.23,
    "Interchange optimization Proposed": -26.12,
    "PIN debit interchange Proposed": null,
    "AVS transactionFee Proposed": null,
    "PCI compliance Proposed": null,
    "Non-PCI compliance Proposed": null,
    "Batch transactionFee Proposed": 0.05,
    "Monthly Proposed": null,
    "Chargeback Proposed": null,
    "Other fees Proposed": 7.48,
    "Total Fees Proposed": 1944.81,
    "Effective Rate Proposed": 0.0227,
    "Monthly Savings": 68.39,
    "3 Year Savings": 2462.14,
    "Pass-Through Fees Proposed": 1704.97,
    "Percent Processing Fees": 0.0029,
    "Percent Processing Fees Proposed": 0.0028,
    "Percent Pass-Through Fees": 0.0206,
    "Percent Pass-Through Fees Proposed": 0.0199,
    "Calculated Other Fees Proposed": null,
    "Percent Other Fees": null,
    "Percent Other Fees Proposed": null,
    "Calculated Total Volume": 85611.8,
    "Card brands / other Proposed": null,
    "Dues & Assessments Proposed": 153.86,
    "Surcharging Proposed": null,
    "Tiers Proposed": null,
    "Custom Service Proposed": null,
    "Other Processing Fees": null,
    "Margin Proposed Company": 161.99,
    "Company Residual Proposed": 81,
    "Agent Residual Proposed": 81,
    "Potential Margin Company": 218.97,
    "Potential Margin Agent": 218.97,
    "Processor Cost Proposed": 69.16,
    "Margin Proposed Agent": 161.99,
    "Pass-through Fees To Substract": 0,
    "Interchange": [
        {
            "term": "MC-WORLDCARD RESTAURANT",
            "normalized": "Restaurant - World",
            "network": "Mastercard",
            "amount": 1320.32,
            "countTx": 44,
            "rate": 0.0173,
            "perTx": 0.1,
            "fee": 27.24,
            "standardRate": 0.0173,
            "standardPerTx": 0.1,
            "standardFee": 27.241536,
            "padding": 0
        },
        {
            "term": "MC-COM T & E I(US) FLEET",
            "normalized": "Commercial T&E Large Market",
            "network": "Mastercard",
            "amount": 1199.97,
            "countTx": 32,
            "rate": 0.0275,
            "perTx": 0,
            "fee": 33,
            "standardRate": 0.0265,
            "standardPerTx": 0.1,
            "standardFee": 34.999205,
            "padding": 0
        },
        {
            "term": "MC-CORP T & E I(US) BUS",
            "normalized": "Commercial T&E Large Market",
            "network": "Mastercard",
            "amount": 1352.58,
            "countTx": 29,
            "rate": 0.025,
            "perTx": 0,
            "fee": 33.82,
            "standardRate": 0.0265,
            "standardPerTx": 0.1,
            "standardFee": 38.74337,
            "padding": 0
        },
        {
            "term": "MC-CORP PURCHASING INTL PUR",
            "normalized": "T&E Large Ticket - World High Value",
            "network": "Mastercard",
            "amount": 40,
            "countTx": 1,
            "rate": 0.0285,
            "perTx": 0,
            "fee": 1.14,
            "standardRate": 0.02,
            "standardPerTx": 0,
            "standardFee": 0.8,
            "padding": 0.34
        },
        {
            "term": "MC-CORP T & E I(US) CORP",
            "normalized": "Commercial T&E Large Market",
            "network": "Mastercard",
            "amount": 1237.1,
            "countTx": 27,
            "rate": 0.0275,
            "perTx": 0,
            "fee": 34.02,
            "standardRate": 0.0265,
            "standardPerTx": 0.1,
            "standardFee": 35.48315,
            "padding": 0
        },
        {
            "term": "MC-CORP BUSINESS INTL FLT",
            "normalized": "T&E Large Ticket - World High Value",
            "network": "Mastercard",
            "amount": 153.13,
            "countTx": 3,
            "rate": 0.0285,
            "perTx": 0,
            "fee": 4.36,
            "standardRate": 0.02,
            "standardPerTx": 0,
            "standardFee": 3.0626,
            "padding": 1.2974
        },
        {
            "term": "MC-WORLD ELITE RESTAURANT",
            "normalized": "Restaurant - World Elite",
            "network": "Mastercard",
            "amount": 1460.21,
            "countTx": 44,
            "rate": 0.022,
            "perTx": 0.1,
            "fee": 36.52,
            "standardRate": 0.022,
            "standardPerTx": 0.1,
            "standardFee": 36.52462,
            "padding": 0
        },
        {
            "term": "MC-WORLD ELITE - OTHER",
            "normalized": "Merit I - World Elite ",
            "network": "Mastercard",
            "amount": 1855.57,
            "countTx": 19,
            "rate": 0.0275,
            "perTx": 0.1,
            "fee": 52.93,
            "standardRate": 0.025,
            "standardPerTx": 0.1,
            "standardFee": 48.28925,
            "padding": 4.64075
        },
        {
            "term": "MC-BUS LEVEL 2 T&E I",
            "normalized": "Commercial T&E Business Level 2",
            "network": "Mastercard",
            "amount": 71,
            "countTx": 4,
            "rate": 0.0266,
            "perTx": 0,
            "fee": 1.89,
            "standardRate": 0.025,
            "standardPerTx": 0.1,
            "standardFee": 2.175,
            "padding": 0
        },
        {
            "term": "MC-SMALL TICKET (DB)",
            "normalized": "Small Ticket Debit/Prepaid - Non-Regulated Consumer Debit",
            "network": "Mastercard",
            "amount": 55.24,
            "countTx": 6,
            "rate": 0.0155,
            "perTx": 0.04,
            "fee": 1.1,
            "standardRate": 0.0155,
            "standardPerTx": 0.04,
            "standardFee": 1.09622,
            "padding": 0
        },
        {
            "term": "MC-RESTAURANT (DB)",
            "normalized": null,
            "network": null,
            "amount": 308.38,
            "countTx": 12,
            "rate": 0.0119,
            "perTx": 0.1,
            "fee": 4.87,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "MC-INT SPR PREM ELECTRONIC(US)",
            "normalized": null,
            "network": null,
            "amount": 25.14,
            "countTx": 1,
            "rate": 0.0283,
            "perTx": 0,
            "fee": 0.71,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "MC-COM T & E I(US) PURCH",
            "normalized": null,
            "network": null,
            "amount": 449.72,
            "countTx": 7,
            "rate": 0.0275,
            "perTx": 0,
            "fee": 12.37,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "MC-BUS LEVEL 3 T&E I",
            "normalized": null,
            "network": null,
            "amount": 122.06,
            "countTx": 2,
            "rate": 0.0271,
            "perTx": 0,
            "fee": 3.31,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "MC-BUS LEVEL 4 T&E I",
            "normalized": "Commercial T&E Business Level 4",
            "network": "Mastercard",
            "amount": 30.78,
            "countTx": 1,
            "rate": 0.0281,
            "perTx": 0,
            "fee": 0.86,
            "standardRate": 0.0265,
            "standardPerTx": 0.1,
            "standardFee": 0.91567,
            "padding": 0
        },
        {
            "term": "MC-REG INCENT FRF ADJ POS (DB)",
            "normalized": "Regulated Purchases POS Debit with Fraud Adjustment - Debit Rate |  Universal Regulated Debit Fraud Adj",
            "network": "Mastercard",
            "amount": 3268.01,
            "countTx": 60,
            "rate": 0.0005,
            "perTx": 0.22,
            "fee": 14.83,
            "standardRate": 0.0005,
            "standardPerTx": 0.22,
            "standardFee": 14.834005,
            "padding": 0
        },
        {
            "term": "MC-REGULATED FRD ADJ COMM (DB)",
            "normalized": "Regulated Purchases POS Debit with Fraud Adjustment - Debit Rate |  Universal Regulated Debit Fraud Adj",
            "network": "Mastercard",
            "amount": 103,
            "countTx": 1,
            "rate": 0.0005,
            "perTx": 0.22,
            "fee": 0.27,
            "standardRate": 0.0005,
            "standardPerTx": 0.22,
            "standardFee": 0.2715,
            "padding": 0
        },
        {
            "term": "MC-PREM CON ELEC ACQUSISSCAN",
            "normalized": null,
            "network": null,
            "amount": 197.24,
            "countTx": 3,
            "rate": 0.027,
            "perTx": 0,
            "fee": 5.33,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "MC-ENHANCED MERIT III BASE",
            "normalized": "Merit III Base - Enhanced (=Card Present)",
            "network": "Mastercard",
            "amount": 1280.19,
            "countTx": 32,
            "rate": 0.0173,
            "perTx": 0.1,
            "fee": 25.35,
            "standardRate": 0.0173,
            "standardPerTx": 0.1,
            "standardFee": 25.347287,
            "padding": 0
        },
        {
            "term": "MC-PREM CON ELEC ACQUSISSLAC",
            "normalized": null,
            "network": null,
            "amount": 30.1,
            "countTx": 2,
            "rate": 0.027,
            "perTx": 0,
            "fee": 0.81,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "MC-HIGH VAL RESTAURANT",
            "normalized": "Restaurant - World High Value",
            "network": "Mastercard",
            "amount": 84.32,
            "countTx": 2,
            "rate": 0.022,
            "perTx": 0.1,
            "fee": 2.06,
            "standardRate": 0.022,
            "standardPerTx": 0.1,
            "standardFee": 2.05504,
            "padding": 0
        },
        {
            "term": "MC-DOMESTIC MERIT III (DB)",
            "normalized": "Merit III Base (Card Present) - Non-Regulated Consumer Debit",
            "network": "Mastercard",
            "amount": 1541.19,
            "countTx": 24,
            "rate": 0.0105,
            "perTx": 0.15,
            "fee": 19.78,
            "standardRate": 0.0105,
            "standardPerTx": 0.15,
            "standardFee": 19.782495,
            "padding": 0
        },
        {
            "term": "MC-FOREIGN ELECTRONIC PLUS",
            "normalized": null,
            "network": null,
            "amount": 73.05,
            "countTx": 4,
            "rate": 0.0195,
            "perTx": 0,
            "fee": 1.42,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "MC-DOMESTIC MERIT III",
            "normalized": "Merit III Base - Core (=Card Present) |  Consumer Credit",
            "network": "Mastercard",
            "amount": 1882.57,
            "countTx": 38,
            "rate": 0.0158,
            "perTx": 0.1,
            "fee": 33.54,
            "standardRate": 0.0158,
            "standardPerTx": 0.1,
            "standardFee": 33.544606,
            "padding": 0
        },
        {
            "term": "MC-WORLDCARD - OTHER",
            "normalized": "Merit III Base - World (=Card Present)",
            "network": "Mastercard",
            "amount": 2385.52,
            "countTx": 21,
            "rate": 0.023,
            "perTx": 0.1,
            "fee": 56.97,
            "standardRate": 0.0177,
            "standardPerTx": 0.1,
            "standardFee": 44.323704,
            "padding": 12.646296
        },
        {
            "term": "VISA",
            "normalized": null,
            "network": null,
            "amount": -25,
            "countTx": 1,
            "rate": 0,
            "perTx": 0,
            "fee": 0,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VI-US REGULATED (DB)",
            "normalized": "CPS/Supermarket, Debit - Regulated (CP)",
            "network": "Visa",
            "amount": 17032.88,
            "countTx": 326,
            "rate": 0.0005,
            "perTx": 0.22,
            "fee": 80.24,
            "standardRate": 0.0005,
            "standardPerTx": 0.22,
            "standardFee": 80.23644,
            "padding": 0
        },
        {
            "term": "VI-CPS SMALL TICKET (PP)",
            "normalized": "CPS/Small Ticket, Prepaid - Exempt (CP)",
            "network": "Visa",
            "amount": 55.46,
            "countTx": 6,
            "rate": 0.016,
            "perTx": 0.05,
            "fee": 1.19,
            "standardRate": 0.016,
            "standardPerTx": 0.05,
            "standardFee": 1.18736,
            "padding": 0
        },
        {
            "term": "VI-BUSINESS CARD CP (DB)",
            "normalized": "Business Debit Card Present CP - Exempt",
            "network": "Visa",
            "amount": 57.72,
            "countTx": 2,
            "rate": 0.017,
            "perTx": 0.1,
            "fee": 1.18,
            "standardRate": 0.017,
            "standardPerTx": 0.1,
            "standardFee": 1.18124,
            "padding": 0
        },
        {
            "term": "VI-US REGULATED COMM (DB)",
            "normalized": "Interregional Regulated Debit - All Commercial Products",
            "network": "Visa",
            "amount": 510.5,
            "countTx": 8,
            "rate": 0.0005,
            "perTx": 0.22,
            "fee": 2.02,
            "standardRate": 0.0005,
            "standardPerTx": 0.22,
            "standardFee": 2.01525,
            "padding": 0
        },
        {
            "term": "VI-US CPS/SMALL TCKT REG (DB)",
            "normalized": "CPS/Small Ticket, Debit - Regulated (CP)",
            "network": "Visa",
            "amount": 498.36,
            "countTx": 53,
            "rate": 0.0005,
            "perTx": 0.22,
            "fee": 11.91,
            "standardRate": 0.0005,
            "standardPerTx": 0.22,
            "standardFee": 11.90918,
            "padding": 0
        },
        {
            "term": "VI-CPS/SMALL TICKET",
            "normalized": "Small Ticket - All Other",
            "network": "Visa",
            "amount": 264.38,
            "countTx": 25,
            "rate": 0.0165,
            "perTx": 0.04,
            "fee": 5.36,
            "standardRate": 0.019,
            "standardPerTx": 0,
            "standardFee": 5.02322,
            "padding": 0.33678
        },
        {
            "term": "VI-CPS/REWARDS 2",
            "normalized": null,
            "network": null,
            "amount": 1780.83,
            "countTx": 24,
            "rate": 0.0195,
            "perTx": 0.1,
            "fee": 37.13,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VI-CPS/RESTAURANT CREDIT",
            "normalized": null,
            "network": null,
            "amount": 1304.7,
            "countTx": 27,
            "rate": 0.0154,
            "perTx": 0.1,
            "fee": 22.79,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VI-INTREG BUS/CORP/PURCH (US)",
            "normalized": "T&E Large Ticket - World High Value",
            "network": "Mastercard",
            "amount": 334.68,
            "countTx": 10,
            "rate": 0.0245,
            "perTx": 0,
            "fee": 8.2,
            "standardRate": 0.02,
            "standardPerTx": 0,
            "standardFee": 6.6936,
            "padding": 1.5064
        },
        {
            "term": "VI-ELECTRONIC (US ACQ)",
            "normalized": "Electronic Program - All Commerical Products",
            "network": "Visa",
            "amount": 248.93,
            "countTx": 10,
            "rate": 0.0155,
            "perTx": 0,
            "fee": 3.86,
            "standardRate": 0.02,
            "standardPerTx": 0,
            "standardFee": 4.9786,
            "padding": 0
        },
        {
            "term": "VI-INTREG CHIP ISS (US)",
            "normalized": "Issuer Chip Card - All Commerical Products",
            "network": "Visa",
            "amount": 114.82,
            "countTx": 4,
            "rate": 0.0165,
            "perTx": 0,
            "fee": 1.89,
            "standardRate": 0.02,
            "standardPerTx": 0,
            "standardFee": 2.2964,
            "padding": 0
        },
        {
            "term": "VI-EIRF NON CPS ALL OTHER",
            "normalized": null,
            "network": null,
            "amount": 181,
            "countTx": 1,
            "rate": 0.023,
            "perTx": 0.1,
            "fee": 4.26,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VI-SIGNATURE CARD ELECTRONIC",
            "normalized": null,
            "network": null,
            "amount": 5682.82,
            "countTx": 101,
            "rate": 0.023,
            "perTx": 0.1,
            "fee": 140.81,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VI-INTER PREM CAN ISS US ACQ",
            "normalized": null,
            "network": null,
            "amount": 111.49,
            "countTx": 3,
            "rate": 0.0225,
            "perTx": 0,
            "fee": 2.51,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VI-BUSINESS CARD TR1 ELEC T&E",
            "normalized": null,
            "network": null,
            "amount": 246.88,
            "countTx": 4,
            "rate": 0.024,
            "perTx": 0.1,
            "fee": 6.33,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VI-SIGNATURE PREFERRED CRP ELC",
            "normalized": null,
            "network": null,
            "amount": 8346.52,
            "countTx": 158,
            "rate": 0.024,
            "perTx": 0.1,
            "fee": 216.12,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VI-SIGNATURE PREFERRED CRP STD",
            "normalized": null,
            "network": null,
            "amount": 86.63,
            "countTx": 1,
            "rate": 0.0295,
            "perTx": 0.1,
            "fee": 2.66,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VI-SUPER PREMIUM LAC ISS US AC",
            "normalized": "Issuer Chip Card - Infinite",
            "network": "Visa",
            "amount": 86.2,
            "countTx": 4,
            "rate": 0.0242,
            "perTx": 0,
            "fee": 2.09,
            "standardRate": 0.0197,
            "standardPerTx": 0,
            "standardFee": 1.69814,
            "padding": 0.39186
        },
        {
            "term": "VI-BUSINESS CARD TR2 ELEC T&E",
            "normalized": "Commercial/Corporate/Purchasing Level II",
            "network": "Visa",
            "amount": 36,
            "countTx": 1,
            "rate": 0.0275,
            "perTx": 0.15,
            "fee": 1.14,
            "standardRate": 0.025,
            "standardPerTx": 0.1,
            "standardFee": 1,
            "padding": 0.14
        },
        {
            "term": "VI-BUSINESS CARD TR3 ELEC T&E",
            "normalized": null,
            "network": null,
            "amount": 281.19,
            "countTx": 5,
            "rate": 0.0285,
            "perTx": 0.2,
            "fee": 9.01,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VI-CPS SMALL TICKET (DB)",
            "normalized": "CPS/Small Ticket, Debit - Exempt (CP)",
            "network": "Visa",
            "amount": 248.33,
            "countTx": 22,
            "rate": 0.0155,
            "perTx": 0.04,
            "fee": 4.73,
            "standardRate": 0.0155,
            "standardPerTx": 0.04,
            "standardFee": 4.729115,
            "padding": 0
        },
        {
            "term": "VI-CPS/RESTAURANT (DB)",
            "normalized": "CPS/Restaurant, Debit - Exempt (CP)",
            "network": "Visa",
            "amount": 6826.5,
            "countTx": 123,
            "rate": 0.0119,
            "perTx": 0.1,
            "fee": 93.54,
            "standardRate": 0.0119,
            "standardPerTx": 0.1,
            "standardFee": 93.53535,
            "padding": 0
        },
        {
            "term": "VI-CORPORATE TRAVEL SVC",
            "normalized": "Commercial/Corporate/Purchasing Travel Service",
            "network": "Visa",
            "amount": 1881.49,
            "countTx": 28,
            "rate": 0.0265,
            "perTx": 0.1,
            "fee": 52.66,
            "standardRate": 0.0265,
            "standardPerTx": 0.1,
            "standardFee": 52.659485,
            "padding": 0
        },
        {
            "term": "VI-PURCHASING TRAVEL SVC",
            "normalized": "Commercial/Corporate/Purchasing Travel Service",
            "network": "Visa",
            "amount": 830.56,
            "countTx": 12,
            "rate": 0.0265,
            "perTx": 0.1,
            "fee": 23.21,
            "standardRate": 0.0265,
            "standardPerTx": 0.1,
            "standardFee": 23.20984,
            "padding": 0
        },
        {
            "term": "VI-US HNW CONSUMER ELECT",
            "normalized": null,
            "network": null,
            "amount": 159.79,
            "countTx": 7,
            "rate": 0.024,
            "perTx": 0.1,
            "fee": 4.54,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VI-BUSINESS CARD TR4 ELEC",
            "normalized": null,
            "network": null,
            "amount": 563.6,
            "countTx": 11,
            "rate": 0.0295,
            "perTx": 0.2,
            "fee": 18.83,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VI-CPS/RESTAURANT (PP)",
            "normalized": "CPS/Restaurant, Prepaid - Exempt (CP)",
            "network": "Visa",
            "amount": 338.58,
            "countTx": 13,
            "rate": 0.0115,
            "perTx": 0.15,
            "fee": 5.84,
            "standardRate": 0.0115,
            "standardPerTx": 0.15,
            "standardFee": 5.84367,
            "padding": 0
        },
        {
            "term": "DSCVR INTL CONSUMER CREDIT",
            "normalized": "PSL US International Commercial",
            "network": "Discover",
            "amount": 58,
            "countTx": 2,
            "rate": 0.0215,
            "perTx": 0,
            "fee": 1.25,
            "standardRate": 0.024,
            "standardPerTx": 0.1,
            "standardFee": 1.592,
            "padding": 0
        },
        {
            "term": "DSCVR PSL REST DB",
            "normalized": "PSL Restaurants - Premium Plus",
            "network": "Discover",
            "amount": 152.31,
            "countTx": 1,
            "rate": 0.011,
            "perTx": 0.16,
            "fee": 1.84,
            "standardRate": 0.024,
            "standardPerTx": 0.1,
            "standardFee": 3.75544,
            "padding": 0
        },
        {
            "term": "DSCVR COMML ELECT OTHER",
            "normalized": "PSL Commercial Electronic",
            "network": "Discover",
            "amount": 978.02,
            "countTx": 17,
            "rate": 0.023,
            "perTx": 0.1,
            "fee": 24.19,
            "standardRate": 0.0235,
            "standardPerTx": 0.1,
            "standardFee": 24.68347,
            "padding": 0
        },
        {
            "term": "DSCVR PSL REST PR",
            "normalized": "PSL Restaurants - Rewards",
            "network": "Discover",
            "amount": 894.54,
            "countTx": 10,
            "rate": 0.022,
            "perTx": 0.1,
            "fee": 20.68,
            "standardRate": 0.0195,
            "standardPerTx": 0.1,
            "standardFee": 18.44353,
            "padding": 2.23647
        },
        {
            "term": "DSCVR PSL REST RW",
            "normalized": "PSL Restaurants - Core",
            "network": "Discover",
            "amount": 1666.27,
            "countTx": 32,
            "rate": 0.019,
            "perTx": 0.1,
            "fee": 34.86,
            "standardRate": 0.0156,
            "standardPerTx": 0.1,
            "standardFee": 29.193812,
            "padding": 5.666188
        },
        {
            "term": "DSCVR PSL EXP SVC RW",
            "normalized": "PSL Express Services - Core",
            "network": "Discover",
            "amount": 13,
            "countTx": 2,
            "rate": 0.0195,
            "perTx": 0,
            "fee": 0.25,
            "standardRate": 0.0195,
            "standardPerTx": 0,
            "standardFee": 0.2535,
            "padding": 0
        },
        {
            "term": "AXP RESTAURANT BASE T1",
            "normalized": "Restaurant Tier 1",
            "network": "AMEX",
            "amount": 987.3,
            "countTx": 55,
            "rate": 0.0185,
            "perTx": 0.1,
            "fee": 23.77,
            "standardRate": 0.0185,
            "standardPerTx": 0.1,
            "standardFee": 23.76505,
            "padding": 0
        },
        {
            "term": "AXP RESTAURANT NONUS T1",
            "normalized": "Restaurant Non-U.S. Tier 1",
            "network": "AMEX",
            "amount": 93.8,
            "countTx": 4,
            "rate": 0.0225,
            "perTx": 0.1,
            "fee": 2.51,
            "standardRate": 0.0225,
            "standardPerTx": 0.1,
            "standardFee": 2.5105,
            "padding": 0
        },
        {
            "term": "AXP RESTAURANT BASE T2",
            "normalized": "Restaurant Tier 2",
            "network": "AMEX",
            "amount": 9111.85,
            "countTx": 166,
            "rate": 0.0245,
            "perTx": 0.1,
            "fee": 239.84,
            "standardRate": 0.025,
            "standardPerTx": 0.1,
            "standardFee": 244.39625,
            "padding": 0
        },
        {
            "term": "AXP RESTAURANT NONSWIPE T2",
            "normalized": "Restaurant Non-Swipe Tier 2",
            "network": "AMEX",
            "amount": 41.2,
            "countTx": 1,
            "rate": 0.0275,
            "perTx": 0.1,
            "fee": 1.23,
            "standardRate": 0.028,
            "standardPerTx": 0.1,
            "standardFee": 1.2536,
            "padding": 0
        },
        {
            "term": "AXP RESTAURANT NONUS T2",
            "normalized": "Restaurant Non-U.S. Tier 2",
            "network": "AMEX",
            "amount": 131.43,
            "countTx": 3,
            "rate": 0.0285,
            "perTx": 0.1,
            "fee": 4.05,
            "standardRate": 0.025,
            "standardPerTx": 0.1,
            "standardFee": 3.58575,
            "padding": 0.46425
        },
        {
            "term": "AXP RESTAURANT BASE T3",
            "normalized": "Restaurant Tier 3",
            "network": "AMEX",
            "amount": 2871.85,
            "countTx": 9,
            "rate": 0.0275,
            "perTx": 0.1,
            "fee": 79.88,
            "standardRate": 0.0285,
            "standardPerTx": 0.1,
            "standardFee": 82.747725,
            "padding": 0
        }
    ],
    "Total Interchange padding": 29.666393999999997,
    "Interchange optimization": {
        "totalSavings": 189.54499,
        "items": [
            {
                "term": "MC-CORP DATA RATE I (US) BUS",
                "normalized": "Data Rate I Level 1 Business Core |  Commercial Data Rate I Business Level 1",
                "network": "Mastercard",
                "amount": 15303.97,
                "rate": 0.0265,
                "countTx": 48,
                "perTx": 0.1,
                "fee": 410.36,
                "padding": 0,
                "paddingPercentage": 0,
                "standardCost": 410.35521,
                "standardRate": 0.0265,
                "standardPerTx": 0.1,
                "availableOptimizations": [
                    {
                        "level": 2,
                        "optimizedCategory": "Data Rate II Level 1 Business Core |  Commercial Data Rate II L1",
                        "optimizedRate": 0.019,
                        "optimizedPerTx": 0.1,
                        "optimizedCost": 295.57543,
                        "savings": 114.77978
                    }
                ],
                "maxOptimizedCategory": "Data Rate II Level 1 Business Core |  Commercial Data Rate II L1",
                "maxOptimizedRate": 0.019,
                "maxOptimizedPerTx": 0.1,
                "maxOptimizedCost": 295.57543,
                "maxOptimizedSavings": 114.77978
            },
            {
                "term": "VI-PURCHASING CARD CNP",
                "normalized": "Commercial/Corporate/Purchasing Card Not Present",
                "network": "Visa",
                "amount": 5297.85,
                "rate": 0.027,
                "countTx": 11,
                "perTx": 0.1,
                "fee": 144.14,
                "padding": 0,
                "paddingPercentage": 0,
                "standardCost": 144.14195,
                "standardRate": 0.027,
                "standardPerTx": 0.1,
                "availableOptimizations": [
                    {
                        "level": 2,
                        "optimizedCategory": "Commercial/Corporate/Purchasing Level II",
                        "optimizedRate": 0.025,
                        "optimizedPerTx": 0.1,
                        "optimizedCost": 133.54625,
                        "savings": 10.5957
                    },
                    {
                        "level": 3,
                        "optimizedCategory": "Commercial/Corporate/Purchasing Level III",
                        "optimizedRate": 0.019,
                        "optimizedPerTx": 0.1,
                        "optimizedCost": 101.75915,
                        "savings": 42.3828
                    }
                ],
                "maxOptimizedCategory": "Commercial/Corporate/Purchasing Level III",
                "maxOptimizedRate": 0.019,
                "maxOptimizedPerTx": 0.1,
                "maxOptimizedCost": 101.75915,
                "maxOptimizedSavings": 42.3828
            },
            {
                "term": "MC-WORLD ELITE MERIT I",
                "normalized": "Merit I - World Elite ",
                "network": "Mastercard",
                "amount": 1671.82,
                "rate": 0.026,
                "countTx": 7,
                "perTx": 0.1,
                "fee": 44.17,
                "padding": 0,
                "paddingPercentage": 0,
                "standardCost": 44.16732,
                "standardRate": 0.026,
                "standardPerTx": 0.1,
                "availableOptimizations": [
                    {
                        "level": 3,
                        "optimizedCategory": "MC World Elite Merit 1 (3D Secure)",
                        "optimizedRate": 0.022,
                        "optimizedPerTx": 0.1,
                        "optimizedCost": 37.48004,
                        "savings": 6.68728
                    }
                ],
                "maxOptimizedCategory": "MC World Elite Merit 1 (3D Secure)",
                "maxOptimizedRate": 0.022,
                "maxOptimizedPerTx": 0.1,
                "maxOptimizedCost": 37.48004,
                "maxOptimizedSavings": 6.68728
            },
            {
                "term": "VI-EIRF NON CPS ALL OTHER (PP)",
                "normalized": "Electronic Interchange Reimbursement Fee (EIRF) - Exempt",
                "network": "Visa",
                "amount": 1825,
                "rate": 0.018,
                "countTx": 5,
                "perTx": 0.2,
                "fee": 33.85,
                "padding": 0,
                "paddingPercentage": 0,
                "standardCost": 33.85,
                "standardRate": 0.018,
                "standardPerTx": 0.2,
                "availableOptimizations": [
                    {
                        "level": 2,
                        "optimizedCategory": "CPS/Card Not Present, Prepaid - Exempt (CNP)",
                        "optimizedRate": 0.0175,
                        "optimizedPerTx": 0.2,
                        "optimizedCost": 32.9375,
                        "savings": 0.9125
                    }
                ],
                "maxOptimizedCategory": "CPS/Card Not Present, Prepaid - Exempt (CNP)",
                "maxOptimizedRate": 0.0175,
                "maxOptimizedPerTx": 0.2,
                "maxOptimizedCost": 32.9375,
                "maxOptimizedSavings": 0.9125
            },
            {
                "term": "MC-COM DATA RATE I FLT NFUEL",
                "normalized": "Data Rate I - Large Market Credit |  Commercial Data Rate I Large Market",
                "network": "Mastercard",
                "amount": 1118.8,
                "rate": 0.027,
                "countTx": 8,
                "perTx": 0.1,
                "fee": 31.01,
                "padding": 0,
                "paddingPercentage": 0,
                "standardCost": 31.0076,
                "standardRate": 0.027,
                "standardPerTx": 0.1,
                "availableOptimizations": [
                    {
                        "level": 2,
                        "optimizedCategory": "Data Rate II - Large Market Credit |  Commercial Data Rate II Large Market",
                        "optimizedRate": 0.025,
                        "optimizedPerTx": 0.1,
                        "optimizedCost": 28.77,
                        "savings": 2.2376
                    },
                    {
                        "level": 3,
                        "optimizedCategory": "Data Rate III - Large Market Credit |  Commercial Data Rate III Large Market",
                        "optimizedRate": 0.019,
                        "optimizedPerTx": 0.1,
                        "optimizedCost": 22.0572,
                        "savings": 8.9504
                    }
                ],
                "maxOptimizedCategory": "Data Rate III - Large Market Credit |  Commercial Data Rate III Large Market",
                "maxOptimizedRate": 0.019,
                "maxOptimizedPerTx": 0.1,
                "maxOptimizedCost": 22.0572,
                "maxOptimizedSavings": 8.9504
            },
            {
                "term": "MC-DOMESTIC MERIT I (DB)",
                "normalized": "Merit I - Debit Rate |  Non-Regulated Consumer Debit",
                "network": "Mastercard",
                "amount": 1067.32,
                "rate": 0.0165,
                "countTx": 9,
                "perTx": 0.15,
                "fee": 18.96,
                "padding": 0,
                "paddingPercentage": 0,
                "standardCost": 18.96078,
                "standardRate": 0.0165,
                "standardPerTx": 0.15,
                "availableOptimizations": [
                    {
                        "level": 3,
                        "optimizedCategory": "MC Merit 1 Debit (3D Secure)",
                        "optimizedRate": 0.011,
                        "optimizedPerTx": 0.15,
                        "optimizedCost": 13.09052,
                        "savings": 5.87026
                    }
                ],
                "maxOptimizedCategory": "MC Merit 1 Debit (3D Secure)",
                "maxOptimizedRate": 0.011,
                "maxOptimizedPerTx": 0.15,
                "maxOptimizedCost": 13.09052,
                "maxOptimizedSavings": 5.87026
            },
            {
                "term": "MC-BUS LEVEL 2 DATA RATE I",
                "normalized": "Data Rate I Level 2 Business World |  Commercial Data Rate I Business Level 2",
                "network": "Mastercard",
                "amount": 550,
                "rate": 0.028,
                "countTx": 1,
                "perTx": 0.1,
                "fee": 15.5,
                "padding": 0,
                "paddingPercentage": 0,
                "standardCost": 15.5,
                "standardRate": 0.028,
                "standardPerTx": 0.1,
                "availableOptimizations": [
                    {
                        "level": 2,
                        "optimizedCategory": "Data Rate II Level 2 Business World |  Commercial Data Rate II L2",
                        "optimizedRate": 0.0205,
                        "optimizedPerTx": 0.1,
                        "optimizedCost": 11.375,
                        "savings": 4.125
                    }
                ],
                "maxOptimizedCategory": "Data Rate II Level 2 Business World |  Commercial Data Rate II L2",
                "maxOptimizedRate": 0.0205,
                "maxOptimizedPerTx": 0.1,
                "maxOptimizedCost": 11.375,
                "maxOptimizedSavings": 4.125
            },
            {
                "term": "VI-EIRF NON CPS ALL OTHER (DB)",
                "normalized": "Electronic Interchange Reimbursement Fee (EIRF), Debit - Exempt",
                "network": "Visa",
                "amount": 558.22,
                "rate": 0.0175,
                "countTx": 5,
                "perTx": 0.2,
                "fee": 10.77,
                "padding": 0,
                "paddingPercentage": 0,
                "standardCost": 10.76885,
                "standardRate": 0.0175,
                "standardPerTx": 0.2,
                "availableOptimizations": [
                    {
                        "level": 2,
                        "optimizedCategory": "CPS/Card Not Present, Debit - Exempt (CNP)",
                        "optimizedRate": 0.0165,
                        "optimizedPerTx": 0.15,
                        "optimizedCost": 9.96063,
                        "savings": 0.80822
                    }
                ],
                "maxOptimizedCategory": "CPS/Card Not Present, Debit - Exempt (CNP)",
                "maxOptimizedRate": 0.0165,
                "maxOptimizedPerTx": 0.15,
                "maxOptimizedCost": 9.96063,
                "maxOptimizedSavings": 0.80822
            },
            {
                "term": "VI-US BUS TR4 PRD 1",
                "normalized": "Business Product 1 - Tier 4",
                "network": "Visa",
                "amount": 254.5,
                "rate": 0.0295,
                "countTx": 2,
                "perTx": 0.1,
                "fee": 7.71,
                "padding": 0,
                "paddingPercentage": 0,
                "standardCost": 7.70775,
                "standardRate": 0.0295,
                "standardPerTx": 0.1,
                "availableOptimizations": [
                    {
                        "level": 2,
                        "optimizedCategory": "Business Level II - Tier 4",
                        "optimizedRate": 0.022,
                        "optimizedPerTx": 0.1,
                        "optimizedCost": 5.799,
                        "savings": 1.90875
                    }
                ],
                "maxOptimizedCategory": "Business Level II - Tier 4",
                "maxOptimizedRate": 0.022,
                "maxOptimizedPerTx": 0.1,
                "maxOptimizedCost": 5.799,
                "maxOptimizedSavings": 1.90875
            },
            {
                "term": "VI-NON QUAL BUS CR",
                "normalized": "Business Non-Qualified - Tier 1",
                "network": "Visa",
                "amount": 200,
                "rate": 0.0315,
                "countTx": 1,
                "perTx": 0.2,
                "fee": 6.5,
                "padding": 0,
                "paddingPercentage": 0,
                "standardCost": 6.5,
                "standardRate": 0.0315,
                "standardPerTx": 0.2,
                "availableOptimizations": [
                    {
                        "level": 2,
                        "optimizedCategory": "Business Level II - Tier 1",
                        "optimizedRate": 0.019,
                        "optimizedPerTx": 0.1,
                        "optimizedCost": 3.9,
                        "savings": 2.6
                    }
                ],
                "maxOptimizedCategory": "Business Level II - Tier 1",
                "maxOptimizedRate": 0.019,
                "maxOptimizedPerTx": 0.1,
                "maxOptimizedCost": 3.9,
                "maxOptimizedSavings": 2.6
            },
            {
                "term": "MC-ENHANCED MERIT I",
                "normalized": "Merit I - Enhanced ",
                "network": "Mastercard",
                "amount": 130,
                "rate": 0.021,
                "countTx": 1,
                "perTx": 0.1,
                "fee": 2.83,
                "padding": 0,
                "paddingPercentage": 0,
                "standardCost": 2.83,
                "standardRate": 0.021,
                "standardPerTx": 0.1,
                "availableOptimizations": [
                    {
                        "level": 3,
                        "optimizedCategory": "MC Enhanced Value Merit 1 (3D Secure)",
                        "optimizedRate": 0.017,
                        "optimizedPerTx": 0.1,
                        "optimizedCost": 2.31,
                        "savings": 0.52
                    }
                ],
                "maxOptimizedCategory": "MC Enhanced Value Merit 1 (3D Secure)",
                "maxOptimizedRate": 0.017,
                "maxOptimizedPerTx": 0.1,
                "maxOptimizedCost": 2.31,
                "maxOptimizedSavings": 0.52
            }
        ]
    },
    "Card Brands Dues and Assessments": [
        {
            "term": "MASTERCARD ASSESSMENT FEE",
            "normalized": "Assessment %",
            "network": "Mastercard",
            "amount": 20526.39,
            "countTx": 1,
            "rate": 0.0013,
            "perTx": 0,
            "fee": 26.68,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "MC LICENSE VOLUME FEE",
            "normalized": "MC Acquirer License Fee",
            "network": "Mastercard",
            "amount": 20526.39,
            "countTx": 1,
            "rate": 6.1e-5,
            "perTx": 0,
            "fee": 1.25,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "MC NETWORK ACCESS AUTH FEE",
            "normalized": "Assessment PI (NABU Fee)",
            "network": "Mastercard",
            "amount": 0,
            "countTx": 416,
            "rate": 0,
            "perTx": 0.0195,
            "fee": 8.11,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VISA ASSESSMENT FEE CR",
            "normalized": "Assessments %",
            "network": "Visa",
            "amount": 22542.51,
            "countTx": 1,
            "rate": 0.0013,
            "perTx": 0,
            "fee": 29.31,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VISA ASSESSMENT FEE DB",
            "normalized": "Visa Debit Assessments",
            "network": "Visa",
            "amount": 25568.33,
            "countTx": 1,
            "rate": 0.0013,
            "perTx": 0,
            "fee": 33.24,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "ACQUIRER PROCESSOR FEE CREDIT",
            "normalized": null,
            "network": null,
            "amount": 0,
            "countTx": 448,
            "rate": 0,
            "perTx": 0.0195,
            "fee": 8.74,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "ACQUIRER PROCESSOR FEE DB/PP",
            "normalized": null,
            "network": null,
            "amount": 0,
            "countTx": 573,
            "rate": 0,
            "perTx": 0.0155,
            "fee": 8.88,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "DISCOVER ASSESSMENT FEE",
            "normalized": "Assessment %",
            "network": "Discover",
            "amount": 3762.14,
            "countTx": 1,
            "rate": 0.0013,
            "perTx": 0,
            "fee": 4.89,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "DISCOVER DATA USAGE FEE",
            "normalized": "Assessment PI (Network Authorization Fee)† ",
            "network": "Discover",
            "amount": 0,
            "countTx": 64,
            "rate": 0,
            "perTx": 0.0195,
            "fee": 1.25,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "NETWORK AUTHORIZATION FEE",
            "normalized": null,
            "network": null,
            "amount": 0,
            "countTx": 64,
            "rate": 0,
            "perTx": 0.0025,
            "fee": 0.16,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "AMEX NETWORK FEE",
            "normalized": "Amex Network Fees",
            "network": "AMEX",
            "amount": 13237.43,
            "countTx": 1,
            "rate": 0.0015,
            "perTx": 0,
            "fee": 19.86,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VI BASE II SYSTEM FILE FEE",
            "normalized": "Clearing Access",
            "network": "Visa",
            "amount": 0,
            "countTx": 990,
            "rate": 0,
            "perTx": 0.0018,
            "fee": 1.78,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VI BASE II CR VOUCHER FEE CR",
            "normalized": null,
            "network": null,
            "amount": 0,
            "countTx": 1,
            "rate": 0,
            "perTx": 0.0195,
            "fee": 0.02,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VISA INTL SERVICE FEE - BASE",
            "normalized": null,
            "network": null,
            "amount": 797.21,
            "countTx": 28,
            "rate": 0,
            "perTx": 0,
            "fee": 6.38,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "US CROSS BORDER FEE",
            "normalized": null,
            "network": null,
            "amount": 518.66,
            "countTx": 14,
            "rate": 0,
            "perTx": 0,
            "fee": 3.11,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        },
        {
            "term": "VI TRANSACTION INTEGRITY FEE",
            "normalized": "Visa Transaction Integrity Fee (TIF)",
            "network": "Visa",
            "amount": 0,
            "countTx": 2,
            "rate": 0,
            "perTx": 0.1,
            "fee": 0.2,
            "standardRate": 0,
            "standardPerTx": 0,
            "standardFee": 0,
            "padding": 0
        }
    ],
    "Total Card Brands Dues and Assessments padding": 0,
    "Processor-Specific Fees": [
        {
            "term": "MASTERCARD SALES DISCOUNT",
            "category": "Processing fee",
            "network": "Processor",
            "amount": 15250.57,
            "rate": 0.0015,
            "countTx": 1,
            "perTx": 0,
            "fee": 22.88
        },
        {
            "term": "MASTERCARD DEBIT SALES DISC",
            "category": "Processing fee",
            "network": "Processor",
            "amount": 5275.82,
            "rate": 0.0015,
            "countTx": 1,
            "perTx": 0,
            "fee": 7.91
        },
        {
            "term": "MASTERCARD AUTH FEE",
            "category": "Processing fee",
            "network": "Processor",
            "amount": 0,
            "rate": 0,
            "countTx": 435,
            "perTx": 0.05,
            "fee": 21.75
        },
        {
            "term": "VISA DEBIT SALES DISCOUNT",
            "category": "Processing fee",
            "network": "Processor",
            "amount": 25568.33,
            "rate": 0.0015,
            "countTx": 1,
            "perTx": 0,
            "fee": 38.35
        },
        {
            "term": "VISA SALES DISCOUNT",
            "category": "Processing fee",
            "network": "Processor",
            "amount": 22542.51,
            "rate": 0.0015,
            "countTx": 1,
            "perTx": 0,
            "fee": 33.81
        },
        {
            "term": "VISA AUTH FEE",
            "category": "Processing fee",
            "network": "Processor",
            "amount": 0,
            "rate": 0,
            "countTx": 1031,
            "perTx": 0.05,
            "fee": 51.55
        },
        {
            "term": "DISCOVER SALES DISCOUNT",
            "category": "Processing fee",
            "network": "Processor",
            "amount": 3609.83,
            "rate": 0.0015,
            "countTx": 1,
            "perTx": 0,
            "fee": 5.41
        },
        {
            "term": "DISCOVER DEBIT SALES DISCOUNT",
            "category": "Processing fee",
            "network": "Processor",
            "amount": 152.31,
            "rate": 0.0015,
            "countTx": 1,
            "perTx": 0,
            "fee": 0.23
        },
        {
            "term": "DISCOVER AUTH FEE",
            "category": "Processing fee",
            "network": "Processor",
            "amount": 0,
            "rate": 0,
            "countTx": 64,
            "perTx": 0.05,
            "fee": 3.2
        },
        {
            "term": "AMEX AUTH FEE",
            "category": "Processing fee",
            "network": "Processor",
            "amount": 0,
            "rate": 0,
            "countTx": 242,
            "perTx": 0.05,
            "fee": 12.1
        },
        {
            "term": "AMEX SALES DISCOUNT",
            "category": "Processing fee",
            "network": "Processor",
            "amount": 13237.43,
            "rate": 0.0025,
            "countTx": 1,
            "perTx": 0,
            "fee": 33.09
        },
        {
            "term": "BATCH SETTLEMENT FEE",
            "category": "Batch",
            "network": "Processor",
            "amount": 0,
            "rate": 0,
            "countTx": 24,
            "perTx": 0.05,
            "fee": 1.2
        },
        {
            "term": "REGULATORY PRODUCT FEE",
            "category": "Service",
            "network": "Processor",
            "amount": 0,
            "rate": 0,
            "countTx": 1,
            "perTx": 0,
            "fee": 3.5
        },
        {
            "term": "MONTHLY STATEMENT FEE",
            "category": "Service",
            "network": "Processor",
            "amount": 0,
            "rate": 0,
            "countTx": 1,
            "perTx": 0,
            "fee": 10
        }
    ],
    "Unknown Fees": [
        {
            "term": "MASTERCARD KILOBYTE TRANS FEE",
            "normalized": null,
            "network": null,
            "amount": 0,
            "rate": 0,
            "countTx": 213,
            "perTx": 0.035,
            "fee": 7.46
        }
    ]
}
 

Request   

GET api/v1/statements/get-datapoints/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

A valid statement ID previously obtained. Example: 1755002352774017576

2.8 Get FeeNav Excel (id) - GET

requires authentication

Returns the completed analysis in the Fee Navigator standard Excel .xlsx format. It will include multiple tabs, based on the options selected.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/analysis/download/excel/"xK1v5bvy"?analysis=1&summary=0&padding=1&optimization=1" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/analysis/download/excel/"xK1v5bvy""
);

const params = {
    "analysis": "1",
    "summary": "0",
    "padding": "1",
    "optimization": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/analysis/download/excel/"xK1v5bvy"';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'analysis' => '1',
            'summary' => '0',
            'padding' => '1',
            'optimization' => '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (404):


{
    "errors": [
        "Statement not found"
    ]
}
 

Example response (500):


{
    "errors": [
        "Internal Server Error -- We had a problem with our server. Try again later."
    ]
}
 

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
 

{
    "message": "Server Error"
}
 

Request   

GET api/v1/analysis/download/excel/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

Statement id previously obtained. Example: "xK1v5bvy"

Query Parameters

analysis   string   

Whether to return full analysis (1) or not (0). Example: 1

summary   string   

Whether to return summary analysis (1) or not (0). Example: 0

padding   string   

Whether to extract IC Padding (1) or not (0). Example: 1

optimization   string   

Whether to extract IC Optimization (1) or not (0). Example: 1

2.9 Get Proposal PDF (id) - GET

requires authentication

Returns the completed proposal in PDF format. That is, once generated in Word/Excel, it will be converted to PDF and returned.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-proposal-pdf/1755002352774017576" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-proposal-pdf/1755002352774017576"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-proposal-pdf/1755002352774017576';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (404):


{
    "errors": [
        "Statement not found"
    ]
}
 

Example response (500):


{
    "errors": [
        "Internal Server Error -- We had a problem with our server. Try again later."
    ]
}
 

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
 

{
    "message": "Server Error"
}
 

Request   

GET api/v1/get-proposal-pdf/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

Statement id previously obtained. Example: 1755002352774017576

2.10 Get Proposal - GET

requires authentication

Returns the completed proposal in its source template format - either Word or Excel.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-proposal/1755002352774017576" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-proposal/1755002352774017576"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-proposal/1755002352774017576';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (404):


{
    "errors": [
        "Statement not found"
    ]
}
 

Example response (500):


{
    "errors": [
        "Internal Server Error -- We had a problem with our server. Try again later."
    ]
}
 

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
 

{
    "message": "Server Error"
}
 

Request   

GET api/v1/get-proposal/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

Statement id previously obtained. Example: 1755002352774017576

2.11 Update Proposal (id) - POST

requires authentication

ID Name Description
95 Visa Credit discRateProposed Discount Rate for Visa Credit (Proposed)
96 Visa Credit transactionFeeProposed Per transaction cost for Visa Credit (Proposed)
97 Visa Debit discRateProposed Discount Rate for Visa Debit (Proposed)
98 Visa Debit transactionFeeProposed Per transaction cost for Visa Debit (Proposed)
99 Visa Auth transactionFeeProposed Per authorization cost for Visa (Proposed)
100 Mastercard Credit discRateProposed Discount Rate for Mastercard Credit (Proposed)
101 Mastercard Credit transactionFeeProposed Per transaction cost for Mastercard Credit (Proposed)
102 Mastercard Debit discRateProposed Discount Rate for Mastercard Debit (Proposed)
103 Mastercard Debit transactionFeeProposed Per transaction cost for Mastercard Debit (Proposed)
104 Mastercard Auth transactionFeeProposed Per authorization cost for Mastercard (Proposed)
105 Discover Credit discRateProposed Discount Rate for Discover Credit (Proposed)
106 Discover Credit transactionFeeProposed Per transaction cost for Discover Credit (Proposed)
107 Discover Debit discRateProposed Discount Rate for Discover Debit (Proposed)
108 Discover Debit transactionFeeProposed Per transaction cost for Discover Debit (Proposed)
109 Discover Auth transactionFeeProposed Per authorization cost for Discover (Proposed)
110 American Express discRateProposed Discount Rate for AMEX Credit (Proposed)
111 American Express transactionFeeProposed Per transaction cost for AMEX Credit (Proposed)
112 American Express Auth transactionFeeProposed Per authorization cost for AMEX (Proposed)
113 PIN Debit discRateProposed Discount Rate for PIN Debit (Proposed)
114 PIN Debit transactionFeeProposed Discount Rate for Discover Debit (Proposed)
115 EBT transactionFeeProposed Discount Rate for EBT (Proposed)
116 Fleet Cards / Other discRateProposed
117 Fleet Cards / Other transactionFeeProposed
122 Interchange & downgrades Proposed Interchange & Amex Program (Proposed)
123 Interchange optimization Proposed "Interchange optimization, if available"
125 AVS transactionFee Proposed Cost Per AVS transaction (Proposed)
126 PCI compliance Proposed PCI Compliance Fee (Proposed)
127 Non-PCI compliance Proposed PCI Non-Complince Fee (Proposed)
128 Batch transactionFee Proposed Per batch transaction cost (Proposed)
129 Monthly Proposed Service/Custom fees (Proposed)
151 Other fees Proposed
155 Dues & Assessments Proposed Dues & Assessments (Proposed)
162 Chargeback Proposed Chargeback (Proposed)
166 Surcharging Proposed Surcharging (Proposed)
169 Total Volume Proposed Volume amount for all card types (Proposed)

Update proposed data points for a statement's proposal.

If the plan is changed after setting the datapoints, all the custom datapoints entered will be overwritten.

Example request:
curl --request POST \
    "https://developer.feenavigator.com/api/v1/update-proposal/x236td5" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"dataPoints\": \"{\\\"95\\\":\\\"0.01990\\\",\\\"162\\\":\\\"30\\\"}\"
}"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/update-proposal/x236td5"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "dataPoints": "{\"95\":\"0.01990\",\"162\":\"30\"}"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/update-proposal/x236td5';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'dataPoints' => '{"95":"0.01990","162":"30"}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "success",
    "affectedDataPoints": [
        {
            "id": 78,
            "name": "Potential Savings",
            "type": "number",
            "decimals": 2,
            "isCorrect": null,
            "value": -21569.14,
            "prettyValue": null
        },
        {
            "id": 121,
            "name": "Processing Fees Proposed",
            "type": "number",
            "decimals": 2,
            "isCorrect": null,
            "value": 2233.82,
            "prettyValue": null
        },
        {
            "id": 130,
            "name": "Total Fees Proposed",
            "type": "number",
            "decimals": 2,
            "isCorrect": null,
            "value": 2884.62,
            "prettyValue": null
        },
        {
            "id": 131,
            "name": "Effective Rate Proposed",
            "type": "percentage",
            "decimals": 2,
            "isCorrect": null,
            "value": 0.0844,
            "prettyValue": null
        },
        {
            "id": 132,
            "name": "Monthly Savings",
            "type": "number",
            "decimals": 2,
            "isCorrect": null,
            "value": -1797.43,
            "prettyValue": null
        },
        {
            "id": 133,
            "name": "3 Year Savings",
            "type": "number",
            "decimals": 2,
            "isCorrect": null,
            "value": -64707.42,
            "prettyValue": null
        },
        {
            "id": 134,
            "name": "Pass-Through Fees Proposed",
            "type": "number",
            "decimals": 2,
            "isCorrect": null,
            "value": 650.8,
            "prettyValue": null
        },
        {
            "id": 136,
            "name": "Percent Processing Fees Proposed",
            "type": "percentage",
            "decimals": 2,
            "isCorrect": null,
            "value": 0.0654,
            "prettyValue": null
        },
        {
            "id": 138,
            "name": "Percent Pass-Through Fees Proposed",
            "type": "percentage",
            "decimals": 2,
            "isCorrect": null,
            "value": 0.019,
            "prettyValue": null
        },
        {
            "id": 80,
            "name": "Markup",
            "type": "number",
            "decimals": 2,
            "isCorrect": null,
            "value": 0.07,
            "prettyValue": null
        },
        {
            "id": 142,
            "name": "Margin Proposed Company",
            "type": "number",
            "decimals": 2,
            "isCorrect": null,
            "value": 1123.3,
            "prettyValue": null
        },
        {
            "id": 146,
            "name": "Company Residual Proposed",
            "type": "number",
            "decimals": 2,
            "isCorrect": null,
            "value": 561.65,
            "prettyValue": null
        },
        {
            "id": 147,
            "name": "Agent Residual Proposed",
            "type": "number",
            "decimals": 2,
            "isCorrect": null,
            "value": 561.65,
            "prettyValue": null
        },
        {
            "id": 150,
            "name": "Processor Cost Proposed",
            "type": "number",
            "decimals": 2,
            "isCorrect": null,
            "value": 464.14,
            "prettyValue": null
        },
        {
            "id": 152,
            "name": "Margin Proposed Agent",
            "type": "number",
            "decimals": 2,
            "isCorrect": null,
            "value": 1123.3,
            "prettyValue": null
        }
    ]
}
 

Example response (404):


{
    "errors": [
        "Statement not found."
    ]
}
 

Request   

POST api/v1/update-proposal/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

Statement id previously obtained. Example: x236td5

Body Parameters

dataPoints   string   

An JSON encoded array containing some or all the proposed data points new values having the data point ID as key. Example: {"95":"0.01990","162":"30"}

2.12 New Proposal - GET

requires authentication

Generates a new Proposal for existing analysed statement based on the specified plan.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/new-proposal/xYz23Pq?idPlan=123" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/new-proposal/xYz23Pq"
);

const params = {
    "idPlan": "123",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/new-proposal/xYz23Pq';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'idPlan' => '123',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "idStatement": "ccYrRdByO",
    "idCase": "_NNN_",
    "idMerchant": "_UUID_",
    "MerchantProposalLink": "https://periscope-ui.pro.feenavigator.com/#/merchant-proposal/_UUID_",
    "AnalysisEditLink": "https://feenavigator.com/compass/#/upload/case/_NNNNN_",
    "datapoints": {
        "merchant": {
            "id": "_UUID_",
            "company_id": 1234,
            "merchant_name": "SOME MERCHANT NAME",
            "first_name": "John",
            "last_name": "Smith",
            "email": null,
            "mobile": null,
            "zip": "90670-5133",
            "industry": 5713,
            "crm_stage_id": null,
            "created_at": "2023-01-17T07:27:22.000000Z",
            "updated_at": "2023-01-17T07:27:22.000000Z"
        },
        "MerchantProposalLink": "https://periscope-ui.pro.feenavigator.com/#/merchant-proposal/_UUID_",
        "AnalysisEditLink": "https://feenavigator.com/compass/#/upload/case/_NNNNN_",
        "EBT discRate": null,
        "Pricing Type": "IC Plus",
        "Merchant Name": "SOME MERCHANT NAME",
        "Merchant Address": "1234 BEST AVE\r\nSANTA FE SPGS CA 90670-1234",
        "Merchant Number": "56220000005223",
        "Statement Period Start": "10/01/22",
        "Statement Period End": "10/31/22",
        "Third Party Transactions": null,
        "Visa Credit amount": 430446.3,
        "Visa Credit discRate": 0.0055,
        "Visa Credit nrTransactions": 88,
        "Visa Credit transactionFee": null,
        "Visa Credit discRateProposed": 0.0121,
        "Visa Credit transactionFeeProposed": 0.18,
        "Visa Debit amount": null,
        "Visa Debit discRate": null,
        "Visa Debit nrTransactions": null,
        "Visa Debit transactionFee": null,
        "Visa Debit discRateProposed": null,
        "Visa Debit transactionFeeProposed": null,
        "Visa Auth nrTransactions": null,
        "Visa Auth transactionFee": null,
        "Visa Auth transactionFeeProposed": null,
        "Mastercard Credit amount": 39225.75,
        "Mastercard Credit discRate": 0.0055,
        "Mastercard Credit nrTransactions": 18,
        "Mastercard Credit transactionFee": null,
        "Mastercard Credit discRateProposed": 0.0121,
        "Mastercard Credit transactionFeeProposed": 0.18,
        "Mastercard Debit amount": null,
        "Mastercard Debit discRate": null,
        "Mastercard Debit nrTransactions": null,
        "Mastercard Debit transactionFee": null,
        "Mastercard Debit discRateProposed": null,
        "Mastercard Debit transactionFeeProposed": null,
        "Mastercard Auth nrTransactions": null,
        "Mastercard Auth transactionFee": null,
        "Mastercard Auth transactionFeeProposed": null,
        "Discover Credit amount": 2171.6,
        "Discover Credit discRate": 0.0055,
        "Discover Credit nrTransactions": 1,
        "Discover Credit transactionFee": null,
        "Discover Credit discRateProposed": 0.0121,
        "Discover Credit transactionFeeProposed": 0.18,
        "Discover Debit amount": null,
        "Discover Debit discRate": null,
        "Discover Debit nrTransactions": null,
        "Discover Debit transactionFee": null,
        "Discover Debit discRateProposed": null,
        "Discover Debit transactionFeeProposed": null,
        "Discover Auth nrTransactions": null,
        "Discover Auth transactionFee": null,
        "Discover Auth transactionFeeProposed": null,
        "American Express amount": 47138.3,
        "American Express discRate": 0.0055,
        "American Express nrTransactions": 16,
        "American Express transactionFee": null,
        "American Express discRateProposed": 0.0121,
        "American Express transactionFeeProposed": 0.18,
        "American Express Auth nrTransactions": null,
        "American Express Auth transactionFee": null,
        "American Express Auth transactionFeeProposed": null,
        "PIN Debit amount": null,
        "PIN Debit discRate": null,
        "PIN Debit nrTransactions": null,
        "PIN Debit transactionFee": null,
        "PIN Debit discRateProposed": null,
        "PIN Debit transactionFeeProposed": null,
        "EBT amount": null,
        "EBT nrTransactions": null,
        "EBT transactionFee": null,
        "EBT transactionFeeProposed": null,
        "Fleet Cards / Other amount": null,
        "Fleet Cards / Other discRate": null,
        "Fleet Cards / Other nrTransactions": null,
        "Fleet Cards / Other transactionFee": null,
        "Fleet Cards / Other discRateProposed": null,
        "Fleet Cards / Other transactionFeeProposed": null,
        "Interchange & downgrades": 12407,
        "Dues & Assessments": 747.84,
        "PIN debit interchange": null,
        "AVS nrTransactions": null,
        "AVS transactionFee": null,
        "PCI compliance": 3,
        "Non-PCI compliance": null,
        "Batch nrTransactions": 21,
        "Batch transactionFee": 0.25,
        "Monthly": 153.44,
        "Chargeback": null,
        "Surcharging": null,
        "Total Volume": 518981.95,
        "Total Fees": 16737.1,
        "Industry": "5713",
        "Representative First Name": null,
        "Representative Last Name": null,
        "Representative Phone": null,
        "Representative Email": null,
        "Card brands / other": null,
        "Processing Fees": 3582.26,
        "Pass-Through Fees": 13154.84,
        "Other fees": 566.17,
        "Calculated Other Fees": null,
        "Total Calculated Fees": 16737.1,
        "Monthly Fees": 16737.1,
        "1-Year Fees": 200845.2,
        "3-Year Fees": 602535.6,
        "Effective Rate": 0.0322,
        "Avoidable Fees": null,
        "Potential Savings": 7598.12,
        "Statement Period": "Oct 2022",
        "Total nrTransactions": 123,
        "Average Ticket": 4219.37,
        "Processing Fees Proposed": 6873.24,
        "Interchange & downgrades Proposed": 12406.99,
        "Interchange optimization Proposed": -3924.15,
        "PIN debit interchange Proposed": null,
        "AVS transactionFee Proposed": null,
        "PCI compliance Proposed": null,
        "Non-PCI compliance Proposed": null,
        "Batch transactionFee Proposed": 0.25,
        "Monthly Proposed": null,
        "Chargeback Proposed": null,
        "Other fees Proposed": 566.17,
        "Total Fees Proposed": 16103.92,
        "Effective Rate Proposed": 0.031,
        "Monthly Savings": 633.18,
        "3 Year Savings": 22794.37,
        "Pass-Through Fees Proposed": 9230.68,
        "Percent Processing Fees": 0.0069,
        "Percent Processing Fees Proposed": 0.0132,
        "Percent Pass-Through Fees": 0.0253,
        "Percent Pass-Through Fees Proposed": 0.0178,
        "Calculated Other Fees Proposed": null,
        "Percent Other Fees": null,
        "Percent Other Fees Proposed": null,
        "Calculated Total Volume": 518981.95,
        "Card brands / other Proposed": null,
        "Dues & Assessments Proposed": 747.84,
        "Surcharging Proposed": null,
        "Tiers Proposed": null,
        "Custom Service Proposed": null,
        "Other Processing Fees": null,
        "Margin Proposed Company": 4999.81,
        "Company Residual Proposed": 2499.91,
        "Agent Residual Proposed": 2499.91,
        "Potential Margin Company": 6166.42,
        "Potential Margin Agent": 6166.42,
        "Processor Cost Proposed": 1302.01,
        "Margin Proposed Agent": 4999.81,
        "Pass-through Fees To Substract": 0,
        "Interchange": [
            {
                "term": "VS Non-Qual Purchasing Credit",
                "normalized": null,
                "network": null,
                "amount": 5299.95,
                "countTx": 1,
                "rate": 0.0295,
                "perTx": 0.1,
                "fee": 156.45,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "VS EIRF Debit",
                "normalized": "Electronic Interchange Reimbursement Fee (EIRF), Debit - Exempt",
                "network": "Visa",
                "amount": 1387.22,
                "countTx": 1,
                "rate": 0.0175,
                "perTx": 0.2,
                "fee": 24.48,
                "standardRate": 0.0175,
                "standardPerTx": 0.2,
                "standardFee": 24.47635,
                "padding": 0
            },
            {
                "term": "VS Non Qual Cons Cr",
                "normalized": "Non-Qualified Consumer Credit - Signature Preferred (Visa Infinite)",
                "network": "Visa",
                "amount": 21581.19,
                "countTx": 9,
                "rate": 0.0315,
                "perTx": 0.1,
                "fee": 680.71,
                "standardRate": 0.0315,
                "standardPerTx": 0.1,
                "standardFee": 680.707485,
                "padding": 0
            },
            {
                "term": "VS Non Qual Bus Cr",
                "normalized": "Business Non-Qualified - Tier 1",
                "network": "Visa",
                "amount": 298378.08,
                "countTx": 28,
                "rate": 0.0315,
                "perTx": 0.2,
                "fee": 9404.52,
                "standardRate": 0.0315,
                "standardPerTx": 0.2,
                "standardFee": 9404.50952,
                "padding": 0.01048
            },
            {
                "term": "VS US Regulated Debit",
                "normalized": "CPS/Retail, Debit - Regulated (CP)",
                "network": "Visa",
                "amount": 105031.36,
                "countTx": 50,
                "rate": 0.0005,
                "perTx": 0.22,
                "fee": 63.52,
                "standardRate": 0.0005,
                "standardPerTx": 0.22,
                "standardFee": 63.51568,
                "padding": 0
            },
            {
                "term": "MC World Elite Key Entered",
                "normalized": "Key-entered - World Elite",
                "network": "Mastercard",
                "amount": 5541.63,
                "countTx": 2,
                "rate": 0.026,
                "perTx": 0.1,
                "fee": 144.29,
                "standardRate": 0.026,
                "standardPerTx": 0.1,
                "standardFee": 144.28238,
                "padding": 0
            },
            {
                "term": "MC Business Level 5 Data Rate I",
                "normalized": "Data Rate I Level 5 |  Commercial Data Rate I Business Level 5",
                "network": "Mastercard",
                "amount": 25357.9,
                "countTx": 11,
                "rate": 0.03,
                "perTx": 0.1,
                "fee": 761.84,
                "standardRate": 0.03,
                "standardPerTx": 0.1,
                "standardFee": 761.837,
                "padding": 0
            },
            {
                "term": "MC US Cons Regulated POS Debit w/Fraud Adj",
                "normalized": "Regulated Purchases POS Debit with Fraud Adjustment - Debit Rate |  Universal Regulated Debit Fraud Adj",
                "network": "Mastercard",
                "amount": 8326.22,
                "countTx": 5,
                "rate": 0.0005,
                "perTx": 0.22,
                "fee": 5.27,
                "standardRate": 0.0005,
                "standardPerTx": 0.22,
                "standardFee": 5.26311,
                "padding": 0
            },
            {
                "term": "AM Retail Tier 2",
                "normalized": "Retail Tier 2",
                "network": "AMEX",
                "amount": 2643.42,
                "countTx": 4,
                "rate": 0.0195,
                "perTx": 0.1,
                "fee": 51.94,
                "standardRate": 0.0195,
                "standardPerTx": 0.1,
                "standardFee": 51.94669,
                "padding": 0
            },
            {
                "term": "AM Retail Tier 3",
                "normalized": "Retail Tier 3",
                "network": "AMEX",
                "amount": 44502.81,
                "countTx": 13,
                "rate": 0.024,
                "perTx": 0.1,
                "fee": 1069.36,
                "standardRate": 0.024,
                "standardPerTx": 0.1,
                "standardFee": 1069.36744,
                "padding": 0
            },
            {
                "term": "DS PSL Key Entry PR",
                "normalized": "PSL Key Entry - Premium",
                "network": "Discover",
                "amount": 2171.6,
                "countTx": 1,
                "rate": 0.0205,
                "perTx": 0.1,
                "fee": 44.62,
                "standardRate": 0.0205,
                "standardPerTx": 0.1,
                "standardFee": 44.6178,
                "padding": 0
            }
        ],
        "Total Interchange padding": 0.01048,
        "Interchange optimization": {
            "totalSavings": 3924.14747,
            "items": [
                {
                    "type": "Other",
                    "term": "VS Non Qual Bus Cr",
                    "normalized": "Business Non-Qualified - Tier 1",
                    "network": "Visa",
                    "amount": 298378.08,
                    "rate": 0.0315,
                    "countTx": 28,
                    "perTx": 0.2,
                    "fee": 9404.52,
                    "padding": 0.01048,
                    "paddingPercentage": 1.114357776793116e-6,
                    "standardCost": 9404.50952,
                    "standardRate": 0.0315,
                    "standardPerTx": 0.2,
                    "availableOptimizations": [
                        {
                            "level": 2,
                            "optimizedCategory": "Business Level II - Tier 1",
                            "optimizedRate": 0.019,
                            "optimizedPerTx": 0.1,
                            "optimizedCost": 5671.98352,
                            "savings": 3732.526
                        }
                    ],
                    "maxOptimizedCategory": "Business Level II - Tier 1",
                    "maxOptimizedRate": 0.019,
                    "maxOptimizedPerTx": 0.1,
                    "maxOptimizedCost": 5671.98352,
                    "maxOptimizedSavings": 3732.526
                },
                {
                    "type": "Other",
                    "term": "MC Business Level 5 Data Rate I",
                    "normalized": "Data Rate I Level 5 |  Commercial Data Rate I Business Level 5",
                    "network": "Mastercard",
                    "amount": 25357.9,
                    "rate": 0.03,
                    "countTx": 11,
                    "perTx": 0.1,
                    "fee": 761.84,
                    "padding": 0,
                    "paddingPercentage": 0,
                    "standardCost": 761.837,
                    "standardRate": 0.03,
                    "standardPerTx": 0.1,
                    "availableOptimizations": [
                        {
                            "level": 2,
                            "optimizedCategory": "Data Rate II Level 5 |  Commercial Data Rate II L5",
                            "optimizedRate": 0.0225,
                            "optimizedPerTx": 0.1,
                            "optimizedCost": 571.65275,
                            "savings": 190.18425
                        }
                    ],
                    "maxOptimizedCategory": "Data Rate II Level 5 |  Commercial Data Rate II L5",
                    "maxOptimizedRate": 0.0225,
                    "maxOptimizedPerTx": 0.1,
                    "maxOptimizedCost": 571.65275,
                    "maxOptimizedSavings": 190.18425
                },
                {
                    "type": "Other",
                    "term": "VS EIRF Debit",
                    "normalized": "Electronic Interchange Reimbursement Fee (EIRF), Debit - Exempt",
                    "network": "Visa",
                    "amount": 1387.22,
                    "rate": 0.0175,
                    "countTx": 1,
                    "perTx": 0.2,
                    "fee": 24.48,
                    "padding": 0,
                    "paddingPercentage": 0,
                    "standardCost": 24.47635,
                    "standardRate": 0.0175,
                    "standardPerTx": 0.2,
                    "availableOptimizations": [
                        {
                            "level": 2,
                            "optimizedCategory": "CPS/Card Not Present, Debit - Exempt (CNP)",
                            "optimizedRate": 0.0165,
                            "optimizedPerTx": 0.15,
                            "optimizedCost": 23.03913,
                            "savings": 1.43722
                        }
                    ],
                    "maxOptimizedCategory": "CPS/Card Not Present, Debit - Exempt (CNP)",
                    "maxOptimizedRate": 0.0165,
                    "maxOptimizedPerTx": 0.15,
                    "maxOptimizedCost": 23.03913,
                    "maxOptimizedSavings": 1.43722
                }
            ]
        },
        "Card Brands Dues and Assessments": [
            {
                "term": "VS-NAPF-Credit",
                "normalized": null,
                "network": null,
                "amount": 0,
                "countTx": 45,
                "rate": 0,
                "perTx": 0.0195,
                "fee": 0.88,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "VS-NAPFDOMCRAUTHREV",
                "normalized": null,
                "network": null,
                "amount": 0,
                "countTx": 1,
                "rate": 0,
                "perTx": 0.0195,
                "fee": 0.02,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "VS-VS FANF CP",
                "normalized": null,
                "network": null,
                "amount": 0,
                "countTx": 1,
                "rate": 0,
                "perTx": 0,
                "fee": 2,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "VS-NAPF-Debit",
                "normalized": null,
                "network": null,
                "amount": 0,
                "countTx": 55,
                "rate": 0,
                "perTx": 0.0155,
                "fee": 0.85,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "VS-TIF",
                "normalized": null,
                "network": null,
                "amount": 431677.8,
                "countTx": 89,
                "rate": 0,
                "perTx": 0.1,
                "fee": 8.9,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "VS-ASSMNT CREDIT",
                "normalized": "Assessments %",
                "network": "Visa",
                "amount": 325259.22,
                "countTx": 38,
                "rate": 0.0014,
                "perTx": 0,
                "fee": 455.34,
                "standardRate": 0.0014,
                "standardPerTx": 0,
                "standardFee": 455.362908,
                "padding": 0
            },
            {
                "term": "VS-ASSMNT DEBIT",
                "normalized": null,
                "network": null,
                "amount": 106418.58,
                "countTx": 51,
                "rate": 0.0013,
                "perTx": 0,
                "fee": 138.34,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "VS-VS TRANSMFEE",
                "normalized": null,
                "network": null,
                "amount": 432909.3,
                "countTx": 90,
                "rate": 0,
                "perTx": 0.0018,
                "fee": 0.16,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "VS-VSCRVCHRFEEDB",
                "normalized": null,
                "network": null,
                "amount": 1231.5,
                "countTx": 1,
                "rate": 0,
                "perTx": 0.0155,
                "fee": 0.02,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "MC-ACQ Brnd Vol ABV",
                "normalized": null,
                "network": null,
                "amount": 27791.75,
                "countTx": 8,
                "rate": 0.0014,
                "perTx": 0,
                "fee": 38.92,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "MC-ACQ Brand Volume",
                "normalized": null,
                "network": null,
                "amount": 11434,
                "countTx": 10,
                "rate": 0.0013,
                "perTx": 0,
                "fee": 14.86,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "MC-AVS CardPresent",
                "normalized": null,
                "network": null,
                "amount": 0,
                "countTx": 10,
                "rate": 0,
                "perTx": 0.01,
                "fee": 0.1,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "MC-MC Acq Licn Fee",
                "normalized": null,
                "network": null,
                "amount": 39225.75,
                "countTx": 18,
                "rate": 0.000125,
                "perTx": 0,
                "fee": 4.9,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "MC-MC Location Fee",
                "normalized": null,
                "network": null,
                "amount": 0,
                "countTx": 1,
                "rate": 0,
                "perTx": 0,
                "fee": 1.25,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "MC-NABU Auth",
                "normalized": null,
                "network": null,
                "amount": 0,
                "countTx": 21,
                "rate": 0,
                "perTx": 0.0195,
                "fee": 0.41,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "MC-MC Sfe Nt Aq Fee",
                "normalized": null,
                "network": null,
                "amount": 0,
                "countTx": 21,
                "rate": 0,
                "perTx": 0.0007,
                "fee": 0.01,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "AM-AM USASSMNTFEE",
                "normalized": null,
                "network": null,
                "amount": 47146.23,
                "countTx": 17,
                "rate": 0.00165,
                "perTx": 0,
                "fee": 77.82,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "DS-DS Assessment",
                "normalized": null,
                "network": null,
                "amount": 2171.6,
                "countTx": 1,
                "rate": 0.0014,
                "perTx": 0,
                "fee": 3.04,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            },
            {
                "term": "DS-DS Ntwk Auth Fee",
                "normalized": null,
                "network": null,
                "amount": 0,
                "countTx": 1,
                "rate": 0,
                "perTx": 0.019,
                "fee": 0.02,
                "standardRate": 0,
                "standardPerTx": 0,
                "standardFee": 0,
                "padding": 0
            }
        ],
        "Total Card Brands Dues and Assessments padding": 0,
        "Processor-Specific Fees": [
            {
                "term": "Discover Authorization",
                "category": "Processing fee",
                "amount": 0,
                "rate": 0,
                "countTx": 1,
                "perTx": 0.1,
                "fee": 0.1
            },
            {
                "term": "MasterCard Authorization",
                "category": "Processing fee",
                "amount": 0,
                "rate": 0,
                "countTx": 21,
                "perTx": 0.1,
                "fee": 2.1
            },
            {
                "term": "Visa Authorization",
                "category": "Processing fee",
                "amount": 0,
                "rate": 0,
                "countTx": 102,
                "perTx": 0.1,
                "fee": 10.2
            },
            {
                "term": "AMEX Authorization",
                "category": "Processing fee",
                "amount": 0,
                "rate": 0,
                "countTx": 19,
                "perTx": 0.1,
                "fee": 1.9
            },
            {
                "term": "AM-Non-Swiped Tr",
                "category": "Processing fee",
                "amount": 49085.22,
                "rate": 0.003,
                "countTx": 18,
                "perTx": 0,
                "fee": 147.25
            },
            {
                "term": "AMEX Support Fee",
                "category": "Service",
                "amount": 47146.23,
                "rate": 0.003,
                "countTx": 1,
                "perTx": 0,
                "fee": 141.44
            },
            {
                "term": "Monthly Service Fee",
                "category": "Service",
                "amount": 5,
                "rate": 0,
                "countTx": 1,
                "perTx": 0,
                "fee": 5
            },
            {
                "term": "Regulatory Compliance Fee",
                "category": "PCI Compliance",
                "amount": 3,
                "rate": 0,
                "countTx": 1,
                "perTx": 0,
                "fee": 3
            },
            {
                "term": "Gateway Access Fee",
                "category": "Service",
                "amount": 7,
                "rate": 0,
                "countTx": 1,
                "perTx": 0,
                "fee": 7
            },
            {
                "term": "Batch Fee",
                "category": "Batch",
                "amount": 0,
                "rate": 0,
                "countTx": 21,
                "perTx": 0.25,
                "fee": 5.25
            }
        ],
        "Unknown Fees": [
            {
                "term": "Gateway Authorization",
                "normalized": null,
                "network": null,
                "amount": 0,
                "rate": 0,
                "countTx": 143,
                "perTx": 0.07,
                "fee": 10.01
            },
            {
                "term": "VS-Visa US AVS",
                "normalized": null,
                "network": null,
                "amount": 0,
                "rate": 0,
                "countTx": 70,
                "perTx": 0.001,
                "fee": 0.07
            },
            {
                "term": "AM-Amex AcqTransFee",
                "normalized": null,
                "network": null,
                "amount": 49085.22,
                "rate": 0,
                "countTx": 18,
                "perTx": 0.02,
                "fee": 0.36
            },
            {
                "term": "DS-DS AVS",
                "normalized": null,
                "network": null,
                "amount": 0,
                "rate": 0,
                "countTx": 1,
                "perTx": 0.005,
                "fee": 0.01
            },
            {
                "term": "DS-DS Dig Invt Fee",
                "normalized": null,
                "network": null,
                "amount": 2171.6,
                "rate": 0.0001,
                "countTx": 1,
                "perTx": 0,
                "fee": 0.22
            },
            {
                "term": "TSS Network Fee",
                "normalized": null,
                "network": null,
                "amount": 520221.38,
                "rate": 0.0007,
                "countTx": 125,
                "perTx": 0,
                "fee": 364.15
            },
            {
                "term": "Compass Reporting Fee",
                "normalized": null,
                "network": null,
                "amount": 3,
                "rate": 0,
                "countTx": 1,
                "perTx": 0,
                "fee": 3
            }
        ],
        "IsQuickQuote": 0
    }
}
 

Request   

GET api/v1/new-proposal/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

Statement id previously obtained. Example: xYz23Pq

Query Parameters

idPlan   string  optional  

optional The new plan based on which to generate the new proposal. Example: 123

2.13 Set Plan (id) - PUT

requires authentication

Sets a specified proposal plan so that the proposal may be re-generated using the corresponding {pricing regimen, cost/commissions, proposal template} set.

Example request:
curl --request PUT \
    "https://developer.feenavigator.com/api/v1/set-plan/1755002352774017576?idPlan=1755002352774017576" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/set-plan/1755002352774017576"
);

const params = {
    "idPlan": "1755002352774017576",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/set-plan/1755002352774017576';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'idPlan' => '1755002352774017576',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "updated"
}
 

Example response (404):


{
    "errors": [
        "Statement not found"
    ]
}
 

Example response (500):


{
    "errors": [
        "Internal Server Error -- We had a problem with our server. Try again later."
    ]
}
 

Request   

PUT api/v1/set-plan/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

Statement id previously obtained. Example: 1755002352774017576

Query Parameters

idPlan   string   

ApPlan id previously obtained. Example: 1755002352774017576

2.14 Set Default Plan (id) - PUT

requires authentication

Sets the default proposal plan for this user.

The proposal plan includes a set of {pricing regimen, cost/commissions, proposal template}.

Example request:
curl --request PUT \
    "https://developer.feenavigator.com/api/v1/set-default-plan/1755002352774017576" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/set-default-plan/1755002352774017576"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/set-default-plan/1755002352774017576';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "updated"
}
 

Example response (404):


{
    "errors": [
        "Statement not found"
    ]
}
 

Example response (500):


{
    "errors": [
        "Internal Server Error -- We had a problem with our server. Try again later."
    ]
}
 

Request   

PUT api/v1/set-default-plan/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

Statement id previously obtained. Example: 1755002352774017576

2.15 Set MCC (id) - PUT

requires authentication

Sets the industry/MCC associated with the statement.

Example request:
curl --request PUT \
    "https://developer.feenavigator.com/api/v1/set-mcc/1755002352774017576?idMcc=1755002352774017576" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/set-mcc/1755002352774017576"
);

const params = {
    "idMcc": "1755002352774017576",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/set-mcc/1755002352774017576';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'idMcc' => '1755002352774017576',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "status": "updated"
}
 

Example response (404):


{
    "errors": [
        "Statement not found"
    ]
}
 

Example response (500):


{
    "errors": [
        "Internal Server Error -- We had a problem with our server. Try again later."
    ]
}
 

Request   

PUT api/v1/set-mcc/{id}

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

Statement id previously obtained. Example: 1755002352774017576

Query Parameters

idMcc   string   

industry id previously obtained. Example: 1755002352774017576

2.16 Get History - GET

requires authentication

Returns the count and names of PDF statements submitted by all the team users during a specific time interval.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-statement-history?startDate=2020-06-01&endDate=2020-12-01" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-statement-history"
);

const params = {
    "startDate": "2020-06-01",
    "endDate": "2020-12-01",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-statement-history';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'startDate' => '2020-06-01',
            'endDate' => '2020-12-01',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "count": 2,
    "history": [
        {
            "timestamp": "2020-06-19 12:56:32",
            "statementId": 1753313502913753640,
            "fileName": "Demo Statement 1.pdf"
        },
        {
            "timestamp": "2020-06-19 13:55:11",
            "statementId": 1753032027937042984,
            "fileName": "Demo Statement 2.pdf"
        }
    ]
}
 

Example response (400):


{
    "error": [
        "Please provide a valid startDate.",
        "Please provide a valid endDate."
    ],
    "code": 400
}
 

Request   

GET api/v1/get-statement-history

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

startDate   string   

Beginning of the date/time interval. Example: 2020-06-01

endDate   string   

End of the date/time interval. Example: 2020-12-01

2.17 Get History User - GET

requires authentication

Returns the count and names of PDF statements submitted by a specific user during a chosen time interval.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/get-user-statement-history?email=example%40example.com&startDate=2020-06-01&endDate=2020-12-01" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/get-user-statement-history"
);

const params = {
    "email": "example@example.com",
    "startDate": "2020-06-01",
    "endDate": "2020-12-01",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/get-user-statement-history';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'email' => 'example@example.com',
            'startDate' => '2020-06-01',
            'endDate' => '2020-12-01',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "count": 2,
    "history": [
        {
            "timestamp": "2020-06-19 12:56:32",
            "statementId": 1753313502913753640,
            "fileName": "Demo Statement 1.pdf"
        },
        {
            "timestamp": "2020-06-19 13:55:11",
            "statementId": 1753032027937042984,
            "fileName": "Demo Statement 2.pdf"
        }
    ]
}
 

Example response (400):


{
    "error": [
        "Please provide a valid startDate.",
        "Please provide a valid endDate.",
        "Can not find user with provided company"
    ],
    "code": 400
}
 

Request   

GET api/v1/get-user-statement-history

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

email   string   

Searched user email. Example: example@example.com

startDate   string   

Beginning of the date/time interval. Example: 2020-06-01

endDate   string   

End of the date/time interval. Example: 2020-12-01

requires authentication

Send Proposal link.

Example request:
curl --request POST \
    "https://developer.feenavigator.com/api/v1/proposal/send-link" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"proposalId\": \"267672\",
    \"sendTo[merchantName]\": \"iusto\",
    \"sendTo[firstName]\": \"John\",
    \"sendTo[email]\": \"john@smith.com\",
    \"sendTo[expirationDays]\": 2,
    \"sendTo[expirationViews]\": 20
}"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/proposal/send-link"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "proposalId": "267672",
    "sendTo[merchantName]": "iusto",
    "sendTo[firstName]": "John",
    "sendTo[email]": "john@smith.com",
    "sendTo[expirationDays]": 2,
    "sendTo[expirationViews]": 20
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/proposal/send-link';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'proposalId' => '267672',
            'sendTo[merchantName]' => 'iusto',
            'sendTo[firstName]' => 'John',
            'sendTo[email]' => 'john@smith.com',
            'sendTo[expirationDays]' => 2,
            'sendTo[expirationViews]' => 20,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

3. Industry

3.1 Get IC Schedule - GET

requires authentication

Returns the current interchange schedule .

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/ic-schedule" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/ic-schedule"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/ic-schedule';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[
    {
        "type": "IC",
        "network": "Discover",
        "plan": "PSL E-Commerce DB Reg",
        "rate": "0.05000000",
        "perTx": "0.21000000",
        "cap": "0.00000000"
    },
    {
        "type": "IC",
        "network": "Visa",
        "plan": "Non-Qualified Commercial Prepaid Regulated",
        "rate": "0.05000000",
        "perTx": "0.22000000",
        "cap": "0.00000000"
    },
    {
        "type": "DA",
        "network": "Visa",
        "plan": "Fixed Acquirer Network Fee -  Table 1B Tier 4",
        "rate": null,
        "perTx": "0.00000000",
        "cap": "0.00000000"
    },
    {
        "type": "IC",
        "network": "Mastercard",
        "plan": "Standard - Core |  Consumer Standard Consumer Credit",
        "rate": "2.95000000",
        "perTx": "0.10000000",
        "cap": "0.00000000"
    },
    {
        "type": "DA",
        "network": "Visa",
        "plan": "Int'l Acquiring Fee (IAF)",
        "rate": null,
        "perTx": "0.00000000",
        "cap": "0.00000000"
    },
    {
        "type": "IC",
        "network": "Discover",
        "plan": "PSL Card Not Present (excluding eCommerce/ Internet) - Core",
        "rate": "1.89000000",
        "perTx": "0.10000000",
        "cap": "0.00000000"
    },
    {
        "type": "IC",
        "network": "Discover",
        "plan": "PSL E-Commerce Secured DB Reg",
        "rate": "0.05000000",
        "perTx": "0.21000000",
        "cap": "0.00000000"
    }
]
 

Example response (400):


{
    "error": [
        "Please provide a valid startDate.",
        "Please provide a valid endDate."
    ],
    "code": 400
}
 

Request   

GET api/v1/ic-schedule

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

3.2 Get Normalized Term - GET

requires authentication

Returns the most recent interchange normalized term associated with the entered term, as well as its rate, per tx, and cap.

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/normalized-term?term=quisquam" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/normalized-term"
);

const params = {
    "term": "quisquam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/normalized-term';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'term' => 'quisquam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "type": "IC",
    "network": "Mastercard",
    "plan": "Full UCAF SecureCode - World",
    "rate": "2.05000000",
    "perTx": "0.10000000",
    "cap": "0.00000000"
}
 

Example response (400):


{
    "error": [
        "Please provide a valid startDate.",
        "Please provide a valid endDate."
    ],
    "code": 400
}
 

Request   

GET api/v1/normalized-term

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

term   string   

Searched term Example: quisquam

3.3 Get MCC List - GET

requires authentication

Returns the industry/MCC list

Example request:
curl --request GET \
    --get "https://developer.feenavigator.com/api/v1/mcc-list" \
    --header "Authorization: {apiKey}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://developer.feenavigator.com/api/v1/mcc-list"
);

const headers = {
    "Authorization": "{apiKey}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://developer.feenavigator.com/api/v1/mcc-list';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => '{apiKey}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


[
    {
        "id": 31,
        "Industry": "FURNISHINGS/APPLIANCES OFFICE & HOME",
        "mcc": "5712",
        "MCC": "FURNITURE/EQUIP STORES"
    },
    {
        "id": 32,
        "Industry": "FURNISHINGS/APPLIANCES OFFICE & HOME",
        "mcc": "5713",
        "MCC": "FLOOR COVERING STORES"
    },
    {
        "id": 33,
        "Industry": "FURNISHINGS/APPLIANCES OFFICE & HOME",
        "mcc": "5714",
        "MCC": "DRAPERY & UPHOLSTERY STORES"
    },
    {
        "id": 34,
        "Industry": "FURNISHINGS/APPLIANCES OFFICE & HOME",
        "mcc": "5719",
        "MCC": "MISC HOME FURNISHING SPECIALT"
    },
    {
        "id": 35,
        "Industry": "FURNISHINGS/APPLIANCES OFFICE & HOME",
        "mcc": "5722",
        "MCC": "HOUSEHOLD APPLIANCE STORES"
    }
]
 

Example response (400):


{
    "error": [
        "Please provide a valid startDate.",
        "Please provide a valid endDate."
    ],
    "code": 400
}
 

Request   

GET api/v1/mcc-list

Headers

Authorization      

Example: {apiKey}

Content-Type      

Example: application/json

Accept      

Example: application/json