Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 93

...

Code Block
https://{posapi_url}/flexiti/pos-api/v2.5.1/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

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

  • ASCII string (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, X, Y, Z, 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)

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

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

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

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 (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"
        "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"
        "account-type:" "business"
    }
]

...

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


  • ASCII string (20)

  • The Customer ID of the 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

  • ASCII string (20)

  • ID of the customer

  • This is not the customer’s 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

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, Y, Z, 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)

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

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

    • Z - XXX-High - Standard (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",
    "account_type": "consumer"
}

...

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

...

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"
}

...

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
breakoutModewide
https://{posapi_url}/flexiti/pos-api/v2.5.1/client-id/{client_id}/accounts/12345/calculate-interest

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

apr

  • number (5,4)

  • It will be a coefficient

  • Merchant is obligated to display this to the customer

*This field is only returned for Equal Monthly Payment type promotional plans, this excludes deferred payment type plans

BODY

promotional_purchase.terms.

annual_rates

fees.

air

description

  • number (5,4)

  • It will be a coefficient
    • ASCII string (50)

    • Customer facing label of this fee

    • Merchant is obligated to display this to the customer

    *This field is only returned for Deferred payment type promotional plans, this excludes Equal Monthly Payment type plans

    BODY

    promotional_purchase.terms.

    annual_rates

    fees.

    message
  • ASCII string (50)

  • Customer facing label of this fee

  • Merchant is obligated to

    amount

    • ASCII string (1000)

    • Used to convey information necessary to notify the customer on the annual fee

    • Merchant is obligated to display this to the customer

    BODY

    promotional_purchase.terms.fees.description

    • number (18,2)

    • Amount of the fees

    • 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": 11223344,
        "account_type:" "consumer",
        "amount": 250,
        "customer": {
            "air": 0.289,
            "available_credit": 8000,
            "first_name": "John",
            "last_name": "Smith",
            "category_type": "preferred"
        },
        "regular_purchase": {
            "term_amount": 250,
            "air": 0.289,
            "fees": []
        },
         "promotional_purchase": [
            {
                "plan_id": 4,
                "terms": [
                    {
                        "term": 3,
                        "term_amount": 20.33,
                        "feesapr": 0.0999,
     [                   "fees": [
        {                    {
            "                    "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."
                            }
                        ],
                    }
       "annual_rates": {        ]
            },
           "apr": 0.0999, {
                "plan_id": 5,
                "messageterms": "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": 4.67,
                     }   "apr": 0,
            ]         },   "fees": [
        {             "plan_id": 5,      {
          "terms": [                 {    "description": "Administrative fees:",
                  "term": 6,             "amount": 3,
          "term_amount": 4.67,                     "feestype": []"admin_monthly",
                        "annual_rates": {       "message": "Although your administrative fee may be represented as a monthly or annual amount, the fee is due "apr": 0,
                 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."           },
             }       {
             },           "term": 12,
        {                     "term_amount": 123.83,
                        "term_amountapr": 3.830,
                        "fees": [
                            {
                                "description": "Administrative fees:",
                                "amount": 3,
                                "type": "admin_monthly",
                                "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": {        ]
            }
        ]
    }

    Success Response - Quebec Customer

    Code Block
    breakoutModewide
    languagejson
    {
     "apr   "account_number": 011223344,
        "amount": 250,
             "customer": {
            "messageair": "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": 11223344,
        "amount": 250,
        "customer": {
            "air": 0.3124,
            "available_credit": 1700,
            "first_name": "Jacques",
            "last_name": "Smith",
            "category_type": "premium"
        },
        "regular_purchase": {
            "term_amount": 250,
            "air": 0.3124,
            "fees": []
        },
        "promotional_purchase": [
            {
                "plan_id": 5,
                "terms": [
                    {
                        "term": 6,
                        "term_amount": 41.67,
                        "fees": [],
                        "annual_rates": {
                            "apr": 0,
                            "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."0.3124,
            "available_credit": 1700,
            "first_name": "Jacques",
            "last_name": "Smith",
            "category_type": "premium"
    }                 },
                    "regular_purchase": {
               "term_amount": 250,
            "termair": 120.3124,
            "fees": []
        },
         "termpromotional_amountpurchase": [
    20.83,        {
                "aprplan_id": 05,
                        "fees"terms": []
                    }{
                ]        "term": }6,
            {             "planterm_idamount": 941.67,
                "terms": [       "apr": 0,
            {            "fees": []
             "term": 6,       },
                   "term_amount": 250, {
                        "feesterm": []12,
                        "annualterm_ratesamount": {20.83,
                            "airapr": 0,
       
                        "messagefees": "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."        {
                }
    "plan_id": 9,
                   },"terms": [
                    {
                        "term": 126,
                        "term_amount": 250,
                        "feesapr": []0.35,
                        "annual_ratesfees": { []
                    },
               "air": 0,    {
                        "messageterm": "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." 12,
                        "term_amount": 250,
                        "apr": 0.35,
                         }"fees": []
                    }
                ]
            }
        ]
    }