Example Test Cases

Overview

To ensure a successful integration with Qolo’s Interact System, clients must perform comprehensive testing using the Transaction Authorization Simulator, covering a range of transaction scenarios. By simulating authorization requests, declines, partial approvals, and reversals, clients can verify how their authorization and message endpoints process real-time transactions.

This section provides example test cases, including:

  • Sample authorization requests to validate approval responses.
  • Decline scenarios to ensure proper handling of transaction failures.
  • Partial approval testing for transactions where full funding is not available.
  • Reversal testing to confirm that authorized but unsettled transactions can be canceled.

Thorough testing ensures that clients’ systems are production-ready, reducing the risk of authorization errors and funding mismatches once live.


Sample Authorization Requests

Clients must verify that their authorization endpoint correctly processes incoming requests from Qolo. Below is an example of a test authorization request that mimics a real-world purchase transaction:

Example Authorization Request

{
  "cardAuth": {
    "card_auth_txn_guid": "fa220d99-4333-45aa-931e-61c74f25ed17",
    "request_code": "ST-PURCHASE",
    "response_code": null,
    "reason_code": null,
    "channel_name": "MNGS",
    "circuit_id": "MNGS",
    "mask_pan": "XXXXXXXXXXXX7796",
    "message_type": "100",
    "processing_code": "000000",
    "txn_amount": 13.13,
    "settle_amount": 13.13,
    "billng_amount": 13.13,
    "transmission_date": "2024-07-24T17:32:40.30778Z",
    "billing_fee": 0.0,
    "settle_conv_rate": 1.0,
    "billing_conv_rate": null,
    "stan": "100005",
    "local_txn_time": "12/19/2023 3:02:00 PM",
    "local_txn_date": "2023-12-19T15:02:00",
    "mcc": "5814",
    "acq_inst_country_code": "840",
    "pan_country_code": null,
    "fwd_inst_country_code": null,
    "pos_entry_mode_pan": "06",
    "pos_entry_mode_pin": null,
    "pos_service_code": "10021007256",
    "pos_condition_code": null,
    "pos_pin_capture_code": null,
    "acq_institution_id": "1000001054",
    "fwd_institution_id": "11111111111",
    "retreival_reference": "100005",
    "authorization_id_code": "683334",
    "terminal_id": "100005",
    "acceptor_id": "100005",
    "acceptor_name_loc": "Red Lobster",
    "additional_data_private": "Red Lobster Franchise",
    "txn_currency_code": "840",
    "settle_currency_code": "840",
    "billing_currency_code": "840",
    "pin_data_present": 0,
    "additional_amounts": null,
    "pos_entry_cond_description": "00000         826",
    "cvx2_indicator": "1",
    "cvx2_result": "M",
    "avs_indicator": "1",
    "avs_result": null,
    "partial_auth_ind": "SUPPORT",
    "acceptor_country": null,
    "original_amount": null,
    "threeds_response": null,
    "network_id": null,
    "addtional_transaction_data": "",
    "network_rrn": null
  },
  "ia_card": {
    "wallet_guid": "49f5e1bf-d68f-432c-9601-9dac7c9eebed",
    "program_guid": "0c042b4f-321b-414e-a5b2-2ff4383ea877",
    "card_proxy": "cproxy7345246247509",
    "mask_card_pan": "XXXXXXXXXXXX7796",
    "card_status": "ACTIVE",
    "issuance_type": "FULL",
    "expiration_date": "2027-07-31T23:59:59",
    "logical_expiration_date": "2027-07-31T23:59:59"
  },
  "ia_account": {
    "account_guid": "1e645aa5-507a-44ef-942f-71a3fd70688d",
    "account_type": "PRINCIPAL",
    "account_currency": "USD",
    "available_balance": 68.0200,
    "ledger_balance": 68.0200,
    "suspense_balance": 0.0000,
    "account_status": "ACTIVE"
  },
  "ia_person": {
    "person_guid": "7745ef9c-b156-4de4-b37c-c7b414d63a6c",
    "billing_address_line1": "4259 Fallon Drive",
    "billing_address_line2": "",
    "billing_city": "Auburn",
    "billing_state": "Ontario",
    "billing_postal_code": "30883",
    "billing_country": "CAN",
    "verification_mode": "NA",
    "verification_level": "KYC_NA"
  },
  "pf_account": null,
  "cardAuthSupplement": null,
  "avs_data": null,
  "fees": [
    {
      "account_guid": "1e645aa5-507a-44ef-942f-71a3fd70688d",
      "fee_request_code": "FT-PURCHASE",
      "fee_request_description": "Purchase Fee",
      "fee_amount": 2.0000
    }
  ],
  "total_fee_amount": 2.0000,
  "tolerance_amount": 0.0,
  "orig_txn_guid": "00000000-0000-0000-0000-000000000000",
  "orig_card_auth_txn_guid": "00000000-0000-0000-0000-000000000000",
  "total_request_amount": 15.1300,
  "txn_sign": -1,
  "version": "1.0"
}

Testing Objectives

  • Ensure that the authorization request is correctly received at the authorization endpoint.
  • Validate that the system processes the transaction details correctly.
  • Confirm that an appropriate authorization response is sent back to Qolo.

Decline Scenarios

Clients must test how their authorization endpoint handles declined transactions due to various failure conditions. These scenarios simulate common reasons a transaction may be rejected, ensuring that the correct response codes are returned.

ScenarioResponse CodeDescription
Insufficient FundsINSUFF_FUNDSThe account does not have enough funds to complete the transaction.
Invalid CVVAUTH_DECLINEThe CVV entered does not match the one on file.
Blocked MCCRESTRICTEDThe transaction is attempted at a restricted merchant category.
Velocity Limit ExceededVELOCITY_EXCEEDToo many transactions have been attempted within a short time.
Suspected FraudSUSPECT_FRAUDThe transaction triggered a fraud alert based on risk parameters.

Testing Objectives

  • Ensure that the decline scenarios trigger the correct response codes.
  • Verify that the client’s fraud detection and risk management logic works as expected.
  • Confirm that declined transactions are logged correctly in the system.

Partial Approval and Reversals

For transactions that cannot be fully funded, clients should test partial authorization handling to confirm that transactions can be processed for a lower amount when full approval is unavailable.

Partial Approval Test Case

Scenario

  • A merchant requests $100, but only $50 is available in the funding account.
  • Instead of declining the transaction, the client approves a partial amount.

Example Partial Authorization Response

{
    "response_code": "APPROVE",
    "partial_auth_amount": "50.00"
}

Expected Outcome

  • The transaction is approved for $50 instead of the full requested amount.
  • The merchant can choose to accept or reject the partial authorization.

Testing Objectives

  • Ensure that the client’s system correctly supports partial approvals.
  • Verify that the merchant can process the transaction at the reduced amount.
  • Confirm that partial authorizations are correctly logged and reconciled.

Transaction Reversal Test Case

Clients must verify that authorization reversals are processed correctly. Reversals occur when an approved transaction is later canceled before settlement.

Scenario

  • A transaction was approved but not yet settled.
  • The client sends a reversal request to cancel the authorization.

Example Reversal Request

{
    "card_proxy": "cproxy111111111111",
    "auth_request_type": "REVERSAL",
    "orig_txn_amount": 10,
    "stan": "123456",
    "retrieval_reference": "123456",
    "processing_code": "000000",
    "txn_amount": -10
}

Expected Outcome

  • The original authorization is canceled, and the funds are not deducted from the cardholder’s account.
  • The merchant receives a notification that the authorization has been reversed.
  • The client’s system logs the reversal and updates transaction records.

Testing Objectives

  • Ensure that reversals are processed correctly before transactions settle.
  • Verify that funds are not deducted from the account after a reversal.
  • Confirm that reversal notifications are properly handled.

Key Takeaways

  • Clients must configure their authorization and message endpoints to receive and process test transactions from Qolo.
  • Qolo provides an Interact Authorization Simulator for testing various approval and decline scenarios.

Test Cases Should Include

  • Standard approvals
  • Declined transactions (insufficient funds, invalid CVV, MCC restrictions, fraud alerts, etc.)
  • Partial authorizations when full funding is not available
  • Reversals to ensure that unsettled transactions can be canceled
  • API references are available for sample payloads and integration guidelines.

By completing comprehensive testing, clients can ensure their authorization and funding processes are optimized for production, reducing the risk of authorization errors or funding mismatches once live.


Related Topics