Versions Compared

Key

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

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

...

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

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

first_name

Yes

  • ASCII string (35)

  • The customer’s First Name on file

QUERY

last_name

Yes

  • ASCII string (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

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 - Preferred (Prime Customer, Preferred Account Type)

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

XH
    • X - X-High - Premium (Prime Customer, Premium Account Type)

XXH
    • Y - XX-High - Standard (Non-prime Customer)

XXXH
    • Z - XXX-High - 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

credit

customer_account_

limit

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 (35)

  • Customer’s First Name

BODY

last_name

  • ASCII string (50)

  • Customer’s Last Name

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

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

...

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

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

  • 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 FlexitiCard Number (VCC) of the Customer

QUERY

account_number


  • number (14)

  • The Account Number of the Customer

  • This is not the FlexitiCard number (VCC)

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

  • his is not the FlexitiCard number (VCC)

BODY

customer_id

number
  • ASCII string (

12
  • 20)

  • ID of the customer

  • This is not the customer’s Account Number

BODY

security_qid.id

  • number (5)

  • Customer’s Security Question 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.id

    • number (5)

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

    BODY

    security_qid.text

    • ASCII string

    • Customer’s Security Question

    BODY

    address_1

    • ASCII string (150)

    • Customer Address Line 1

    BODY

    address_2

    • ASCII string (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 - Preferred (Prime Customer, Preferred Account Type)

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

    XH
      • X - X-High - Premium (Prime Customer, Premium Account Type)

    XXH
      • Y - XX-High - Standard (Non-prime Customer)

    XXXH
      • Z - XXX-High - Standard (Non-prime

    )

    BODY

    offer
      • 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.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

    BODY

    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

    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",
        "card_ending_in": "6395"
        "email": "a***inet@flexiti.com",
        "phone_number": "***-***-2222"
    }

    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

    ...

    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)

    • 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, 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": "security_question",
      "security_qid": "6",
      "security_answer": "Rainbow",
      "request_id": "12345678901234567890", //if in-store channel
    }

    Success Responses:

    200 - Success - security_question
    Code Block
    {
      "verification_code": 2485
    }
    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": 2485
    }

    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}/close

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

    This endpoint allows the closure of a QC account.

    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 Customer to be closed

    Success Response:

    200 - Success
    Code Block
    {
    }

    ...

    ,
        "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": [
            {
                "id": 9,
                "text": "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}/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

    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)

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

    BODY

    vcc_number


    No

    • ASCII string(16)

    • 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}/accounts/12345/calculate-interestcustomers/driverslicense

    This endpoint retrieves the plan and term configured for the merchant that can be offered to a customerallows 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

    PATH

    BODY

    account_number

    Yes

    • number (14)

    • The Account Number of the Customer

    • his is not the FlexitiCard number (VCC)

    QUERY

    lang

    code

    Yes

    • 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 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 (35)

    • Customer’s First Name

    ...

    BODY

    ...

    customer.last_name

    ...

    • ASCII string (50)

    • 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.verify

    ...

    • boolean

    • Indicate if a customer needs to verify their regular purchase

    • This value will be true if:

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

      • 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.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

    ...

    • 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": [],
                        "airannual_rates": 0.289, {
                  "available_credit": 8000,         "first_namedescription": "John",Annual Promotional Interest Rate:",
                            "last_namerate": "Smith", 0.0999,
                 "category_type": "preferred"     },     "regular_purchasetype": "APR",
    {          "term_amount": 250,         "air": 0.289,   "message": "Promotional annual interest rate applies "fees": []
        },
         "promotional_purchase": [
            {
                "plan_id": 4,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."
                  "terms": [     }
               {     },
                   "term": 3, {
                        "term_amount": 20.336,
                        "aprterm_amount": 010.099938,
                        "fees": [
                            {
                                "description": "Administrative fees:",
                                "amount": 49.9950,
                                "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."
                            }
                 and conditions for full details."
           ]                 }
    
               ]         }],
    
           {             "planannual_idrates": {
     5,             "terms": [         "description": "Annual Promotional Interest Rate:",
       {                     "termrate": 6,0.0999,
                            "term_amounttype": 4.67,"APR",
                            "aprmessage": 0,"Promotional annual interest rate applies during the promotional period and is included in your estimated monthly payments. Account annual interest rate "fees": [
                     is charged if the promo is cancelled or expires without full payment and applies when promos are not in effect."
          {              }
                  "description": "Administrative fees:"},
                    {
                "amount": 3,       "term": 12,
                        "typeterm_amount": "admin_monthly",5.32,
                        "fees": [
              "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",
           {                     "termmessage": 12,
                        "term_amount": 3.83,
         "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."
                   "apr": 0,        }
                "fees": [       ],
                     {   "annual_rates": {
                            "description": "Administrative feesAnnual Promotional Interest Rate:",
       
                            "amountrate": 3,
      0.0999,
                             "type": "admin_monthly",
                      APR",
             "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."
                            }"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."
                         ]}
                    }
                ]
            }
        ]
    }

    Success Response - Quebec Customer

    Code Block
    breakoutModewide
    languagejson
    {
        "account_number": 116994859,
        "account_type": 11223344"consumer",
        "amount": 25010.5,
        "customer": {
            "air": 0.31243099,
            "available_credit": 170013500,
            "first_name": "JacquesFlexiti",
            "last_name": "SmithMITester",
            "category_type": "premiumpreferred"
        },
        "regular_purchase": {
            "term_amount": 25010.5,
            "air": 0.31243099,
            "fees": [],
            "verify": true
        },
        "promotional_purchase": [
            {
                "plan_id": 5,4,
                "plan_name": "EMP - Regular Interest"
                "terms": [
                    {
                        "term": 63,
                        "term_amountamount": 3.56,
                        "fees": 41.67[],
                        "aprannual_rates": {
       0,                     "feesdescription": []"Annual Promotional Interest Rate:",
                 },             "rate": 0.0999,
       {                     "termtype": 12,"APR",
                            "term_amountmessage": 20.83,
                        "apr": 0,
                   "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."
         "fees": []              }
      }             ] },
           },         {
    
               "plan_id": 9,        "term": 6,
       "terms": [                 {"term_amount": 1.8,
                        "termfees": 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": []}
                    }
                ]
            }
        ]
    }