Versions Compared

Key

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

...

These target delivery dates are subject to change. Any changes to release dates and deliverables will be updated here.

PRODUCTION RELEASE DATE

CHANGE DETAILS

Release

 Functionality to be available in MERCHANT INTEGRATION environment as of

Release 21.10.0

 Functionality to be available in MERCHANT INTEGRATION environment as of 2021.09.22

Production Date: 2021.09.22

  • The calculate-interest endpoint and authorization endpoint will have new versions (v2.5.1) published, and the older version (v2.5) will be deprecated.

For calculate-interest endpoint, the promotional_purchase.terms.apr field will be replaced with promotional_purchase.terms.annual_rates, which has 3 sub-levels as shown below:

Image Added

For authorization endpoint, the apr field will be replaced with annual_rates, which has 3 sub-levels as shown below:

New URI: https://{posapi_url}/flexiti/pos-api/v2.5.1/client-id/{client_id}/authorization

Image Added

Release 21.9.0

 Functionality to be available in MERCHANT INTEGRATION environment as of 2021.08.23

Production Date: 2021.08.18

  • For Successful verification scenarios using the Flexiti Widget in the Purchase Flow, the eventData JSON Object will now contain 2 additional fields, customerId and accountType, see below:

Image Modified

Release 21.8.0

 Functionality to be available in MERCHANT INTEGRATION environment as of 2021.07.26

Production Date: 2021.07.21

New Copy Text Changes are published for successful consumer-type account applications to differentiate between a Non-Prime and a Prime (Prime includes Premium and Preferred sub-categories) type customers.

ROC Non-Prime Copy Changes:

Image Modified

ROC Prime, Preferred Copy Changes:

Image Modified

ROC Prime, Premium Copy Changes:

Image Modified

QC Prime, Preferred Copy Changes:

Image Modified

QC Prime, Premium Copy Changes:

Image Modified

PAST 2021 Releases

Functionality available in TRAINING & PRODUCTION environments

PRODUCTION RELEASE DATE

CHANGE DETAILS

Release 21.4

 Functionality to be available in MERCHANT INTEGRATION environment as of 2021.03.22

Production Date: 2021.03.31

  • Adding regular_purchase_bypass to response of the POST /client-id/{client_id}/accounts/{account_number}/calculate-interest endpoint

    • This will allow you to bypass authenticating the user on a regular revolve purchase if customer’s checkout amount is ≤ $200 and the number of purchases on that account in last 24 hours ≤ 3

    • This is only valid for in-store purchases, online purchases will always require a PIN

Image Modified
  • Adding a regular_purchase_bypass as a format for the POST /client-id/{client_id}/account/{account_number}/verify endpoint

    • This format will generate a pin on the response to be used on a regular revolve purchase if customer’s checkout amount is ≤ $200 and the number of purchases on that account in last 24 hours ≤ 3

    • Eligibility can be determined using the POST /client-id/{client_id}/accounts/{account_number}/calculate-interest endpoint

Image Modified

Example Request:

Code Block
{
  "account_number": 20035156,
  "vcc_number": "1234567890101213",
  format": "regular_purchase_bypass",
  "request_id": "12345678901234567890"
}

Example Response:

Code Block
{
  "verification_code": 2485
}

  • Adding SKU level request paramters to the following endpoints:

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

    • POST /client-id/{clientId}/authorization/{authorizationId}/capture

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

    • POST /client-id/{clientId}/authorization/{authorizationId}/capture/{captureId}/return

Image Modified

Example Request - /authorization

Code Block
{
    "vcc_number": "1234567890123456",
    "account_number": 1234567,
    "reference": "orderid-12345",
    "widget_session_id": "12345678901234567890", //if Online channel
    "request_id": "12345678901234567890", //if in-store channel
    "external_location_id" : "00-12345",  //if in-store channel
    "external_employee_id" :"12345-SMITH" //if in-store channel
    "financing_option": {
        "transaction_type": "promotional_purchase",
        "plan_id": 5,
        "term": 6
    },
    "amount": 5000.12,
    "auto_capture": true,
    "verification_code": 9999,
    "billing_information": {
        "first_name": "John",
        "last_name": "Smith",
        "address_1": "1234 Main Street",
        "address_2": "",
        "city": "Toronto",
        "postal_code": "M1M1M1",
        "country": "CA",
        "province": "ON"
    },
    "shipping_information": {
        "first_name": "John",
        "last_name": "Smith",
        "address_1": "1234 Main Street",
        "address_2": "",
        "city": "Toronto",
        "postal_code": "M1M1M1",
        "country": "CA",
        "province": "ON"
    },
    "sku_data":{
	{
	"purchase_order": "100001234",
	"register_id": "1A45",
	"transaction_discount_total": -125.08,
	"transaction_subtotal": 821.17,
	"transaction_total": 1026.47,
	"gst_hst": 133.45,
	"pst": 71.85,
	"products":[
		{
			"sku_id": "100xx4567",
			"category": "electronics",
			"description": "Apple Macbook 16-inch",
			"quantity": 1,
			"unit_price": 1000,
			"extended_price": 984.35 
		},
		{ 
			"sku_id": "20bb3457",
			"category": "office supplies",
			"description": "24lb Multiuse Paper, White",
			"quantity": 1,
			"unit_price": 33.99,
			"extended_price": 42.12
		}
	]
}

  • Adding additional Address Verification Values for business accounts on the POST /client-id/{client-id}/authorization response

Image Modified

Sample Response:

Code Block
{
    "authorization_id": 12345768,
    "reference": "orderid-12345",
    "date": "2019-07-20T00:39:57Z",
    "expiration_date": "2019-07-20T00:39:57Z",
    "ending_date": null,
    "status": "closed",
    "auto_capture": true,
    "amount": 123.12,
    "apr": 0.1999,
    "message": "lorem ipsum",
    "username": "jjones",
    "financing_option": {
        "transaction_type": "promotional_purchase",
        "plan_id": 5,
        "term": 6
    },
    "fees": [
        {
            "type": "admin_total",
            "description": "Admin fee:",
            "amount": 49.99,
            "message": "lorem ipsum"
        }
    ],
    "merchant_information": {
        "corporation_id": 1234,
        "corporation_name": "ACME Corporation",
        "merchant_id": 10028,
        "merchant_name": "ACME Jewellers",
        "location_id": 1328,
        "location_name": "ACME Jewellers 123"
    },
    "customer": {
        "air": 0.3724,
        "available_credit": 2000.12,
        "first_name": "John",
        "last_name": "Smith",
        "category_type": "preferred"
    },
    "capture": {
        "capture_id": 1234112,
        "reference": "orderid-12345",
        "date": "2019-07-20T00:39:57Z",
        "status": "pending",
        "term_amount": 123,
        "amount": 123.12
    },
    "billing_information": {
        "first_name": "John",
        "last_name": "Smith",
        "address_1": "1234 Main Street",
        "address_2": "",
        "city": "Toronto",
        "postal_code": "M1M1M1",
        "province": "ON"
    },
    "shipping_information": {
        "first_name": "John",
        "last_name": "Smart",
        "address_1": "800 Main Ave",
        "address_2": "",
        "city": "Toronto",
        "postal_code": "M1M1M2",
        "province": "ON"
    },
    "account_avs": {
        "shipping_information": {
            "first_name": 1,
            "last_name": 0.85,
            "address_1": 0.54,
            "address_2": 0,
            "city": 1,
            "postal_code": 0.92,
            "province": 1
        },
        "billing_information": {
            "first_name": 1,
            "last_name": 1,
            "address_1": 1,
            "address_2": 0,
            "city": 1,
            "postal_code": 1,
            "province": 1
        }
        "business_shipping_information": {
            "first_name": 1,
            "last_name": 0.85,
            "address_1": 0.54,
            "address_2": 0,
            "city": 1,
            "postal_code": 0.92,
            "province": 1
        },
        "business_billing_information": {
            "first_name": 1,
            "last_name": 1,
            "address_1": 1,
            "address_2": 0,
            "city": 1,
            "postal_code": 1,
            "province": 1
        }
    }
}

  • Adding account_type as a non-mandatory parameter to the POST /client-id/{clientId}/widget/init endpoint

    • This will be used to identify multiple-account scenarios for closed and open loop business cards

    • Default value will be “consumer”

Image Modified
  • Adding capture_id as a non-mandatory request parameter to the POST /client-id/{client_id}/accounts/{account_number}/refund

    • This will be necessary to associate SKU data to the refund

Image Modified

Release 21.3

 Functionality to be available in MERCHANT INTEGRATION environment as of 2021.02.22

Production Date: 2021.03.03

  • Adding vcc_number parameter to the request for the following endpoints:

    • POST /client-id/{clientId}/authorization/{authorizationId}/capture/{captureId}/return

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

  • This is non-mandatory and is only used for Authorized Users of Business Accounts

Image Modified
  • We will be adding a new error to these endpoints to support this request parameter:

Image Modified
  • Adding vcc_number as a possible request parameter for the POST /client-id/{client_id}/account/{account_number}/verify endpoint

  • This can be used to identify Business account Authorized users

Image Modified

Sample Request:

Code Block
{
  "format": "sms",
  "vcc_number": "1234567890123456689",
  "request_id": "xx-1234-aa-1234"
}

  • Modification to the GET /client-id/{client_id}/customers/lookup and POST /client-id/{clientId}/widget/init endpoints to return the masked email and phone number for Authorized users of business accounts when the request parameter is a VCC.

Release 21.2

 Functionality to be available in MERCHANT INTEGRATION environment as of 2021.01.25

Production Date: 2021.02.03

  • Adding the account_type parameter to the response on the GET /client-id/{client_id}/customers/search endpoint

Image Modified

Sample Response:

Code Block
[
    {
        "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": "N",
        "account_status_reason_code": "NNOR",
        "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": "fr-CA",
        "account_type": "business"
    }
]

  • Adding the account_type parameter to the response on the GET /client-id/{client_id}/customers/lookup endpoint

Image Modified

Sample Response:

Code Block
{
    "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":"business"
}

  • Adding the account_type parameter to the response on the POST /client-id/{client_id}/accounts/{account_number}/calculate-interest endpoint

Image Modified

Sample Response

Code Block
{
    "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": [],
        "verify": true
    },
     "promotional_purchase": [
        {
            "plan_id": 4,
            "terms": [
                {
                    "term": 3,
                    "term_amount": 20.33,
                    "apr": 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."
                        }
                    ]
                }
            ]
        },
        {
            "plan_id": 5,
            "terms": [
                {
                    "term": 6,
                    "term_amount": 4.67,
                    "apr": 0,
                    "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."
                        }
                    ]
                },
                {
                    "term": 12,
                    "term_amount": 3.83,
                    "apr": 0,
                    "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."
                        }
                    ]
                }
            ]
        }
    ]
}

  • Add housing_type parameter to the POST /client-id/{client_id}/i18n endpoint

Sample array - English

Code Block
...
"housing_type": {
  "Rent": "Rent",
  "Owned": "Owned",
  "Relatives": "Lives with Relatives",
  "Other": "Other"
},
...

Sample array - French

Code Block
...
"housing_type": {
  "Rent": "Location",
  "Owned": "Propriété", 
  "Relatives": "Habite avec un parent",
  "Other": "Autre"
},
...

  • Adding vcc_number as a request parameter on the POST /client-id/{client-id}/authorization endpoint

  • This is non-mandatory and is only used for Authorized Users of Business accounts

Image Modified
  • We will be adding a new error to this endpoint to support this request:

Image Modified

Sample Request:

Code Block
{
    "vcc_number": "1234567890123456",
    "account_number": 1234567,
    "reference": "orderid-12345",
    "widget_session_id": "12345678901234567890", //if Online channel
    "request_id": "12345678901234567890", //if in-store channel
    "external_location_id" : "00-12345",  //if in-store channel
    "external_employee_id" :"12345-SMITH" //if in-store channel
    "financing_option": {
        "transaction_type": "promotional_purchase",
        "plan_id": 5,
        "term": 6
    },
    "amount": 5000.12,
    "auto_capture": true,
    "verification_code": 9999,
    "billing_information": {
        "first_name": "John",
        "last_name": "Smith",
        "address_1": "1234 Main Street",
        "address_2": "",
        "city": "Toronto",
        "postal_code": "M1M1M1",
        "country": "CA",
        "province": "ON"
    },
    "shipping_information": {
        "first_name": "John",
        "last_name": "Smith",
        "address_1": "1234 Main Street",
        "address_2": "",
        "city": "Toronto",
        "postal_code": "M1M1M1",
        "country": "CA",
        "province": "ON"
    },
   }

  • Adding vcc_number as a request parameter on the POST /client-id/{client_id}/transactions endpoint

Image Modified
  • This is non-mandatory and is only used for Authorized Users of Business Accounts

Image Modified

Sample Request

Code Block
{
  "verification_code": 1234,
  "transaction_type": "deposit",
  "amount": "10.00",
  "account_number": "20076677",
  "vcc_number": "1234567890101112"
  "request_id": "34561234",  
  "external_location_id" : "00-12345",    
  "external_employee_id" :"12345-SMITH" 
  }

Release 21.1

Production Date: 2021.01.13

  • The GET /client-id/{client_id}/i18n endpoint will accept “customer” scope tokens

  • Adding a new error to the POST /client-id/{client_id}/apply endpoint to support Business Accounts

Image Modified
  • Adding a validation for the account_type parameter

Image ModifiedImage Modified