In-Store Channel Test Cases
Info |
---|
All test cases outlined are in our Merchant Integration environment |
Case | Summary | Description | Acceptance Criteria | ||||
---|---|---|---|---|---|---|---|
A | Merchant Configuration | ||||||
A-1 | Validate API credentials - Client ID | Merchant's API credentials 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 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 Flexiti’s environments |
| ||||
B | Merchant Authentication and Login | ||||||
B-1 | Unsuccessfully Authenticate with Flexiti's POS API - invalid client | Test Case: Access the API with
| 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:
|
| ||||
B-4 | Any API call - Session time out | Test Case:
| 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 Flows | ||||||
C-1 | Unsuccessful Drivers License Scan | Test Case: Send the following request to POST /client-id/{client_id}/customers/driverslicense
| POST /client-id/{client_id}/customers/driverslicense - 409 - Driver License's not supported | ||||
C-2 | Successful Drivers License Scan | Test Case: Send the following request to POST /client-id/{client_id}/customers/driverslicense
| POST /client-id/{client_id}/customers/driverslicense - 200 | ||||
C-3 | 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 | ||||
C-4 | New user initiates and fails application flow - missing required parameters | Test Case:
| POST /client-id/{client_id}/apply - 409 - "
| ||||
C-5 | New user initiates and fails application flow - invalid inputs | Test Case:
| POST /client-id/{client_id}/apply - 409 - "
| ||||
C-6 | New user initiates and fails application flow - existing customer | Test Case: To be performed with Flexiti Assistance.
| POST /client-id/{client_id}/apply - 409 - "customer_already_exists" | ||||
C-7 | New user initiates and fails application flow - terms and conditions required | Test Case: Any application where | POST /client-id/{client_id}/apply - 409 - "tos_agreement_required"
| ||||
C-8 | New user initiates and fails application flow - SIN number format | Test Case: Any application where | POST /client-id/{client_id}/apply - 409 - "wrong_inputs"
| ||||
C-9 | New user initiates and fails application flow - Third Party time out | Test Case: Any application with | POST /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 | POST /client-id/{client_id}/apply - 200 - Approved response | ||||
C-11 | New Flexiti user initiates and completes application flow - pending | Test Case: Any application with | POST /client-id/{client_id}/apply - 200 - Pending response | ||||
C-12 | New Flexiti user initiates and completes application flow - decline | Test Case: Any application with | POST /client-id/{client_id}/apply - 200 - Declined response | ||||
C-13 | New Non-Prime Flexiti user application flow | Test Case: Any application with | POST /client-id/{client_id}/apply - Response depends on whether non-prime is enabled for the merchant | ||||
D | Customer Management | ||||||
D-1 | Customer not found on Lookup | Test Case:
| GET /client-id/{client_id}/customers/lookup - 404 - not_found
| ||||
D-2 | Customer found not able to transact | Test Case: |
Merchant generated from test data in sandbox account
| GET /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
| GET /client-id/{client_id}/customers/lookup - 409 - user_not_active |
D-4 | Successful customer lookup | Test Case:
| GET /client-id/{client_id}/customers/lookup - 200 |
D-5 | Unsuccessful customer search - missing first name | Test Case: |
|
Unsuccessful customer search - missing first name
Test Case:
| GET /client-id/{client_id}/customers/search - 409 - wrong_inputs |
Unsuccessful customer search - missing last name
Test Case:
GET /client-id/{client_id}/customers/search - 409 - wrong_inputs
Unsuccessful customer search - missing DOB
Test Case:
|
Unsuccessful customer search - invalid DOB format
Test Case:
| |||||||
D-6 | Unsuccessful customer search - missing last name | Test Case:
| GET /client-id/{client_id}/customers/search - 409 - wrong_inputs
| ||||
D-7 | Unsuccessful customer search - missing DOB | Test Case:
| GET /client-id/{client_id}/customers/search - 409 - wrong_inputs
| ||||
D-8 | Unsuccessful customer search - invalid DOB format | Test Case:
| GET /client-id/{client_id}/customers/search - 409 - wrong_inputs | ||||
D-9 | Successful customer search | Test Case:
| GET /client-id/{client_id}/customers/search - 200 | ||||
E | Plan Selection | ||||||
E-1 | Customer's Plans and Terms not displayed - customer not found | Test Case:
| 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
| POST /pos-api/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
| POST /pos-api/client-id/{client_id}/accounts/{account_number}/calculate-interest - |
Customer's Plans and Terms displayed (QC Customer Account)
Test Case:
200 | |||
F | Customer Verification | ||
F-1 | Customer initiates and then fails verification - account not found | Test Case:
| POST /client-id/{client_id}/ |
account/{account_number}/ |
verify - |
404 - |
Customer's Plans and Terms displayed (ROC Customer Account)
Test Case:
not_found
|
Customer Verification
| |
F-2 | Customer initiates and then fails verification - |
secret answer mismatch | Test Case:
| POST /client-id/{client_id}/account/{account_number}/verify - |
409 - |
Customer initiates and then fails verification - email not found
secret_answer_mismatch
|
Customer initiates and then fails verification - email invalid
Test Case:
Test Case:
Customer initiates and then fails verification - secret answer mismatch
Test Case:
Account #:
| |||
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.
| POST /client-id/{client_id}/account/{account_number}/verify - |
200 | |
F-4 | 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.
| POST /client-id/{client_id}/account/{account_number}/verify - 200 |
F-5 | Merchant successfully receives verification code |
with Security Question and Answer | Test Case: |
POST /client-id/{client_id}/account/{account_number}/verify - 200
Merchant successfully receives verification code with Security Question and Answer
Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client_id}/account/{account_number}/verify - 200 | ||
G | Flexiti Transactions (Deposit, In-store Payment, Trade-in) | ||
G-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 | ||||
G-2 | Customer initiates and then fails Flexiti transaction - wrong verification code | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client_id}/transactions |
Customer initiates and then fails Flexiti transaction - wrong verification code
Test Case: Merchant generated from test data in sandbox account
verification_code: 9999- 409 - wrong_verification_code | |||||
G-3 | Customer initiates and then fails Flexiti transaction - missing verification code | Test Case:
| POST /client-id/{client_id}/transactions - 409 - |
verification_code |
Customer initiates and then fails Flexiti transaction - missing verification code
Test Case: Merchant generated from test data in sandbox account
_required
|
| ||
G-4 | Customer initiates and then fails Flexiti transaction - VCC (FlexitiCard) not found | Test Case: |
VCC #:
| POST /client-id/{client_id}/transactions - 404 - not_found
|
| |||
G-4 | Customer initiates and then fails Flexiti transaction - Customer ID not found | Test Case:
| POST /client-id/{client_id}/transactions - 404 - not_found |
Customer initiates and then fails Flexiti transaction - Account Number not found
Test Case:
Account #:
|
| |
G-6 | Customer initiates and then fails Flexiti transaction - |
Account Number not |
found | Test Case:
| POST /client-id/{client_id}/transactions - |
404 - |
not_ |
Customer initiates and then fails Flexiti transaction - user not able to purchase
Test Case:
Account #:
found
|
Customer initiates and then fails Flexiti transaction - invalid transaction type
Test Case: Merchant generated from test data in sandbox account
| |||
G-7 | Customer initiates and then fails Flexiti transaction - Payment exceeds customer’s Open to Buy | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client_id}/transactions - 409 - not_enough_credit |
G-8 | Customer initiates and then fails Flexiti transaction - Payment exceeds limit | Test Case: Attempt to make a payment of |
$15,500
| POST /client-id/{client_id}/transactions - 409 - limit_payment_amount_24 | ||
G-9 | Customer successfully performs a deposit | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client_id}/transactions - 200 |
G-10 | Customer successfully performs an in-store payment | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client_id}/transactions - 200 |
G-11 | Customer successfully performs a trade-in | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client_id}/transactions - 200 |
H | Flexiti Authorization | ||
H-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 |
H-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 | |||
H-3 | Customer initiates and then fails Flexiti authorization - missing verification code | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{client-id}/authorization - 409 - verification_code_required |
H-4 | Customer initiates and then fails Flexiti authorization - Account Number not found | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client-id}/authorization - 404 - not_found |
Customer initiates and then fails Flexiti authorization - user not active
Test Case:
Account #:
POST /client-id/{client-id}/authorization - 409 - user_not_able_to_purchase
H-5 | Customer initiates and then fails Flexiti authorization - user not able to purchase | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client-id}/authorization - 409 - user_not_able_to_purchase |
H-6 | Customer initiates and then fails Flexiti authorization - not enough credit |
Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client-id}/authorization - 409 - credit_exceeded | ||
H-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 |
H-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 |
H-9 | Customer initiates and then fails Flexiti authorization - plan not available to customer | Test Case: Merchant generated from test data in sandbox account |
| POST /client-id/{client-id}/authorization - 409 - plan_term |
_not_available | |||
H-10 | Customer successfully performs a regular purchase authorization (QC Account) | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client-id}/authorization - 200 |
H-11 | Customer successfully performs a |
promotional purchase authorization (QC Account)
| Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client-id}/authorization - 200 |
H-12 | Customer successfully performs a promotional purchase authorization (QC Account) |
Test Case:
Account #:
| Test Case: Merchant generated from test data in sandbox account
| ||
H-13 | Customer successfully performs a regular purchase authorization (ROC account) | Test Case: Merchant generated from test data in sandbox account
| POST /client-id/{client-id}/authorization - 200 |
H-14 | Customer successfully performs a promotional purchase authorization (ROC Account) | Test Case: Merchant generated from test data in sandbox account |
| POST /client-id/{client-id}/authorization - 200 | ||
H-15 | 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 |
I | Merchant Order Management | ||
I-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 |
I-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 |
I-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 |
I-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 |
I-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 |
I-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 |
I-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 |
I-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 |
I-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 | ||
I-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 |
I-11 | Fully Capture an authorization | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{clientId}/authorization/{authorizationId}/capture - 200 |
I-12 | Partially Capture an authorization | Test Case: Merchant generated from test data in sandbox account | POST /client-id/{clientId}/authorization/{authorizationId}/capture - 200 |
I-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 |
I-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 |
I-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 |
I-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 |
I-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 |
I-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 |
I-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 |
I-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 |
I-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 |
I-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 |
I-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 |
I-24 | View an authorization | Test Case: Merchant generated from test data in sandbox account | GET /client-id/{clientId}/authorization/{authorizationId} - 200 |
I-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 |