Versions Compared

Key

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

Endpoints: Customers

These are all of the Endpoints required to identify or interact with Customers.

Table of Contents

...

GET /client-id/{client_id}/customers/search

Code Block
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/customers/search?first_name=John&last_name=Smith&dob=1900-01-01

This Endpoint returns a list of accounts for the customer being searched for.

Request Parameters:

Type

Parameter

Required

Details

HEADER

bearer token

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

first_name

Yes

  • ASCII string (

80
  • 35)

  • The customer’s First Name on file

QUERY

last_name

Yes

  • ASCII string (

130

Type

Parameter

Details

BODY

  • 50)

  • The customer’s Last Name on file

QUERY

dob

Yes

  • ASCII string (10)

  • Format: YYYY-MM-DD

  • The customer’s Date of Birth on file

Response Parameters:

QUERY

postal_code

No

  • ASCII string (6)

  • The customer’s Postal Code

  • Format: XXXXXX

Response Parameters:

Type

Parameter

Details

BODY

customer_id

number
  • ASCII string (

12
  • 20)

  • The Customer ID of the account

  • This is not the Account Number

  • The customer ID may return a '-' delimited value for an authorized business customer. in the format of: “[master-cust-id]-[authorized-user-id]”

BODY

account_status

  • ASCII string (1)

  • “N” - Normal (only status that allows Authorizations/Purchases)

  • “A” - Auth Prohibited (Authorizations/Purchases are prohibited due to lack of payment, this status can be reverted automatically by the system)

  • “F” - Frozen (Frozen accounts can NOT make Authorizations/Purchases, this status can only be reverted manually by Operations)

  • “Z” - Charged Off (When accounts do not pay for 6 or more months, the account is written off the Portfolio)

  • “C” - Closed (no longer in use, this represents accounts that are closed and can NOT be brought back to life, there are some old accounts with this status)

BODY

account_status_reason_code

  • ASCII string (4)

  • Possible values: AAUT, FAGN, FBNK, FCCS, FCLC, FCLG, FCQC, FCND, FCOP, FDEC, FDVO, FFRD, FHRD, FIND, FINP, FLCK, FOPD, FPAC, FRMA, FRME, FRVK, FSKP, FSLM, NNOR, ZBNK, ZCCO, ZCCS, ZCOP, ZDEC, ZDVO, ZFRD, ZMCO, ZOPD, ZSLM, ZSRO

BODY

tos_agreement

  • boolean

  • True means the customer accepted the Terms and Conditions

  • False means they have not accepted the Terms and Conditions

BODY

risk_rating

  • ASCII string (4)

  • Risk rating of the Customer

  • Possible values: L, M, H

, XH, XXH, XXXH
  • , X, Y, Z, N, P, Q, R, S

    • L - Low - Preferred (Prime Customer, Preferred Account Type)

    • M - Medium

  • H - High

  • XH
      • - Preferred (Prime Customer, Preferred Account Type)

      • H - High - Premium (Prime Customer, Premium Account Type)

      • X - X-High

    XXH
      • - Premium (Prime Customer, Premium Account Type)

      • Y - XX-High

    XXXH
      • - Standard (Non-prime Customer)

      • Z - XXX-High

    BODY

    account_number

    • number (14)

    • The Account Number of the Customer

    • This is not the VCC (Flexiti Card)

    BODY

      • - Standard (Non-prime Customer)

      • P - XX-High - High (Non-prime Customer)

      • Q - XX-High - Very Low (Non-prime Customer)

      • R - XX-High - Low (Non-prime Customer)

      • S - XX-High - Medium (Non-prime Customer)

      • N - No Rating Assigned

    BODY

    account_number

    • number (14)

    • The Account Number of the Customer

    • This is not the FlexitiCard number (VCC)

    BODY

    customer_account_type

    • ASCII string (100)

    • This is the type of account the customer has

    BODY

    credit_limit

    • number (18,2)

    • Credit limit associated with the Customer’s account

    BODY

    available_credit

    • number (18,2)

    • Customer’s open to buy

    BODY

    originating_merchant_id

    • number (10)

    • ID of the Merchant where the customer’s application originated

    BODY

    originating_merchant_name

    • ASCII string (130)

    • Name of the Merchant where the customer’s application originated

    BODY

    creation_date

    • ASCII string (10)

    • Date the customer’s account was created

    BODY

    first_name

    • ASCII string (

    80
    • 35)

    • Customer’s First Name

    BODY

    last_name

    • ASCII string (

    130
    • 50)

    • Customer’s Last Name

    BODY

    card_ending_in

    • number (4)

    • Last 4 digits of the

    customer’s VCC Number
    • customer account’s primary FlexitiCard Number (VCC)

    BODY

    preferred_language

    • ASCII string (5)

    • Preferred Language (Locale)

    • Available values: en-CA, fr-CA

    • Default value: en-CA

    Success Response:

    Code Block
    languagejson
    [
        {
            "customer_id": "123321",
            "account_status": "N",
            "account_status_reason_code": "NNOR",
            "tos_agreement"": true,
            "risk_rating": "H",
            "account_number": 123456789,
            "credit_limit": "1000.00",
            "available_credit": "659.51",
            "originating_merchant_id": "12345",
            "originating_merchant_name": "ACME Jewellers",
            "creation_date": "2019-05-15",
            "first_name": "John",
            "last_name": "Smith",
            "card_ending_in": "5941",
            "preferred_language": "fr-CA"
            "customer_account_type": "consumer"
        },
        {
            "customer_id": "123412",
            "account_status": "F",
            "account_status_reason_code": "FLCK",
            "tos": true,
            "risk_rating": "Y",
            "account_number": 234567890,
            "credit_limit": "1000.00",
            "available_credit": "847.00",
            "originating_merchant_id": "23456",
            "originating_merchant_name": "ACME Restorations",
            "creation_date": "2019-04-15",
            "first_name": "John",
            "last_name": "Smith",
            "card_ending_in": "6457",
            "preferred_language": "en-CA"
            "customer_account_type": "business"
        }
    ]

    ...

    GET /client-id/{client_id}/customers/lookup

    Code Block
    breakoutModewide
    https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/customers/lookup?vcc_number=1234123412341234

    ...

    This service allows the Merchant to gather the Customer information by providing any of the following:

    • a FlexitiCard (VCC) number

    • an Account Number

    • a Customer ID

    If you lookup via the FlexitiCard (VCC) number, the response will return the account the VCC FlexitiCard belongs to.

    Request Parameters:

    Type

    Parameter

    Required

    Details

    HEADER

    bearer token

    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}

    PATH

    client_

    HEADER

    x-reference-id

    Yes

    • ASCII string

    This is the Client ID given in the
    • (32)

    • GUID

    • Unique identifier for the flow for traceability purposes

    PATH

    client_id

    Yes

    • ASCII string

    • 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

    vcc_number


    • ASCII string (16)

    • The

    Flexiti Card
    • FlexitiCard Number (VCC) of the Customer

    This is the VCC (Flexiti Card)

    QUERY

    account_number


    • number (14)

    • The Account Number of the Customer

    • This is not the FlexitiCard number (VCC

    (Flexiti Card
    • )

    QUERY

    customer_id

    number


    • ASCII string (

    12
    • 20)

    • The Customer ID of the

    account
    • Primary Account Holder

    • This is not the Account Number

    Response Parameters:

    Type

    Parameter

    Details

    BODY

    available_credit

    • number (18,2)

    • Customer’s open to buy

    BODY

    account_number

    • number (14)

    • The Account Number of the Customer

    This
    • his is not the FlexitiCard number (VCC

    (Flexiti Card
    • )

    BODY

    customer_id

    number
    • ASCII string (

    12
  • ASCII string

  • Customer’s Security Question ID provided by the Customer Lookup service
    • 20)

    • ID of the customer

    • This is not the customer’s Account Number

    BODY

    security_qid.id

    • The customer ID may return a '-' delimited value for an authorized business customer. in the format of: “[master-cust-id]-[authorized-user-id]”

    BODY

    security_qid.

    textASCII string

    id

    • number (5)

    • Customer’s Security Question

    BODY

    email

  • ASCII string (100)

  • Customer Email
    • ID provided by the Customer Lookup service

    BODY

    phone

    security_

    number

    qid.text

    • ASCII string

    (10)Customer Mobile Phone Number
    • Customer’s Security Question

    BODY

    address_1

    • ASCII string (

    250
    • 150)

    • Customer Address Line 1

    BODY

    address_2

    • ASCII string (

    100
    • 143)

    • Customer Address Line 2

    BODY

    city

    • ASCII string (100)

    • Customer City

    BODY

    postal_code

    • ASCII string (10)

    • Customer Postal Code

    BODY

    province

    • ASCII string (2)

    • Customer Province (2 character syntax, ex. ON for Ontario)

    • Available values: AB, BC, MB, NB, NL, NS, NT, NU, ON, PE, QC, SK, YT.

    BODY

    payment_protection

    • boolean

    • Whether the customer has insurance on the account

    BODY

    risk_rating

    • ASCII string (4)

    • Risk rating of the Customer

    • Possible values: L, M, H, X,

    XH
    • Y,

    XXH
    • Z,

    XXXH
    • N

      • L - Low - Preferred (Prime Customer, Preferred Account Type)

      • M - Medium

  • H - High

  • XH
      • - Preferred (Prime Customer, Preferred Account Type)

      • H - High - Premium (Prime Customer, Premium Account Type)

      • X - X-High

    XXH
      • - Premium (Prime Customer, Premium Account Type)

      • Y - XX-High

    XXXH
      • - Standard (Non-prime Customer)

      • Z - XXX-High

    BODY

    offer_types.plan_name

    • ASCII string

    • Name of the promotional plan available to the customer

    BODY

    offer_types.plan_id

  • number (3)

  • ID of the promotional plan available to the customer
      • - Standard (Non-prime Customer)

      • P - XX-High - High (Non-prime Customer)

      • Q - XX-High - Very Low (Non-prime Customer)

      • R - XX-High - Low (Non-prime Customer)

      • S - XX-High - Medium (Non-prime Customer)

      • N - No Rating Assigned

    BODY

    offer_types.

    offer

    plan_

    category

    name

    • ASCII string

    Category
    • Name of the promotional

    plans
    • plan available to the customer

  • Available values: equal_billing, deferred_payment

  • BODY

    offer_types.

    term

    plan_

    options

    id

    • number (3)

    terms
    • ID of the promotional plan available to the customer

    BODY

    preferred_

    offer_types.offer_category

    • ASCII string

    • Category of the promotional plans available to the customer

    • Available values: equal_billing, deferred_payment

    BODY

    offer_types.term_options

    • number (3)

    • terms of the promotional plan available to the customer

    BODY

    card_ending_in

    • number (4)

    • Last 4 digits of the customer account’s primary FlexitiCard Number (VCC)

    BODY

    preferred_language

    • ASCII string (5)

    • Preferred Language (Locale)

    • Available values: en-CA, fr-CA

    • Default value: en-CA

    ...

    BODY

    ...

    languagejson

    email

    • ASCII string (75)

    • This will be a masked representation of the customer’s email address

    • This can be used to validate with the email destination with the customer for the dynamic pin on POST /client-id/{client_id}/account/{account_number}/verify (In-store)

    BODY

    phone_number

    • ASCII string (12)

    • This will be the last four digits of the customer’s phone number, the rest of the digits will be masked

    • This can be used to validate with the sms destination with the customer for the dynamic pin on POST /client-id/{client_id}/account/{account_number}/verify (In-store)

    BODY

    account_type

    • ASCII string (100)

    • This is the type of account the customer has

    Success Response:

    Code Block
    languagejson
    {
        "available_credit": 5000,
        "account_number": 20035156,
        "customer_id": 43353,
        "security_qid": [
           

    ...

     {
           

    ...

         

    ...

    "id": 

    ...

    4,
                "text": "What is the 

    ...

    name of your 

    ...

    favourite 

    ...

    childhood 

    ...

    friend?"
            },
        ],
        "address_1": "123 Anystreet Ave",
        "address_2": "Suite 100",
        "city": "Toronto",
        "postal_code": "M5M1M1",
        "province": "ON",
        "payment_protection": 0,
        "risk_rating": "L",
        "offer_types": [
            {
                "plan_name": "90 Days Grace, Equal Payments Regular Interest",
                "plan_id": "1",
                "offer_category": "equal_billing",
                "term_options": [
                    "12",
                    "18",
                    "24",
                    "36"
                ]
            }
        ],
        "preferred_language": "EN_CA"

    ...

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

    Code Block
    breakoutModewide
    https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/account/12345678/verify

    This endpoint allows you to verify a Customer using one of the four available verification methods, depending on the "format" specified in the body.

    Request Parameters:

    ...

    Type

    ...

    Parameter

    ...

    Required

    ...

    Details

    ...

    HEADER

    ...

    bearer token

    ...

    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}

    ...

    PATH

    ...

    client_id

    ...

    Yes

    ...

    • ASCII string (100)

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

    ...

    PATH

    ...

    account_number

    ...

    Yes

    ...

    • number (14)

    • This is the Customer ID retrieved in any of the available endpoints

    ...

    BODY

    ...

    format

    ...

    Yes

    ...

    • ASCII string

    • Verification format to be presented to the Customer

    • Available values: sms, email, merchant_override, security_question

    • Default value: sms

    ...

    BODY

    ...

    security_qid

    ...

    Required for format: security_question

    ...

    • number (5)

    • Customer’s Security Question ID provided by the Customer Lookup service

    ...

    BODY

    ...

    security_answer

    ...

    Required for format: security_question

    ...

    • ASCII string (50)

    • Customer’s response to the Security Question

    Example Request:

    Code Block
    languagejson
    {
      "format": "security_question",,
        "card_ending_in": "6395"
        "email": "a***inet@flexiti.com",
        "phone_number": "***-***-2222",
        "account_type": "consumer"
    }

    Successful Response (Authorized user of business card):

    Code Block
    {
        "first_name": "Random",
        "last_name": "BusinessPerson",
        "available_credit": 14000,
        "account_number": 116992907,
        "customer_id": "1291820-11",
        "security_qid": "6", [
          "security_answer": "Rainbow" }

    Success Responses:

    200 - Success - Override
    Code Block
    {
      "verification_code          "id": 2485
    }
    200 - Success - SMS
    Code Block
    {9,
         "verification_code": "verification_sent_to_sms" }
    200 - Success - Email
    Code Block
    {     "verification_codetext": "verification_sent_to_email"
    }

    POST /client-id/{client_id}/customers/driverslicense

    Code Block
    breakoutModewide
    https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/customers/driverslicense

    This endpoint allows the decoding of PDF417 scanned driver license information.

    Request Parameters:

    ...

    Type

    ...

    Parameter

    ...

    Required

    ...

    Details

    ...

    HEADER

    ...

    bearer token

    ...

    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}

    ...

    PATH

    ...

    client_id

    ...

    Yes

    ...

    • ASCII string (100)

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

    ...

    BODY

    ...

    code

    ...

    Yes

    ...

    • ASCII string

    • PDF417 code with driver licence information

    Example Request:

    Code Block
    languagejson
    {
        "code": "@\n\u001e\rANSI\n604428040101 DL00310219DLDCAunavI\nDCBNONE\nDCDNONE\nDBA20200515\nDCSNUMBER1\nDACENSTREAM \nDAD\nDBD20140516\nDBB19740515\nDBCZ\nDAYBLU\nDAU163 cm\nDAG55 UNIVERSITY AVE\nDAITORONTO\nDAJON\nDAKM5J 2H7\nDAQD61014070660905\nDCFPEJK368N4\nDCGCAN\nDDEU\nDDFU\nDDGU\r"
    }

    Success Response:

    Code Block
    languagejson
    {
        "first_name": "John",
        "middle_name": "Garry",
        "last_name": "Smith",
        "dob": "1974-05-15",
        "address_1": "123 ANY STREET",
        "city": "TORONTO",
        "province": "ON",
        "postal_code": "M1M 1M1",
        "govid_type": "CADL",
        "govid_issuedby": "ON",
        "govid_number": "D61014070123456",
        "govid_expiry": "2021-05-15"
    }

    POST /client-id/{client_id}/accounts/{account_number}/close

    Code Block
    breakoutModewide
    https://{posapi_url}/flexiti/pos-api/v2.5/What is your favourite movie?"
            }
        ],
        "payment_protection": false,
        "address_1": "123 Any Street",
        "city": "Toronto",
        "postal_code": "M6S2R5",
        "province": "ON",
        "risk_rating": "L",
        "offer_types": [
            {
                "plan_name": "90 Days Grace, Equal Payments Regular Interest",
                "term_options": [
                    "12",
                    "18",
                    "24",
                    "36",
                    "48",
                    "60",
                    "72"
                ],
                "plan_id": "1",
                "offer_category": "equal_billing"
            }
        ],
        "preferred_language": "en-CA",
        "card_ending_in": "7962",
        "email": "v*****vich@flexiti.com",
        "phone_number": "***-***-5119",
        "account_type": "business"
    }

    ...

    POST /client-id/{client_id}/

    ...

    This endpoint allows the closure of a QC account.

    Request Parameters:

    ...

    Type

    ...

    Parameter

    ...

    Required

    ...

    Details

    ...

    HEADER

    ...

    bearer token

    ...

    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}

    ...

    PATH

    ...

    client_id

    ...

    Yes

    ...

    • ASCII string (100)

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

    ...

    PATH

    ...

    account_number

    ...

    Yes

    ...

    • number (14)

    • The Account Number of the Customer to be closed

    Success Response:

    200 - Success
    Code Block
    {
    }

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

    Code Block
    breakoutModewide
    https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/accounts/12345/calculate-interest

    ...

    account/{account_number}/verify

    Code Block
    breakoutModewide
    https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/account/12345678/verify

    This endpoint is used for the “in-store” channel only, and allows you to verify a Customer using one of the available verification methods:

    • email - a dynamic pin will be sent to the customer’s email on file

    • sms - a dynamic pin will be sent to the customer’s phone on file

    • security_question - passing the correct answer to the customer’s security question will generate a dynamic pin on the response.

    • regular_purchase_bypass - is the customer qualifies for a regular purchase bypass a dynamic pin to be used only for regular purchases will be generated on the response.

    • merchant_override - select Merchants are able to override the customer authentication, this will generate a dynamic pin on the response.

    Request Parameters:

    Type

    Parameter

    Required

    Details

    HEADER

    bearer token

    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}

    PATH

    client_

    HEADER

    x-reference-id

    Yes

    • ASCII string (

    100
    • 32)

    This is the Client ID given in
    • 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

    PATH

    account_number

    Yes

    • number (14)

    The
    • This is the Account Number of the Primary Account Holder retrieved in any of the

    Customer
  • This is not the VCC (Flexiti Card)

  • QUERY

    lang
    • available endpoints

    BODY

    vcc_number


    No

    • ASCII string(

    5
    • 16)

  • Customer Preferred language

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

  • Default value: en

  • BODY

    amount

    • number (18,2)

    • Amount of the transaction to calculate interest on

    Example Request:

    Code Block
    {
        "amount": 234.45
    }

    Response Parameters:

    ...

    Type

    ...

    Parameter

    ...

    Details

    ...

    BODY

    ...

    account_number

    ...

    • number (14)

    • The Account Number of the Customer

    • This is not the VCC (Flexiti Card)

    ...

    BODY

    ...

    amount

    ...

    • number (18,2)

    • Authorization amount

    ...

    BODY

    ...

    customer.available_credit

    ...

    • number (18,2)

    • Customer’s open to buy

    ...

    BODY

    ...

    customer.air

    ...

    • number (5,4)

    • air for the customer

    ...

    BODY

    ...

    customer.first_name

    ...

    • ASCII string (80)

    • Customer’s First Name

    ...

    BODY

    ...

    customer.last_name

    ...

    • ASCII string (130)

    • Customer’s Last Name

    ...

    BODY

    ...

    customer.customer_category_type

    ...

    • ASCII string (30)

    • Category related to the customer’s risk rating

    • Possible values: preferred, premium, standard

    ...

    BODY

    ...

    regular_purchase.term_amount

    ...

    • number (18,2)

    • Value to explain the amount to be paid by month (or a deferred payment)

    ...

    BODY

    ...

    regular_purchase.air

    ...

    • number (5,4)

    • air for the purchase

    ...

    BODY

    ...

    regular_purchase.fees.description

    ...

    • ASCII string (50)

    • Customer facing label of this fee

    ...

    BODY

    ...

    regular_purchase.fees.amount

    ...

    • number (18,2)

    • Amount of the fees

    ...

    BODY

    ...

    regular_purchase.fees.type

    ...

    • ASCII String (20)

    • Possible value: admin

    ...

    BODY

    ...

    regular_purchase.fees.message

    ...

    • ASCII string (1000)

    • Used to convey information necessary to notify the customer

    • Merchant is obligated to display this to the customer

    ...

    BODY

    ...

    promotional_purchase.plan_id

    ...

    • number (3)

    • ID of the promotional plan

    ...

    BODY

    ...

    promotional_purchase.terms.term

    ...

    • number (3)

    • Term of the promotional plan

    • Merchant is obligated to display this to the customer

    ...

    BODY

    ...

    promotional_purchase.terms.term_amount

    ...

    • number (18,2)

    • Value to explain the amount to be paid by month (or a deferred payment)

      • This will include admin fees

    • Merchant is obligated to display this to the customer

    ...

    BODY

    ...

    promotional_purchase.terms.apr

    ...

    • number (5,4)

    • It will be a coefficient

    • Merchant is obligated to display this to the customer

    ...

    BODY

    ...

    promotional_purchase.terms.fees.description

    ...

    • ASCII string (50)

    • Customer facing label of this fee

    • Merchant is obligated to display this to the customer

    ...

    BODY

    ...

    promotional_purchase.terms.fees.amount

    ...

    • number (18,2)

    • Amount of the fees

    • Merchant is obligated to display this to the customer

    ...

    BODY

    ...

    promotional_purchase.terms.fees.type

    ...

    • ASCII String (20)

    • Possible value: admin

    ...

    BODY

    ...

    promotional_purchase.terms.fees.message

    ...

    • ASCII string (1000)

    • Used to convey information necessary to notify the customer

    • Merchant is obligated to display this to the customer

    Success Response - ROC Customer:

    ...

    breakoutModewide
    languagejson

    ...

    • The FlexitiCard number (VCC) provided by the Customer

    • To be used in a Business Account Authorized User’s purchase, sent with the Primary account Holder’s Account number

    BODY

    format

    Yes

    • ASCII string

    • Verification format to be presented to the Customer

    • Available values: sms, email, merchant_override, security_question, regular_purchase_bypass

    • Default value: sms

    BODY

    security_qid

    Required for format: security_question

    • number (5)

    • Customer’s Security Question ID provided by the Customer Lookup service

    BODY

    security_answer

    Required for format: security_question

    • ASCII string (50)

    • Customer’s response to the Security Question

    BODY

    request_id

    Yes for in-store channel

    • ASCII string (150)

    • This is the identifier for a verification to application/transaction/authorization flow.

    Example Request:

    Code Block
    languagejson
    {
      "format": "sms",
      "request_id": "12345678901234567890"
    }

    Success Responses:

    200 - Success - security_question
    Code Block
    {
      "verification_code": 6785
    }
    200 - Success - sms
    Code Block
    {
        "verification_code": "verification_sent_to_sms"
    }
    200 - Success - email
    Code Block
    {
        "verification_code": "verification_sent_to_email"
    }
    200 - Success - merchant_override
    Code Block
    {
      "verification_code": 2485
    }
    200 - Success - regular_purchase_bypass
    Code Block
    {
      "verification_code": 4365
    }

    ...

    POST /client-id/{client_id}/customers/driverslicense

    Code Block
    breakoutModewide
    https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/customers/driverslicense

    This endpoint allows the decoding of PDF417 scanned driver license information.

    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

    BODY

    code

    Yes

    • ASCII string

    • PDF417 code with driver licence information

    Example Request:

    Code Block
    languagejson
    {
        "code": "@\n\u001e\rANSI\n604428040101 DL00310219DLDCAunavI\nDCBNONE\nDCDNONE\nDBA20200515\nDCSNUMBER1\nDACENSTREAM \nDAD\nDBD20140516\nDBB19740515\nDBCZ\nDAYBLU\nDAU163 cm\nDAG55 UNIVERSITY AVE\nDAITORONTO\nDAJON\nDAKM5J 2H7\nDAQD61014070660905\nDCFPEJK368N4\nDCGCAN\nDDEU\nDDFU\nDDGU\r"
    }

    Success Response:

    Code Block
    languagejson
    {
        "first_name": "John",
        "middle_name": "Garry",
        "last_name": "Smith",
        "dob": "1974-05-15",
        "address_1": "123 ANY STREET",
        "city": "TORONTO",
        "province": "ON",
        "postal_code": "M1M 1M1",
        "govid_type": "CADL",
        "govid_issuedby": "ON",
        "govid_number": "D61014070123456",
        "govid_expiry": "2021-05-15"
    }

    ...

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

    Code Block
    breakoutModewide
    https://{posapi_url}/flexiti/pos-api/v2.5.1/client-id/{client_id}/accounts/12345/calculate-interest

    NOTE: the /calculate-interest endpoint has been updated to version 2.5.1, reflected in the URI.

    This endpoint retrieves the plan and term configured for the merchant that can be offered to a customer.

    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

    PATH

    account_number

    Yes

    • number (14)

    • The Account Number of the Primary Account Holder

    • his is not the FlexitiCard number (VCC)

    QUERY

    lang


    • ASCII string (5)

    • Customer Preferred language

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

    • Default value: en

    BODY

    amount

    • number (18,2)

    • Amount of the transaction to calculate interest on

    Example Request:

    Code Block
    {
        "amount": 234.45
    }

    Response Parameters:

    Type

    Parameter

    Details

    BODY

    account_number

    • number (14)

    • The Account Number of the Primary Account Holder

    • This is not the VCC (Flexiti Card)

    BODY

    account_type

    • ASCII string (100)

    • This is the type of account: consumer or business

    BODY

    amount

    • number (18,2)

    • Authorization amount

    BODY

    customer.available_credit

    • number (18,2)

    • Customer’s open to buy

    BODY

    customer.air

    • number (5,4)

    • air for the customer

    BODY

    customer.first_name

    • ASCII string (35)

    • Customer’s First Name

    BODY

    customer.last_name

    • ASCII string (50)

    • Customer’s Last Name

    BODY

    customer.category_type

    • ASCII string (30)

    • Category related to the customer’s risk rating

    • Possible values: preferred, premium, standard

    BODY

    regular_purchase.term_amount

    • number (18,2)

    • Value to explain the amount to be paid by month (or a deferred payment)

    BODY

    regular_purchase.air

    • number (5,4)

    • air for the purchase

    BODY

    regular_purchase.verify

    • boolean

    • Indicate if a customer can use regular_purchase_bypass as a format on the POST /client-id/{client_id}/account/{account_number}/verify endpoint for a regular revolve purchase.

    • This value will be true if:

      • the account_number being passed has made ≤ 3 regular purchases in the past 24HS; and,

      • the amount on the request is ≤ $200

    BODY

    regular_purchase.fees.description

    • ASCII string (50)

    • Customer facing label of this fee

    BODY

    regular_purchase.fees.amount

    • number (18,2)

    • Amount of the fees

    BODY

    regular_purchase.fees.type

    • ASCII String (20)

    • Denotes if the administrative fee amount is a monthly or total amount

    • Possible values:

      • admin_total

      • admin_monthly

    BODY

    regular_purchase.fees.message

    • ASCII string (1000)

    • Used to convey information necessary to notify the customer

    • Merchant is obligated to display this to the customer

    BODY

    promotional_purchase.plan_id

    • number (3)

    • ID of the promotional plan

    BODY

    promotional_purchase.plan_name

    • ASCII string

    • Name of the promotional plan available to the customer

    BODY

    promotional_purchase.terms.term

    • number (3)

    • Term of the promotional plan

    • Merchant is obligated to display this to the customer

    BODY

    promotional_purchase.terms.term_amount

    • number (18,2)

    • Value to explain the amount to be paid by month (or a deferred payment)

      • This will include admin fees

    • Merchant is obligated to display this to the customer

    BODY

    promotional_purchase.terms.annual_rates.description

    • ASCII string

    • Customer facing long-form label of this interest rate

    • Merchant can choose to display either this field or the short-form label to the customer

    BODY

    promotional_purchase.terms.annual_rates.rate

    • number (5, 4)

    • Applicable interest rate presented in decimal form

    • Merchant is obligated to display this rate to the customer

    BODY

    promotional_purchase.terms.annual_rates.type

    • ASCII string

    • Customer facing short-form label of the interest rate

    • Merchant can choose to display either this field or the long-form label to the customer

    • Possible values: “APR”, “AIR” depending on the plan type / plan_id

    BODY

    promotional_purchase.terms.annual_rates.message

    • ASCII string (1000)

    • Used to convey legal disclaimer necessary to notify the customer about their promotional plan

    • Merchant is obligated to display this to the customer within 1-click away from the plan selection

    BODY

    promotional_purchase.terms.fees.description

    • ASCII string (50)

    • Customer facing label of this fee

    • Merchant is obligated to display this to the customer

    BODY

    promotional_purchase.terms.fees.amount

    • number (18,2)

    • Amount of the fees

    • Merchant is obligated to display this to the customer

    BODY

    promotional_purchase.terms.fees.type

    • ASCII String (20)

    • Whether the fees displayed are per month or in total

    • Possible values: admin_total, admin_monthly

    BODY

    promotional_purchase.terms.fees.message

    • ASCII string (1000)

    • Used to convey information necessary to notify the customer

    • Merchant is obligated to display this to the customer

    Success Response - ROC Customer:

    Code Block
    breakoutModewide
    languagejson
    {
        "account_number": 116994755,
        "account_type": "consumer",
        "amount": 10.5,
        "customer": {
            "air": 0.3099,
            "available_credit": 14000,
            "first_name": "Flexiti",
            "last_name": "MITester",
            "category_type": "preferred"
        },
        "regular_purchase": {
            "term_amount": 10.5,
            "air": 0.3099,
            "fees": [],
            "verify": true
        },
        "promotional_purchase": [
            {
                "plan_id": 4,
                "plan_name": "EMP - Regular Interest"
                "terms": [
                    {
                        "term": 3,
                        "term_amount": 3.56,
                        "fees": [],
                        "annual_rates": {
                            "description": "Annual Promotional Interest Rate:",
                            "rate": 0.0999,
                            "type": "APR",
                            "message": "Promotional annual interest rate applies during the promotional period and is included in your estimated monthly payments. Account annual interest rate is charged if the promo is cancelled or expires without full payment and applies when promos are not in effect."
                        }
                    },
                    {
                        "term": 6,
                        "term_amount": 10.38,
                        "fees": [
                            {
                                "description": "Administrative fees:",
                                "amount": 50,
                                "type": "admin_total",
                                "message": "Although your administrative fee may be represented as a monthly or annual amount, the fee is due in full if the account is paid off early. See terms and conditions for full details."
                            }
                        ],
                        "annual_rates": {
                            "feesdescription": []
        },
        "promotional_purchase": ["Annual Promotional Interest Rate:",
               {             "plan_idrate": 50.0999,
                "terms": [             "type": "APR",
       {                     "termmessage": 6,"Promotional annual interest rate applies during the promotional period and is included in your estimated monthly payments. Account annual interest  "term_amount": 44.67,
                        "apr": 0,rate is charged if the promo is cancelled or expires without full payment and applies when promos are not in effect."
                        "fees":}
    [                },
            {        {
                        "descriptionterm": "Administrative fees:"12,
                        "term_amount": 5.32,
          "amount": 3,             "fees": [
                  "type": "admin",         {
                       "message": "Although your administrative fee may be represented as a monthly or annual amount, the fee is due in full if the account is paid off early. See terms and conditions for full details.""description": "Administrative fees:",
                                "amount": 49.99,
                   }             "type": "admin_total",
          ]                 },     "message": "Although your administrative fee may be represented as a monthly or {annual amount, the fee is due in full if the account is paid off early. See terms and conditions for full details."term":
     12,                     "term_amount": 23.83, }
                       "apr": 0],
                        "feesannual_rates": [{
                            {
       "description": "Annual Promotional Interest Rate:",
                            "descriptionrate": "Administrative fees:",0.0999,
                            "type": "APR",
           "amount": 3,                "message": "Promotional annual interest rate applies during the promotional period and is included "type": "admin",
                                "message": "Although your administrative fee may be represented as a monthly or annual amount, the fee is due in full if the account is paid off early. See terms and conditions for full details."
      in your estimated monthly payments. Account annual interest rate is charged if the promo is cancelled or expires without full payment and applies when promos are not in effect."
                        }
                    }
                ]
            }
        ]
    }

    Success Response - Quebec Customer

    Code Block
    breakoutModewide
    languagejson
    {
        "account_number": 116994859,
        "account_type": "consumer",
       ] "amount": 10.5,
        "customer": {
            }
    "air": 0.3099,
            "available_credit": 13500,
     ]       "first_name": "Flexiti",
    }     ]
    }

    Success Response - Quebec Customer

    Code Block
    breakoutModewide
    languagejson
    {     "accountlast_numbername": 11223344"MITester",
        "amount": 250,    "category_type": "customerpreferred":
    {    },
        "airregular_purchase": 0.3124,{
            "availableterm_creditamount": 170010.5,
            "first_nameair": "Jacques"0.3099,
            "last_namefees": "Smith"[],
            "category_typeverify": "premium"true
        },
        "regularpromotional_purchase": [
      {      {
      "term_amount": 250,         "airplan_id": 0.3124,4,
                "feesplan_name": [] "EMP - Regular Interest"
           },     "promotional_purchaseterms": [
            {        {
          "plan_id": 5,             "termsterm": [ 3,
                        {"term_amount": 3.56,
                        "termfees": 6[],
                        "termannual_amountrates": 41.67, {
                            "aprdescription": 0, "Annual Promotional Interest Rate:",
                            "feesrate": []0.0999,
                    },            "type": "APR",
        {                     "termmessage": 12,"Promotional annual interest rate applies during the promotional period and is included in your estimated       "term_amount": 20.83,
                        "apr": 0,
          monthly payments. Account annual interest rate is charged if the promo is cancelled or expires without full payment and applies when promos are not in effect."
                 "fees": []      }
              }      },
          ]         }, {
           {             "plan_idterm": 96,
                "terms": [       "term_amount": 1.8,
            {                     "term"fees": 6[],
                        "termannual_amountrates": 250, {
                            "aprdescription": 0.35 "Annual Promotional Interest Rate:",
                            "fees": []
     rate": 0.0999,
                  },            "type": "APR",
        {                     "termmessage": 12,"Promotional annual interest rate applies during the promotional period and is included in your estimated monthly payments. Account annual interest  "term_amount": 250,
                        "apr": 0.35,rate is charged if the promo is cancelled or expires without full payment and applies when promos are not in effect."
                         "fees": []}
                    }
                ]
            }
        ]
    }