Versions Compared

Key

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

Online Channel Test Cases

...

Customer submits a new application but cannot proceed with an application due to derogatory status’s on an existing account.

New user initiates and then cancels Flexiti application flow

POST /client-id/{client_id}/apply - 409 - "wrong_inputs"

Case

Summary

Description

Acceptance Criteria

A

Merchant Configuration

A-1

Validate API credentials - Client ID

Merchant's API credentials (Client ID and Client Secret) are present and valid in the Flexiti Developer Portal

Merchant is able to successfully authenticate with Flexiti API using these credentials

A-2

Validate API credentials - Client Secret

Merchant's API credentials (Client ID and Client Secret) are present and valid in the Flexiti Developer Portal

Merchant is able to successfully authenticate with Flexiti API using these credentials

A-3

Validate API Base URL is referencing correct Flexiti environment 

Merchant's environment should reference the correct Flexiti environments

B

Merchant Authentication and Login

B-1

Unsuccessfully Authenticate with Flexiti's POS API - invalid client

Test Case: Access the API with

Code Block
'client_id=xxxxxx'

POST /oauth/token - 400 - invalid_client

B-2

Unsuccessfully call an endpoint - Invalid token

Test Case: Call the /token endpoint to generate a token and then call a different endpoint after the "expires_in" value expires.

Any endpoint - 401 - unauthorized

B-3

Unsuccessfully call an endpoint - wrong scope

Test Case: Attempt to call the following endpoints with an token that has a “customer” scope:

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

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

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

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

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

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

  • GET /client-id/{clientId}/authorizations

  • GET /client-id/{clientId}/authorization/{authorizationId}

  • GET /client-id/{clientId}/captures

  • GET /client-id/{client_id}/customers/search - 403 - forbidden

  • GET /client-id/{client_id}/customers/lookup - 403 - forbidden

  • POST /client-id/{clientId}/authorization/{authorizationId}/release - 403 - forbidden

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

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

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

  • GET /client-id/{clientId}/authorizations - 403 - forbidden

  • GET /client-id/{clientId}/authorization/{authorizationId} - 403 - forbidden

  • GET /client-id/{clientId}/captures - 403 - forbidden

B-4

Any API call - Session time out

Test Case: 

Code Block
{{pos_url}}/flexiti/pos-api/v2.5/client-id/{{client_id}}/customers/lookup?account_number=0001

GET {{pos_url}}/flexiti/pos-api/v2.5/client-id/{{client_id}}/customers/lookup?account_number=0001 - 504 - GATEWAY_TIMEOUT

B-5

Successfully Authenticate with Flexiti's POS API

Test Case: Use the correct “client_secret” and “client_id” from the Developer Portal to access the Flexiti API.

POST /oauth/token - 200

C

Customer Application FlowsWidget Verification

C-2

1

Customer initiates and then fails verification - account not found

Test Case:

  • Account #: 116991633 1234 / FlexitiCard #: 23749800128651329999999999999999

POST /client-id/{client_id}/transactions - 409 - “user_not_able_to_purchase”

C-3

Test Case: To be handled by Merchant’s implementation design, the customer should be able to cancel the transaction process at any time up to the transaction call.

Merchant design driven

C-4

New user initiates and fails application flow - missing required parameters

 Test Case:

Code Block
{
  "amount_requested": 5000,
  "phone_number": "1234567890",
  "language": "en-CA",
  "salutation": "mr",
  "first_name": "Barry",
  "middle_name": "",
  "last_name": "Blue",
  "dob": "1980-01-01",
  "address_1": "123 Any Street",
  "address_2": "Apt C",
  "govid_expiry": "2025-12-12",
  "city": "Montreal",
  "province": "QC",
  "postal_code": "A1A0H1",
  "govid_type": "CAP",
  "govid_issuedby": "CANADA",
  "govid_number": "AB123456",
  "input_type": "manual",
  "personal_income": 123123,
  "household_income": 223123,
  "housing_type": "Rent",
  "email": "email@address.com",
  "occupation_id": "FE",
  "occupation_title": "Baker",
  "employer_name": "Tasty Bakery",
  "employer_phone": "1231231231",
  "sin": "",
  "security_qid": "8",
  "security_answer": "Griphon",
   "piw": "Cloud",
  "tos_agreement": true
}
Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client-id}/apply",
    "message": "Some inputs are wrong!",
    "error": "wrong_inputs",
    "field_errors": [
        {
            "param": "monthly_housing_expenses",
            "msg": "required"
        }
    ]
}

C-5

New user initiates and fails application flow - invalid inputs

 Test Case:

Code Block
{
  "amount_requested": 5000,
  "phone_number": "5551231231",
  "language": "en-CA",
  "salutation": "mr",
  "first_name": "Garry",
  "middle_name": "",
  "last_name": "Blue",
  "dob": "1980-01-01",
  "address_1": "123 Any Street",
  "address_2": "Apt C",
  "govid_expiry": "2021-12-12",
  "city": "Montreal",
  "province": "QC",
  "postal_code": "A1A0H1",
  "govid_type": "CAP",
  "monthly_housing_expenses": 1000,
  "govid_issuedby": "CANADA",
  "govid_number": "",
  "input_type": "manual",
  "personal_income": "abc",
  "household_income": 223123,
  "housing_type": "Rent",
  "email": "email@address.com",
  "occupation_id": "FE",
  "occupation_title": "Baker",
  "employer_name": "Tasty Bakery",
  "employer_phone": "1231231231",
  "sin": "",
  "security_qid": "8",
  "security_answer": "Horse",
   "piw": "Cloud",
  "tos_agreement": true
}

POST /client-id/{client_id}/apply - 409 - "wrong_inputs"

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client-id}/apply",
    "message": "Some inputs are wrong!",
    "error": "wrong_inputs",
    "field_errors": [
        {
            "param": "personal_income",
            "msg": "invalid",
            "value": "abc"
        }
    ]
}

C-6

New user initiates and fails application flow - existing customer

 Test Case: To be performed with Flexiti Assistance.

Code Block{ "amount_requested": 5000, "phone_number": "5551231231", "language": "en-CA", "salutation": "mr", "first_name": "Existing", "middle_name": "", "last_name": "Customer", "dob": "1980-01-01", "address_1": "123 Any Street", "address_2": "Apt C", "govid_expiry": "2021-12-12", "city": "Montreal", "province": "QC", "postal_code": "A1A0H1", "govid_type": "CAP", "monthly_housing_expenses": 1000, "govid_issuedby": "CANADA", "govid_number": "AB123456", "input_type": "manual", "personal_income": 100000, "household_income": 223123, "housing_type": "Rent", "email": "email@address.com", "occupation_id": "FE", "occupation_title": "Baker", "employer_name": "Tasty Bakery", "employer_phone": "1231231231", "sin": "", "security_qid": "8", "security_answer": "Horse", "piw": "Cloud", "tos_agreement": true }

account/{account_number}/verify - 404 - not_found

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client_id}/account/123/verify",
    "message": "It has been following errors:",
    "error": "not_found"
}

C-2

Customer has multiple accounts and chooses to activate an existing account on the account selection screen (pictured below this table).

POST /client-id/{client_id}/apply

Code Block

C-3

Customer submits a new application and Flexiti identifies the customer has an existing account. On the account selection screen the customer chooses to continue with the application.

C-4

Customer submits a new application.

POST /client-id/{client_id}/apply

Code Block

C-5

Customer submits a new application but cannot proceed with an application due to derogatory status’s on an existing account.

C-6

Customer is performing an application flow and we detect existing account(s) for that customer. Then, the customer chooses to make a purchase with one of those existing accounts.

C-7

Customer attempts an application but there is an IT related error.

C-8

Customer initiates and then fails verification - secret answer mismatch

Test Case:

  • Account #: 116991631

Code Block
{
  "format": "security_question",
  "security_qid": 8,
  "security_answer": "Dog"
}

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

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client_id}/account/116991630/verify",
    "message": "It has been following errors:",
    "error": "secret_answer_mismatch"
}

C-9

Customer successfully receives verification code by email

Test Case: Merchant generated from test data in sandbox account. PIN will be delivered to email address in Developer Portal Account Validation tab.

  • Account #: 116991631 / FlexitiCard #: 2374980012865116

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

C-10

Customer successfully receives verification code by SMS

Test Case: Merchant generated from test data in sandbox account. PIN will be delivered to phone number in Developer Portal Account Validation tab.

  • Account #: 116991631 / FlexitiCard #: 2374980012865116

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

D

Customer Application Flows

D-1

Customer submits a new application but cannot proceed with an application due to derogatory status’s on an existing account.

Test Case:

  • Account #: 116991633 / FlexitiCard #: 2374980012865132

POST /client-id/{client_id}/transactions - 409 - “user_not_able_to_purchase”

D-2

New user initiates and then cancels Flexiti application flow

Test Case: To be handled by Merchant’s implementation design, the customer should be able to cancel the transaction process at any time up to the transaction call.

Merchant design driven

D-3

New user initiates and fails application flow - missing required parameters

 Test Case:

Code Block
{
  "amount_requested": 5000,
  "phone_number": "1234567890",
  "language": "en-CA",
  "salutation": "mr",
  "first_name": "Barry",
  "middle_name": "",
  "last_name": "Blue",
  "dob": "1980-01-01",
  "address_1": "123 Any Street",
  "address_2": "Apt C",
  "city": "Montreal",
  "province": "QC",
  "postal_code": "A1A0H1",
  "input_type": "manual",
  "personal_income": 123123,
  "household_income": 223123,
  "housing_type": "Rent",
  "email": "email@address.com",
  "occupation_id": "FE",
  "occupation_title": "Baker",
  "employer_name": "Tasty Bakery",
  "employer_phone": "1231231231",
  "sin": "",
  "security_qid": "8",
  "security_answer": "Griphon",
   "piw": "Cloud",
  "tos_agreement": true
}

POST /client-id/{client_id}/apply - 409 - "wrong_inputs"

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client-id}/apply",
    "message": "Some inputs are wrong!",
    "error": "wrong_inputs",
    "field_errors": [
        {
            "param": "monthly_housing_expenses",
            "msg": "required"
        }
    ]
}

D-4

New user initiates and fails application flow - invalid inputs

 Test Case:

Code Block
{
  "amount_requested": 5000,
  "phone_number": "5551231231",
  "language": "en-CA",
  "salutation": "mr",
  "first_name": "Garry",
  "middle_name": "",
  "last_name": "Blue",
  "dob": "1980-01-01",
  "address_1": "123 Any Street",
  "address_2": "Apt C",
  "city": "Montreal",
  "province": "QC",
  "postal_code": "A1A0H1",
  "monthly_housing_expenses": 1000,
  "input_type": "manual",
  "personal_income": "abc",
  "household_income": 223123,
  "housing_type": "Rent",
  "email": "email@address.com",
  "occupation_id": "FE",
  "occupation_title": "Baker",
  "employer_name": "Tasty Bakery",
  "employer_phone": "1231231231",
  "sin": "",
  "security_qid": "8",
  "security_answer": "Horse",
   "piw": "Cloud",
  "tos_agreement": true
}

POST /client-id/{client_id}/apply - 409 - "wrong_inputs"

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client-id}/apply",
    "message": "Some inputs are wrong!",
    "error": "wrong_inputs",
    "field_errors": [
        {
            "param": "personal_income",
            "msg": "invalid",
            "value": "abc"
        }
    ]
}

D-5

New user initiates and fails application flow - existing customer

 Test Case: To be performed with Flexiti Assistance.

Code Block
{
  "amount_requested": 5000,
  "phone_number": "5551231231",
  "language": "en-CA",
  "salutation": "mr",
  "first_name": "Existing",
  "middle_name": "",
  "last_name": "Customer",
  "dob": "1980-01-01",
  "address_1": "123 Any Street",
  "address_2": "Apt C",
  "city": "Montreal",
  "province": "QC",
  "postal_code": "A1A0H1",
  "monthly_housing_expenses": 1000,
  "input_type": "manual",
  "personal_income": 100000,
  "household_income": 223123,
  "housing_type": "Rent",
  "email": "email@address.com",
  "occupation_id": "FE",
  "occupation_title": "Baker",
  "employer_name": "Tasty Bakery",
  "employer_phone": "1231231231",
  "sin": "",
  "security_qid": "8",
  "security_answer": "Horse",
   "piw": "Cloud",
  "tos_agreement": true
}

POST /client-id/{client_id}/apply - 409 - "customer_already_exists"

D-6

New user initiates and fails application flow - terms and conditions required

 Test Case: Any application where "tos_agreement": false

POST /client-id/{client_id}/apply - 409 -  "tos_agreement_required"

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client-id}/apply",
    "message": "It has been following errors:",
    "error": "tos_agreement_required"
}

D-7

New user initiates and fails application flow - SIN number format

 Test Case: Any application where "sin": 12312

POST /client-id/{client_id}/apply - 409 - "wrong_inputs"

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client-id}/apply",
    "message": "Some inputs are wrong!",
    "error": "wrong_inputs",
    "field_errors": [
        {
            "param": "sin",
            "msg": "invalid",
            "value": 12312
        }
    ]
}

D-8

New user initiates and fails application flow - Third Party time out

 Test Case: Any application with "middle_name": "D-EMAIL_DBL_TIMEOUT",

POST /client-id/{client_id}/apply - 409 - "customerapplication_alreadycreate_exists"error 

CD-79

New Flexiti user initiates and

fails

completes application flow -

terms and conditions required

approval

 Test Case: Any application where "tos_agreement": falsewith "middle_name": "A-RR_L",

New user initiates and fails application flow - SIN number format

POST /client-id/{client_id}/apply - 409 -  "tos_agreement_required"

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client-id}/apply",
    "message": "It has been following errors:",
    "error": "tos_agreement_required"
}

C-8

200 - Approved response

D-10

New Flexiti user initiates and completes application flow - pending

 Test Case: Any application with "middle_name": "P-CREDIT",

POST /client-id/{client_id}/apply - 200 - Pending response

D-11

New Flexiti user initiates and completes application flow - decline

 Test Case: Any application wherewith"middle_name": "sin": 12312D-MISSING_INFO",

POST /client-id/{client_id}/apply - 409 - "wrong_inputs"- 200 - Declined response

E

Customer Management

E-1

Customer not found on Lookup

Test Case:

Code Block
{
    "url": "{pos_url}}/flexiti/pos-api/v2.5/client-id/{client-id}/apply",
    "message": "Some inputs are wrong!",
    "error": "wrong_inputs",
    "field_errors": [
        {
            "param": "sin",
            "msg": "invalid",
            "value": 12312
        }
    ]
}

C-9

New user initiates and fails application flow - Third Party time out

 Test Case: Any application with "middle_name": "D-EMAIL_DBL_TIMEOUT",

POST
/{{client_id}}/customers/lookup?customer_id=1111111111111

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

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client_id}
/apply - 409 - application_create_error 

C-10

New Flexiti user initiates and completes application flow - approval

 Test Case: Any application with "middle_name": "A-RR_L",

POST
/customers/lookup?customer_id=1111111111111",
    "message": "It has been following errors:",
    "error": "not_found"
}

E-2

Customer found not able to transact

Test Case: Merchant generated from test data in sandbox account

  • FlexitiCard #: 6374980111304687

GET /client-id/{client_id}/apply customers/lookup - 200 - Approved response

C-11

New Flexiti user initiates and completes application flow - pending

 Test Case: Any application with "middle_name": "P-CREDIT",

POST 409 - user_not_able_to_purchase

E-3

Customer account needs activation

Test Case: Merchant generated from test data in sandbox account

  • FlexitiCard#: 6006102005837476

GET /client-id/{client_id}/customers/apply lookup - 200 - Pending response

C-12

New Flexiti user initiates and completes application flow - decline

 Test Case: Any application with"middle_name": "D-MISSING_INFO",POST 409 - user_not_active

E-4

Successful customer lookup

Test Case:

  • Account #: 2374980012865116

GET /client-id/{client_id}/apply customers/lookup - 200 - Declined response

D

Customer Management

D

F

Available Plans and Terms

F-1

Customer's Plans and Terms not displayed - customer not found on Lookup

Test CaseCase:

  • Account #:

Code Block{{pos_url}}/flexiti
  • 1234

POST /pos-api/

v2.5/

client-id/{

{

client_id}

}

/

customers/lookup?customer_id=1111111111111

GET /client-id/{client_id}/customers/lookup accounts/{account_number}/calculate-interest - 404 - "not_found

Code Block{     "url": "/flexiti

"

F-2

Customer's Plans and Terms displayed (QC Customer Account)

Test Case: Merchant generated from test data in sandbox account

  • Account #: 116991631 / FlexitiCard #: 2374980012865116

POST /pos-api

/v2.5

/client-id/{client_id}/

customers/lookup?customer_id=1111111111111",     "message": "It has been following errors:",     "error": "not_found" }

D-2

Customer found not able to transact

accounts/{account_number}/calculate-interest - 200

F-3

Customer's Plans and Terms displayed (ROC Customer Account)

Test Case: Merchant generated from test data in sandbox account

  • Account #: 116991632 / FlexitiCard #: 6374980111304687

GET
  • 2374980012865124

POST /pos-api/client-id/{client_id}/customers/lookup - 409 - user_not_able_to_purchase

D-3

Customer account needs activation

Test Case: Merchant generated from test data in sandbox account

  • FlexitiCard#: 6006102005837476

GET accounts/{account_number}/calculate-interest - 200

E

Widget Verification

E-1

Customer initiates and then fails verification - account not found

Test Case:

  • Account #: 1234 / FlexitiCard #: 9999999999999999

POST /client-id/{client_id}/customers/lookup - 409 - user_not_active

D-4

Successful customer lookup

Test Case:

  • Account #: 2374980012865116

GET /account/{account_number}/verify - 404 - not_found

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client_id}/account/
customers/lookup - 200

E

Available Plans and Terms

E-1

Customer's Plans and Terms not displayed - customer not found

Test Case:

  • Account #: 1234

POST /pos-api/client-id/{client_id}/accounts/{account_number}/calculate-interest - 404 - "not_found"

E-2

Customer's Plans and Terms displayed (QC Customer Account)

Test Case: Merchant generated from test data in sandbox account

  • Account #: 116991631 / FlexitiCard #: 2374980012865116

POST /pos-api
123/verify",
    "message": "It has been following errors:",
    "error": "not_found"
}

E-2

Customer has multiple accounts and chooses to activate an existing account on the account selection screen

Test Case:

After the widget ends, the Merchant can open the Flexiti Customer Portal URL (https://my.flexiti.com/index) in a new tab or let the customer perform that action themselves to complete activation

E-3

Customer submits a new application and Flexiti identifies the customer has an existing account. On the account selection screen the customer chooses to continue with the application.

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

E-3

Customer's Plans and Terms displayed (ROC Customer Account)

Test Case: Merchant generated from test data in sandbox account

  • Account #: 116991632 / FlexitiCard #: 2374980012865124

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

F

Customer Verification

F-1

Customer initiates and then fails verification - account not found

Test Case:

Account #: 1234 / FlexitiCard #: 9999999999999999

apply

Code Block

E-4

Customer submits a new application.

Test Case: Complete Application with new information

Code Block
{
    "customer_identification": {
        "personal_information": {
            "first_name": "John",
            "last_name": "Smith",
            "dob": "1996-04-10",
            "postal_code": "L1A4N3"
        }
    },
    "flow": "apply",
    "email": "email@email.com",
    "phone_number": 5555555555,
    "address_1": "GD",
    "city": "Toronto",
    "province": "ON",
    "tos_agreement": true    
}

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

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client_id}/account/123/verify",
    "message": "It has been following errors:",
    "error": "not_found"
}

F-2apply

E-5

Customer submits a new application but cannot proceed with an application due to derogatory status’s on an existing account.

E-6

Customer is performing an application flow and we detect existing account(s) for that customer. Then, the customer chooses to make a purchase with one of those existing accounts.

E-7

Customer attempts an application but there is an IT related error.

E-8

Customer initiates and then fails verification - secret answer mismatch

Test Case:

  • Account #: 116991631

Code Block
{
  "format": "security_question",
  "security_qid": 8,
  "security_answer": "Dog"
}

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

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client_id}/account/116991630/verify",
    "message": "It has been following errors:",
    "error": "secret_answer_mismatch"
}

F-3

Customer successfully receives verification code by email

Test Case: Merchant generated from test data in sandbox account. PIN will be delivered to email address in Developer Portal account Validation tab.

  • Account #: 116991631 / FlexitiCard #: 2374980012865116

POST - 409 - secret_answer_mismatch

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client_id}/account/
{account_number}/verify - 200F-4
116991630/verify",
    "message": "It has been following errors:",
    "error": "secret_answer_mismatch"
}

E-9

Customer successfully receives verification code by SMSemail

Test Case: Merchant generated from test data in sandbox account. PIN will be delivered to phone number email address in Developer Portal account Account Validation tab.

  • Account #: 116991631 / FlexitiCard #: 2374980012865116

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

FE-510

Merchant Customer successfully receives verification code with Security Question and Answerby SMS

Test Case: Merchant generated from test data in sandbox account. PIN will be delivered to phone number in Developer Portal Account Validation tab.

  • Account #: 116991631 / FlexitiCard #: 2374980012865116

code
{
  "format": "security_question",
  "security_qid": 8,
  "security_answer": "Horse"
}

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

GF

Flexiti Transactions

GF-1

Customer initiates and then cancels Flexiti transaction flow 

Test Case: To be handled by Merchant’s implementation design, the customer should be able to cancel the transaction process at any time up to the transaction call.

Customer successfully cancels the transaction flow prior to the POST /client-id/{client_id}/transactions request

GF-2

Customer initiates and then fails Flexiti transaction - wrong verification code

Test Case: Merchant generated from test data in sandbox account

Code Block
verification_code: 9999

POST /client-id/{client_id}/transactions - 409 - wrong_verification_code

GF-43

Customer initiates and then fails Flexiti transaction - VCC (FlexitiCard) not found

Test Case:

  • FlexitiCard #: 9999999999999999

POST /client-id/{client_id}/transactions - 404 - not_found

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client_id}/transactions",
    "message": "It has been following errors:",
    "error": "not_found"
}

GF-4

Customer initiates and then fails Flexiti transaction - Customer ID not found

Test Case:

  • Customer ID: 1111111111111111

POST /client-id/{client_id}/transactions - 404 - not_found

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client_id}/transactions",
    "message": "It has been following errors:",
    "error": "not_found"
}

GF-65

Customer initiates and then fails Flexiti transaction - Account Number not found

Test Case:

  • Account #: 1111111111111111

POST /client-id/{client_id}/transactions - 404 - not_found

Code Block
{
    "url": "/flexiti/pos-api/v2.5/client-id/{client_id}/transactions",
    "message": "It has been following errors:",
    "error": "not_found"
}

GF-76

Customer initiates and then fails Flexiti transaction - user not able to purchase

Test Case:

  • Account #: 116991633 / FlexitiCard #: 2374980012865132

POST /client-id/{client_id}/transactions - 409 - user_not_able_to_purchase

HG

Flexiti Authorization

HG-1

Customer initiates and then cancels Flexiti Authorization 

To be handled by Merchant’s implementation design, the customer should be able to cancel the transaction process at any time up to the authorization call.

Customer successfully cancels the transaction flow prior to the POST /client-id/{client-id}/authorization request

HG-2

Customer initiates and then fails Flexiti authorization - wrong verification code

Test Case: Merchant generated from test data in sandbox account

POST /client-id/{client-id}/authorization - 409 - wrong_verification_code

HG-3

Customer initiates and then fails Flexiti authorization - missing verification code

Test Case: Merchant generated from test data in sandbox account

  • verification_code: 9999

POST /client-id/{client-id}/authorization - 409 - verification_code_required

HG-4

Customer initiates and then fails Flexiti authorization - Account Number not found

Test Case: Merchant generated from test data in sandbox account

  • Account #: 1234

POST /client-id/{client-id}/authorization - 404 - not_found

HG-5

Customer initiates and then fails Flexiti authorization - user not able to purchase

Test Case: Merchant generated from test data in sandbox account

  • Account #: 116991633 / FlexitiCard #: 2374980012865132

POST /client-id/{client-id}/authorization - 409 - user_not_able_to_purchase

HG-6

Customer initiates and then fails Flexiti authorization - not enough credit

Test Case: Merchant generated from test data in sandbox account

  • Account #: provided on request

POST /client-id/{client-id}/authorization - 409 - credit_exceeded

HG-7

Customer initiates and then fails Flexiti authorization - invalid plan ID

Test Case: Merchant generated from test data in sandbox account

POST /client-id/{client-id}/authorization - 409 - plan_term_not_set

HG-8

Customer initiates and then fails Flexiti authorization - invalid term

Test Case: Merchant generated from test data in sandbox account

POST /client-id/{client-id}/authorization - 409 - plan_term_not_set

HG-9

Customer initiates and then fails Flexiti authorization - plan not available to customer

Test Case: Merchant generated from test data in sandbox account

  • Account #: provided on request

POST /client-id/{client-id}/authorization - 409 - plan_term_not_available

HG-10

Customer successfully performs a regular purchase authorization (QC Account)

Test Case: Merchant generated from test data in sandbox account

  • Account #: provided on request

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

HG-11

Customer successfully performs a promotional purchase authorization (QC Account)

Test Case: Merchant generated from test data in sandbox account

  • Account #: provided on request

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

HG-12

Customer successfully performs a regular purchase authorization (ROC account)

Test Case: Merchant generated from test data in sandbox account

  • Account #: provided on request

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

HG-13

Customer successfully performs a promotional purchase authorization (ROC Account)

Test Case: Merchant generated from test data in sandbox account

  • Account #: provided on request

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

HG-14

Response in "account_avs" with customer address matching values

Test Case: Merchant generated from test data in sandbox account

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

IH

Merchant Order  Management

IH-1

Unsuccessfully release an authorization - wrong transaction ID

Test Case: Merchant generated from test data in sandbox account

POST /client-id/{clientId}/authorization/{authorizationId}/release - not_found

IH-2

Unsuccessfully release an authorization - total requested more than authorization

Test Case: Merchant generated from test data in sandbox account

POST /client-id/{clientId}/authorization/{authorizationId}/release - auth_amount_exceeded

IH-3

Unsuccessfully release an authorization - authorization ended

Test Case: Merchant generated from test data in sandbox account with Flexiti assistance.

POST /client-id/{clientId}/authorization/{authorizationId}/release - authorization_ended

IH-4

Unsuccessfully release an authorization - employee does not have permission

Test Case: Merchant generated from test data in sandbox account with Flexiti assistance

POST /client-id/{clientId}/authorization/{authorizationId}/release - not_permitted

IH-5

Perform a full release of an Authorization

Test Case: Merchant generated from test data in sandbox account

POST /client-id/{clientId}/authorization/{authorizationId}/release - 200

IH-6

Perform a partial release of an Authorization

Test Case: Merchant generated from test data in sandbox account

POST /client-id/{clientId}/authorization/{authorizationId}/release - 200

IH-7

Unsuccessfully capture an authorization - customer not able to purchase

Test Case: Merchant generated from test data in sandbox account with Flexiti assistance.

POST /client-id/{clientId}/authorization/{authorizationId}/capture - 409 - not_permitted

IH-8

Unsuccessfully capture an authorization - authorization not capturable

Test Case: Merchant generated from test data in sandbox account with Flexiti assistance.

POST /client-id/{clientId}/authorization/{authorizationId}/capture - 409 - not_permitted

IH-9

Unsuccessfully capture an authorization - wrong authorization ID

Test Case: Merchant generated from test data in sandbox account

POST /client-id/{clientId}/authorization/{authorizationId}/capture - 404 - not_found

IH-10

Unsuccessfully capture an authorization - amount greater than authorization

Test Case: Merchant generated from test data in sandbox account

POST /client-id/{clientId}/authorization/{authorizationId}/capture - 409 - auth_amount_exceeded

IH-11

Fully Capture an authorization

Test Case: Merchant generated from test data in sandbox account

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

IH-12

Partially Capture an authorization

Test Case: Merchant generated from test data in sandbox account

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

IH-13

Unsuccessfully refund a captured regular purchase - customer account not found

Test Case:

Account #: 1234

POST /client-id/{client_id}/accounts/{account_number}/refund - 404 - not_found

IH-14

Unsuccessfully refund a captured regular purchase - refund exceeds limit

Test Case: Merchant generated from test data in sandbox account with Flexiti assistance.

POST /client-id/{client_id}/accounts/{account_number}/refund - 409 - refunds_limit_exceeded_amount

IH-15

Perform a full refund of a captured regular purchase

Test Case: Merchant generated from test data in sandbox account

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

IH-16

Perform a Partial Refund of a captured regular purchase

Test Case: Merchant generated from test data in sandbox account

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

IH-17

Unsuccessfully return a captured promotional purchase - wrong authorization ID

Test Case: Merchant generated from test data in sandbox account

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

IH-18

Unsuccessfully return a captured promotional purchase - return exceeds limit

Test Case: Merchant generated from test data in sandbox account

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

IH-19

Perform a full Return on a captured promotional purchase

Test Case: Merchant generated from test data in sandbox account

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

IH-20

Perform a Partial return of a captured promotional purchase

Test Case: Merchant generated from test data in sandbox account

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

IH-21

Unsuccessfully view list of Authorizations available for capture - wrong dates

Test Case: Merchant generated from test data in sandbox account

GET /client-id/{clientId}/authorizations - 409 - date_from_bigger_than_date_to

IH-22

View a list of Authorizations available for capture

Test Case: Merchant generated from test data in sandbox account

GET /client-id/{clientId}/authorizations - 200

IH-23

Unsuccessfully view an authorization - authorization not found

Test Case: Merchant generated from test data in sandbox account

GET /client-id/{clientId}/authorization/{authorizationId} - 409 - not_found

IH-24

View an authorization

Test Case: Merchant generated from test data in sandbox account

GET /client-id/{clientId}/authorization/{authorizationId} - 200

IH-25

Unsuccessfully View a list of captures - wrong dates

Test Case: Merchant generated from test data in sandbox account

GET /client-id/{clientId}/captures - 409 - date_from_bigger_than_date_to

I-26

View a list of captures

Test Case: Merchant generated from test data in sandbox account

GET /client-id/{clientId}/captures - 200

...