This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Integration test and verification
Before going live with your Brite integration it is important to test it thoroughly. In this section we will cover what to test, how to test and what to look for when performing the tests.
Sandbox testing
When integrating the Brite client, we would recommend testing the following OS and browser combinations to cover the majority of user cases:
OS | Browser |
---|---|
Windows | Chrome |
Windows | Firefox |
Windows | Edge |
Mac | Safari |
iOS | Safari |
iOS | Chrome |
Android | Chrome |
How to test
Use Sandbox to test your integration. You can test happy flow using which ever bank in the list for the country you are testing.
Test data – Got to Test data for comprehensive data for testing in the Sandbox environment.
Test bank – The “Test bank” can be chosen as a bank in all countries in the bank selector step in the client. This has some built-in testing scenarios described below. Note that this is not to be used for happy flow testing. In those cases, use any other bank as described above.
Testing scenarios
The following scenarios are recommended to test before moving from the Sandbox environment to the Production environment.
Users
- New users
Make sure new users are registered correctly when using Brite Play. - Returning users
Logic in place for handle returning user. Make sure that a returning users is logged into the correct account. - Get KYC (Brite Play)
Fetch users KYC in the Brite Play flow by first callingkyc.create
and thenkyc.get
.
Deposits
- Successful deposit
Verify that a transaction is successful by receiving callback for STATE_CREDIT or fetch latest state directly from the API. Credit the users account. - Failed/Aborted deposit
Verify that an aborted/failed session and transaction is handled properly. Also make sure to have logic in place to handle a transactions which have failed or been aborted but then transitions to Credited. - Merchant approval/rejection of a deposit session
Make sure logic for calling session.approve and session.reject is resulting in the expected behavior. Also make sure to have logic in place for tracking rejection reason. - Ensure callbacks are successful
Subscribing to desired callbacks and responding correctly with 200 - Refunds
Do a full and a partial refund and verify expected outcome. Also perform a refund exceeding the refundable amount.
Withdrawals
- Create bank account
Create a new Brite bank account usingbank_account.create
in all countries you operate in. If you operate in Sweden or Denmark. Make sure you have logic in place to send valid BBAN. - Successful withdrawal
Verify that a transaction is successful by receiving callback for STATE_CREDIT or fetch latest state directly from the API. - Failed/aborted withdrawal
Verify that an aborted/failed session and transaction is handled properly. - Merchant approval/rejection of withdrawal
Make sure internal logic for Approval/rejection is working as intended. Also make sure to have logic in place for tracking rejection reason. - Ensure callbacks are successful
Subscribing to desired callbacks and responding correctly with 200
Brite Client
- Verify size of Client
Verify that the client size is 600*400 and there are not scrollbars visible when client is rendered. For mobile the size should be 100% of the viewport. - Client border
If the Client is rendered in modal make sure borders are not duplicated - Client Close and Exit buttons.
Make sure the user is redirected accordingly if the Client is closed or the user presses the exit button
Error simulation
It is possible to do negative tests in the Sandbox environment. In the Bank selection step, you can select the Test Bank and have some test scenarios to select and is enabled for all markets.
- Fail after login
Login fail and and the user is presented with: “The bank is experiencing technical issues. Please try again later.” Error_code: “generic_bank_error” - No funds
Login fail and User is presented with: “None of your bank accounts have enough funds for this transaction. Please top up your accounts or select a different bank.” Error_code:“psu_insufficient_funds_all_accounts” - Incomplete KYC
Login is aborted due to incomplete KYC. user is presented with error message saying: “Incomplete information from identity service. Please contact your bank.” Error_code: “incomplete_kyc_information_from_kyc_provider” - Risk engine abort
Transaction is rejected due to risk engine decision. User is prompted with “Oops, something went wrong! The transaction was rejected”. Error_code: “risk_engine_rejection”. Session is aborted and callback session STATE_ABORTED = 10 and transaction STATE_ABORTED = 2 is sent. - Fail transaction
Transaction is failed. User is promted with: “Oops, something went wrong! The transaction was rejected by the bank”. Error_code: “bank_rejected_transaction”. Session is aborted and callback session STATE_ABORTED = 10 and transaction STATE_ABORTED = 2 is sent. - Underage customer
Transaction is rejected due to risk engine decision because of the customer being a minor. User is prompted with “Oops, something went wrong! Unfortunately, your transaction cannot be processed at this time”. Error_code: “risk_engine_rejection”. Session is aborted and callback session STATE_ABORTED = 10 and transaction STATE_ABORTED = 2 is sent.
Production testing
Before going live to all users, Brite will require that a couple of production test transactions, both deposits and withdrawals, are done and verified OK. Please ensure the end user balance is credited correctly. Please provide a screen recording of the testing, both deposit and withdrawal, with Brite. With that we can verify that the sizing of the client etcetera is optimized.
If applicable, we will be checking Brite’s positioning on the cashiers between the competitors as per contractual agreement.