Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

These endpoints support Merchant integrations of Flexiti services.

...

The refresh token is used to get a new access token once when the current one has expired.is about to expire. It cannot be refreshed after it is expired

In order to use it add the refresh token (provided in the original /oauth/token call) and change the grant_type to refresh_token. More information available here: How to Implement the Refresh Token

Scope Parameter Usage (IMPORTANT)

For the token endpoint there are two possible scopes: merchant or customer.

  • A token with a merchant scope will be allowed for all endpointsA token with a customer scope will be allowed in all endpoints required by customer facing UI, other endpoints will considered this token invalid.

The endpoints that should be called using a customer scope should be:

    • When to use: for Online channel implementations during the application and authorization flows (outlined below).

  • A token with a merchant scope will be allowed for all endpoints

    • When to use: for In-store channel implementations, or Online channel back office processes like capturing an authorization, releasing, refunding/returning, etc.

The endpoints that should be called using a customer scope should be:

  • POST /client-id/{client_id}/merchants/login - depreciatedPOST i18n

  • GET /client-id/{client_id}widget/initterms-and-conditions

  • POST /client-id/{client_id}/customers/applydriverslicense

  • GET POST /client-id/{client_id}widget/terms-and-conditionsinit

  • POST /client-id/{client_id}/apply

  • POST /client-id/{client_id}/accounts/{account_number}/informationclose

  • POST /client-id/{client_id}/accounts/{account_number}/calculate-interest

  • POST /client-id/{client_id}/account/{account_number}/verify

  • POST /client-id/{client_id}/authorization

Request Parameters:

Type

Parameter

Required

Details

FORMDATA

client_id

Yes

  • ASCII string (100)

  • This is the Client ID given in the Developer User Account section

FORMDATA

client_secret

Yes

  • ASCII string (100)

  • This is the Client Secret given in the Developer User Account section

HEADER

x-reference-id

Yes

  • ASCII string (32)

  • GUID

  • Unique identifier for the flow for traceability purposes

BODY

grant_type


  • ASCII string

  • This is the client's access type

  • possible values: 'password', 'refresh_token', 'client_credentials'

  • default value: 'client_credentials'

BODY

refresh_token

  • ASCII string

  • only to be used with the grant_type: refresh_token.

  • It should be the refresh_token attribute in the last response of this method.

BODY

scope

  • ASCII string

  • Available values: ‘customer', 'merchant’

  • Default value: merchant

Example Request:

Code Block
languagejson
{
    "client_id": "flexitidemo",
    "client_secret": "77xde15a-9d33-4c15-930a-3se4b3as33e9",
    "grant_type": "client_credentials",
    "scope": "merchant"
}

Response Parameters:

Type

Parameter

Details

BODY

access_token

  • Bearer token to be used in subsequent calls

BODY

expires_in

  • Time, in seconds, that the token will last

BODY

refresh_token

  • Token to be used to refresh the access_token

Success Response:

Code Block
{
    "token_type": "bearer",  
    "access_token": "2d8f373a3c2b1e61baf5a7769930ff4f0e08cdb0",  
    "expires_in": 1200,  
    "refresh_token": "36e0fc3d7415145f4b1d71512c459fd6eaa13aa8",
    "scope": "merchant"
}

...

  • This endpoint will return information for application form value values and customer facing messaging purposeslike disclaimers

  • You can retrieve all information or filter for specific messages using a key in the URL

Request Parameters:

Type

Parameter

Required

Details

HEADER

authorization

Yes

  • ASCII string (40)

  • This is the word “Bearer” with a space and then the access_token given in oauth/token API response

  • Default value: Bearer {insert_bearer_token_from_oauth_here/token_api}

HEADER

x-reference-id

Yes

  • ASCII string (32)

  • GUID

  • Unique identifier for the flow for traceability purposes

PATH

client_id

Yes

  • ASCII string (100)

  • This is the Client ID given in the Developer User Account section

QUERY

lang


  • ASCII string (5)

  • Customer Preferred language

  • Available values: (en=English) or (fr=French)

  • Default value: en

QUERY

{key}


  • ASCII string (1000)

  • Specific values can be used to filter the response

  • Not passing a value will response with all messages.

  • Available values:

    • salutation

province
    • provinces

    • security_id

    • govid_type

    • govid_issued_by

    • occupation

    • transaction_type

    • plan_id

    • qcpa_disclosure

    • insurance

    • insurance_tc

    • annual_fees

    • housing_type

Success Response:

Code Block
{
    "salutations": {
        "mr": "Mr.",
        "ms": "Ms.",
        "mrs": "Mrs.",
        "mss": "Miss."
    },
    "provinces": {
        "AB": "Alberta",
        "BC": "British Columbia",
        "MB": "Manitoba",
        "NB": "New Brunswick",
        "NL": "Newfoundland & Labrador",
        "NS": "Nova Scotia",
        "NT": "Northwest Territories",
        "NU": "Nunavut",
        "ON": "Ontario",
        "PE": "Prince Edward Island",
        "QC": "Quebec",
        "SK": "Saskatchewan",
        "YT": "Yukon Territory"
    },
    "security_ids": {
        "4": "What is the name of your favourite childhood friend?",
        "5": "What is the country of your ultimate dream vacation?",
        "6": "What was the first concert you attended?",
        "7": "What is the name of the street you grew up on?",
        "8": "What is the name of your first grade teacher?",
        "9": "What is your favourite movie?"
    },
    "govid_types": {
        "CADL": "Driver's Licence",
        "CAHC": "Health Card",
        "CAPID": "Provincial ID Card",
        "CAP": "Passport",
        "CAPRC": "Permanent Resident Card",
        "CAICBC": "Insurance Corporation of British Columbia",
        "CAAR": "Alberta Registries",
        "CASGI": "Saskatchewan Government Insurance",
        "CADSNS": "Department of Service Nova Scotia and Municipal Relations",
        "CADPPEI": "Department of Transportation and Public Works of the Province of Prince Edward Island",
        "CASNB": "Service New Brunswick",
        "CADGSNF": "Department of Government Services and Lands of the Province of Newfoundland and Labrador",
        "CADTNW": "Department of Transportation of the Northwest Territories",
        "CADCTN": "Department of Community Government and Transportation of the Territory of Nunavut",
        "CACSC": "Correctional Service Canada identification card (with the individual's name and photograph)",
        "CAGCEC": "Government of Canada employee identity card (with the individual's name and photograph)",
        "CALCB": "Liquor Control Board Age of Majority (BYID) card",
        "CACFL": "Canadian Firearms licence",
        "CACFID": "Canadian Forces identification card",
        "CAMPIC": "MPIC card issued by the Manitoba Public Insurance Corporation",
        "CACAID": "NEXUS or CANPASS Air membership card (issued by Canada Border Services Agency)"
    },
    "govid_issued_bys": {
        "option_depends": {
            "CADL": {
                "AB": "Alberta",
                "BC": "British Columbia",
                "MB": "Manitoba",
                "NB": "New Brunswick",
                "NL": "Newfoundland & Labrador",
                "NS": "Nova Scotia",
                "NT": "Northwest Territories",
                "NU": "Nunavut",
                "ON": "Ontario",
                "PE": "Prince Edward Island",
                "QC": "Quebec",
                "SK": "Saskatchewan",
                "YT": "Yukon Territory"
            },
            "CAHC": {
                "BC": "British Columbia",
                "NB": "New Brunswick",
                "NL": "Newfoundland & Labrador",
                "NT": "Northwest Territories",
                "NU": "Nunavut",
                "QC": "Quebec",
                "SK": "Saskatchewan",
                "YT": "Yukon Territory"
            },
            "CAPID": {
                "ON": "Ontario"
            },
            "CAP": {
                "CANADA": "Canada"
            },
            "CAPRC": {
                "CANADA": "Canada"
            },
            "CAICBC": {
                "BC": "British Columbia"
            },
            "CAAR": {
                "AB": "Alberta"
            },
            "CASGI": {
                "SK": "Saskatchewan"
            },
            "CADSNS": {
                "NS": "Nova Scotia"
            },
            "CADPPEI": {
                "PE": "Prince Edward Island"
            },
            "CASNB": {
                "NB": "New Brunswick"
            },
            "CADGSNF": {
                "NL": "Newfoundland & Labrador"
            },
            "CADTNW": {
                "NT": "Northwest Territories"
            },
            "CADCTN": {
                "NU": "Nunavut"
            },
            "CACSC": {
                "CANADA": "Canada"
            },
            "CAGCEC": {
                "CANADA": "Canada"
            },
            "CALCB": {
                "AB": "Alberta",
                "BC": "British Columbia",
                "MB": "Manitoba",
                "NB": "New Brunswick",
                "NL": "Newfoundland & Labrador",
                "NS": "Nova Scotia",
                "NT": "Northwest Territories",
                "NU": "Nunavut",
                "ON": "Ontario",
                "PE": "Prince Edward Island",
                "QC": "Quebec",
                "SK": "Saskatchewan",
                "YT": "Yukon Territory"
            },
            "CACFL": {
                "CANADA": "Canada"
            },
            "CACFID": {
                "CANADA": "Canada"
            },
            "CAMPIC": {
                "MB": "Manitoba"
            },
            "CACAID": {
                "CANADA": "Canada"
            }
        }
    },
    "occupation_ids": {
        "options": {
            "FE": "Full-time Employment",
            "PE": "Part-time Employment",
            "SE": "Self-Employed",
            "RT": "Retired",
            "ST": "Student",
            "HM": "Homemaker",
            "DS": "Disability",
            "SW": "Seasonal Worker",
            "UE": "Unemployed with income",
            "UW": "Unemployed without income",
            "OT": "Other"
        }
    },
    "transaction_types": {
        "promotional_purchase": "Financed Purchase",
        "regular_purchase": "Revolving Purchase"
    },
    "plan_ids": {
        "1": "90 Days Grace, Equal Payments Regular Interest",
        "2": "Equal Payments, Low Interest",
        "4": "Equal Payments, Regular Interest",
        "5": "Equal Payments, No Interest",
        "6": "No Interest, No Payments (S.A.C.)",
        "7": "No Interest, No Payments",
        "9": "No Interest, Minimum monthly payments"
    },
    "qcpa_disclosure": "...",
    "insurance": "...",
    "insurance_tc": "...",
    "annual_fees": "..."
}

POST /client-id/{clientId}/widget/init

Code Block
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id,
    "housing_type": {
        "Rent": "Rent",
        "Owned": "Owned",
        "Relatives": "Lives with Relatives",
        "Other": "Other"
  }
}

...

POST /client-id/{clientId}/widget/init

...

Code Block
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/widget/init

The Flexiti widget is used for the Online channel only, and is for high orchestration scenarios, such as customer verification , using and multiple account selection. It is a UI component as that’s an entry point to the Flexiti credit application and purchase flowsflow.

For full Widget documentation start here - Flexiti Widget - Online Channel - POS API

DEPRECIATED - POST /client-id/{client_id}/merchants/login

Code Block
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client-id}/merchants/login?lang=en
Warning

This endpoint has been depreciated as of our 20.3 Release and is no longer necessary to authenticate the Merchant.

This service will log in the Merchant session and provide back an updated version of the list of parameters based on the language variable provided. This is required within the session to ensure the Merchant has the latest version of all parameters.

Request Parameters:

...

Type

...

Parameter

...

Required

...

Details

...

HEADER

...

authorization

...

Yes

...

  • ASCII string (1000)

  • This is the word “Bearer” with a space and then the access_token given in oauth/token API response

  • Default value: Bearer {insert_bearer_token_from_oauth_here/token_api}

...

HEADER

...

x-reference-id

...

Yes

...

  • ASCII string (32)

  • GUID

  • Unique identifier for the flow for traceability purposes

...

PATH

...

client_id

...

Yes

...

  • ASCII string (100)

  • This is the Client ID given in the Developer User Account section

...

QUERY

...

lang

...

  • ASCII string (2)

  • Customer Preferred language

  • Available values: (en=English) or (fr=French)

  • Default: en

...

BODY

...

merchant_username

...

  • ASCII string

  • Optional information to log in a specific Sales Representative or Merchant location

...

BODY

...

merchant_password

...

  • ASCII string

  • Optional information to log in a specific Sales Representative or Merchant location

Example Request:

Code Block
breakoutModewide
languagejson
{
    "merchant_username": "acmejewellers",
    "merchant_password": "dice-vanila-purse"
}

Response Parameters:

...

Type

...

Parameter

...

Details

...

BODY

...

merchant_name

...

  • ASCII string (130)

  • Name of the merchant authenticated

...

BODY

...

merchant_id

...

  • number (10)

  • ID of the merchant authenticated

...

BODY

...

form_values

...

  • ASCII strings

  • Various values used in the credit application form

Success Response:

Code Block
breakoutModewide
languagejson
{
    "merchant_name": "ACME Jewellers",
    "merchant_id": "123456",
    "form_values": {
        "salutation": {
            "options": {
                "mr": "Mr.",
                "ms": "Ms.",
                "mrs": "Mrs.",
                "mss": "Miss."
            }
        },
        "province": {
            "options": {
                "AB": "Alberta",
                "BC": "British Columbia",
                "MB": "Manitoba",
                "NB": "New Brunswick",
                "NL": "Newfoundland & Labrador",
                "NS": "Nova Scotia",
                "NT": "Northwest Territories",
                "NU": "Nunavut",
                "ON": "Ontario",
                "PE": "Prince Edward Island",
                "QC": "Quebec",
                "SK": "Saskatchewan",
                "YT": "Yukon Territory"
            }
        },
        "security_qid": {
            "options": {
                "4": "What is the name of your favourite childhood friend?",
                "5": "What is the country of your ultimate dream vacation?",
                "6": "What was the first concert you attended?",
                "7": "What is the name of the street you grew up on?",
                "8": "What is the name of your first grade teacher?",
                "9": "What is your favourite movie?"
            }
        },
        "govid_type": {
            "options": {
                "CADL": "Driver's Licence",
                "CAHC": "Health Card",
                "CAPID": "Provincial ID Card",
                "CAP": "Passport",
                "CAPRC": "Permanent Resident Card",
                "CAICBC": "Insurance Corporation of British Columbia",
                "CAAR": "Alberta Registries",
                "CASGI": "Saskatchewan Government Insurance",
                "CADSNS": "Department of Service Nova Scotia and Municipal Relations",
                "CADPPEI": "Department of Transportation and Public Works of the Province of Prince Edward Island",
                "CASNB": "Service New Brunswick",
                "CADGSNF": "Department of Government Services and Lands of the Province of Newfoundland and Labrador",
                "CADTNW": "Department of Transportation of the Northwest Territories",
                "CADCTN": "Department of Community Government and Transportation of the Territory of Nunavut",
                "CACSC": "Correctional Service Canada identification card (with the individual's name and photograph)",
                "CAGCEC": "Government of Canada employee identity card (with the individual's name and photograph)",
                "CALCB": "Liquor Control Board Age of Majority (BYID) card",
                "CACFL": "Canadian Firearms licence",
                "CACFID": "Canadian Forces identification card",
                "CAMPIC": "MPIC card issued by the Manitoba Public Insurance Corporation",
                "CACAID": "NEXUS or CANPASS Air membership card (issued by Canada Border Services Agency)"
            }
        },
        "govid_issued_by": {
            "option_depends": {
                "CADL": {
                    "AB": "Alberta",
                    "BC": "British Columbia",
                    "MB": "Manitoba",
                    "NB": "New Brunswick",
                    "NL": "Newfoundland & Labrador",
                    "NS": "Nova Scotia",
                    "NT": "Northwest Territories",
                    "NU": "Nunavut",
                    "ON": "Ontario",
                    "PE": "Prince Edward Island",
                    "QC": "Quebec",
                    "SK": "Saskatchewan",
                    "YT": "Yukon Territory"
                },
                "CAHC": {
                    "BC": "British Columbia",
                    "NB": "New Brunswick",
                    "NL": "Newfoundland & Labrador",
                    "NT": "Northwest Territories",
                    "NU": "Nunavut",
                    "QC": "Quebec",
                    "SK": "Saskatchewan",
                    "YT": "Yukon Territory"
                },
                "CAPID": {
                    "ON": "Ontario"
                },
                "CAP": {
                    "CANADA": "Canada"
                },
                "CAPRC": {
                    "CANADA": "Canada"
                },
                "CAICBC": {
                    "BC": "British Columbia"
                },
                "CAAR": {
                    "AB": "Alberta"
                },
                "CASGI": {
                    "SK": "Saskatchewan"
                },
                "CADSNS": {
                    "NS": "Nova Scotia"
                },
                "CADPPEI": {
                    "PE": "Prince Edward Island"
                },
                "CASNB": {
                    "NB": "New Brunswick"
                },
                "CADGSNF": {
                    "NL": "Newfoundland & Labrador"
                },
                "CADTNW": {
                    "NT": "Northwest Territories"
                },
                "CADCTN": {
                    "NU": "Nunavut"
                },
                "CACSC": {
                    "CANADA": "Canada"
                },
                "CAGCEC": {
                    "CANADA": "Canada"
                },
                "CALCB": {
                    "AB": "Alberta",
                    "BC": "British Columbia",
                    "MB": "Manitoba",
                    "NB": "New Brunswick",
                    "NL": "Newfoundland & Labrador",
                    "NS": "Nova Scotia",
                    "NT": "Northwest Territories",
                    "NU": "Nunavut",
                    "ON": "Ontario",
                    "PE": "Prince Edward Island",
                    "QC": "Quebec",
                    "SK": "Saskatchewan",
                    "YT": "Yukon Territory"
                },
                "CACFL": {
                    "CANADA": "Canada"
                },
                "CACFID": {
                    "CANADA": "Canada"
                },
                "CAMPIC": {
                    "MB": "Manitoba"
                },
                "CACAID": {
                    "CANADA": "Canada"
                }
            }
        }
    },
    "occupation_id": {
        "options": {
            "FE": "Full-time Employment",
            "PE": "Part-time Employment",
            "SE": "Self-Employed",
            "RT": "Retired",
            "ST": "Student",
            "HM": "Homemaker",
            "DS": "Disability",
            "SW": "Seasonal Worker",
            "UE": "Unemployed with income",
            "UW": "Unemployed without income",
            "OT": "Other"
        }
    }
}

DEPRECIATED - GET /client-id/{client_id}/merchants/information

Code Block
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/merchants/information?lang=en

Or

Code Block
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client-id}/information?lang=en&message=qcpa_disclosure
Warning

This endpoint has been depreciated with our 20.3 Release

This endpoint will return HTML for information/message purposes, such as disclosures. You can retrieve all messages or filter for specific messages using a key in the URL

Request Parameters:

...

Type

...

Parameter

...

Required

...

Details

...

HEADER

...

authorization

...

Yes

...

  • ASCII string (40)

  • This is the word “Bearer” with a space and then the access_token given in oauth/token API response

  • Default value: Bearer {insert_bearer_token_from_oauth_here/token_api}

...

HEADER

...

x-reference-id

...

Yes

...

  • ASCII string (32)

  • GUID

  • Unique identifier for the flow for traceability purposes

...

PATH

...

client_id

...

Yes

...

  • ASCII string (100)

  • This is the Client ID given in the Developer User Account section

...

QUERY

...

lang

...

  • ASCII string (5)

  • Customer Preferred language

  • Available values: (en=English) or (fr=French)

  • Default value: en

...

QUERY

...

message

...

  • ASCII string (1000)

  • Specific values can be used to filter the response

  • Not passing a value will response with all messages.

Success Response:

200 - Success - All
Code Block
languagejson
[
    {
        "qcpa_disclosure": "......."
    },
    {
        "annual_fees": ".."
    },
    {
        "key_3": "....."
    }
]
200 - Success - Specific Message filtered

...