Simulation Cases for Internal Simulator

Payment

In Production, People Trust will give us call backs to complete the transaction. So to replicate those scenarios we added some simulation cases.

Below amount based simulations are used to COMPLETE/FAIL the Payment transactions with Internal Simulator. We need to send amount value in the request to get the respected result.

Amount (Dollars) Status Time Limit
5.19 COMPLETED After 20 seconds
5.29 COMPLETED After 5 minutes
5.39 COMPLETED After 30 minutes
5.49 FAILED After 5 minutes
  • Status will change after time limit. Example for amount 5.29 it will wait for 5 minutes and it will update the status
  • For COMPLETED status webhooks will be triggered automatically after time limit without doing any lookup calls
  • For FAILED status we should do a look up call after time limit to get the webhooks

{
    "merchantRefNum": "1387453849343947",
    "transactionType": "PAYMENT",
    "paymentType": "INTERAC_ETRANSFER",
    "amount": 519,
    "currencyCode": "CAD",
    "customerIp": "172.0.0.1",
    "interacEtransfer": {
        "consumerId": "madhu.baddam@paysafe.com",
        "type": "EMAIL"
    },
    "billingDetails": {
        "street1": "100 Queen",
        "street2": "Unit 201",
        "city": "Melbourne",
        "state": "Victoria",
        "zip": "3000",
        "country": "AU"
    },
    "profile": {
        "firstName": "Madhu",
        "lastName": "Baddam",
        "email": "madhu@paysafe.com"
    }
}

FullName:

This section explains how to return different fullName in the gatewayresponse object in response.

In General for all the Payment Completed transactions we will echo back firstname and lastname as fullName in the response. To get a different value in the fullName, send the amount value as 105 in the request, "JOHN SMITH" will return as fullName in the response every time.

Normal Response:

{
    "id": "36c237e9-0973-4509-9231-998b25ddbdf0",
    "paymentType": "INTERAC_ETRANSFER",
    "paymentHandleToken": "PHP1ouu8SVipCCjb",
    "merchantRefNum": "2fcebe3d-63e1-4df9-aea5-4492ac5c0091",
    "currencyCode": "CAD",
    "settleWithAuth": true,
    "txnTime": "2022-02-06T13:41:38Z",
    "billingDetails": {
        "street1": "100 Queen",
        "street2": "Unit 201",
        "city": "Melbourne",
        "zip": "3000",
        "state": "Victoria",
        "country": "AU"
    },
    "status": "COMPLETED",
    "gatewayReconciliationId": "0928b6d2-0000-4f7f-ba77-9814dec5f643",
    "amount": 519,
    "availableToRefund": 519,
    "consumerIp": "172.0.0.1",
    "liveMode": false,
    "updatedTime": "2022-02-06T13:41:58Z",
    "statusTime": "2022-02-06T13:41:58Z",
    "gatewayResponse": {
        "profile": {
            "fullName": "Madhu Baddam"
        },
        "id": "FRwDo5XNl8unDJk1",
        "processor": "INTERAC",
        "status": "DEPOSIT_COMPLETE"
    },
    "availableToSettle": 0,
    "interacEtransfer": {
        "consumerId": "madhu.baddam@paysafe.com",
        "type": "EMAIL"
    },
    "profile": {
        "firstName": "Madhu",
        "lastName": "Baddam",
        "email": "madhu@paysafe.com"
    }
}

Simulation Response for Amount 105:

{
    "id": "2bcf8261-c7ac-40e4-8451-38670355cba1",
    "paymentType": "INTERAC_ETRANSFER",
    "paymentHandleToken": "PHQmoqj8i7NQb1TB",
    "merchantRefNum": "4f258664-5a57-49f8-8835-2c801352e0ae",
    "currencyCode": "CAD",
    "settleWithAuth": true,
    "txnTime": "2022-02-06T13:52:17Z",
    "billingDetails": {
        "street1": "100 Queen",
        "street2": "Unit 201",
        "city": "Melbourne",
        "zip": "3000",
        "state": "Victoria",
        "country": "AU"
    },
    "status": "COMPLETED",
    "gatewayReconciliationId": "14ce6cb7-d5df-4d23-990f-2407fbfae957",
    "amount": 105,
    "availableToRefund": 105,
    "consumerIp": "172.0.0.1",
    "liveMode": false,
    "updatedTime": "2022-02-06T13:52:28Z",
    "statusTime": "2022-02-06T13:52:28Z",
    "gatewayResponse": {
        "profile": {
            "fullName": "JOHN SMITH"
        },
        "id": "9BtHBjgSDlXPjqg0",
        "processor": "INTERAC",
        "status": "DEPOSIT_COMPLETE"
    },
    "availableToSettle": 0,
    "interacEtransfer": {
        "consumerId": "madhu.baddam@paysafe.com",
        "type": "EMAIL"
    },
    "profile": {
        "firstName": "Madhu",
        "lastName": "Baddam",
        "email": "madhu@paysafe.com"
    }
}

StandaloneCredits

Below amount based simulations are used to COMPLETE/FAIL/ERROR the transactions with Internal Simulator.

Amount (Dollars) Status Time Limit
7.19 COMPLETED After 60 minutes
7.29 FAILED After 60 minutes
7.39 ERROR Immediately
  • For Standalonecredits always do a lookup call for the webhooks.

{
    "merchantRefNum": "13982837948732984732",
    "transactionType": "STANDALONE_CREDIT",
    "paymentType": "INTERAC_ETRANSFER",
    "amount": 719,
    "currencyCode": "CAD",
    "customerIp": "172.0.0.1",
    "interacEtransfer": {
        "consumerId": "madhutest@paysafe.com",
        "question": "what is your name",
        "answer": "MadhuBaddam"
    },
    "profile": {
        "firstName": "Madhu",
        "lastName": "Baddam",
        "email": "madhu.baddam@paysafe.com",
        "phone": "12345678"
    },
    "browserDetails": {
        "userCookie": "testusercoockie"
    },
    "deviceDetails": {
        "deviceId": "testdeviceid"
    }
}

Verifications

There are two types of customers for PEOPLE TRUST.

  1. ALIAS_AUTODEPOSIT
  2. ALIAS_REGULAR

To simulate the above types we need to add the below strings in the consumerId field

for ALIAS_AUTODEPOSIT → send "auto" in the consumerId

example: testauto@paysafe.com

for ALIAS_REGULAR → send "reg" in the consumerId

Example: testreg@paysafe.com

Note: If we are not sending the above simulations in the consumerId it will give random response.

{
    "merchantRefNum": "f8203e56-1920-40df-93f0-56c10bd48064​​​",
    "transactionType": "VERIFICATION",
    "paymentType": "INTERAC_ETRANSFER",
    "amount": 543,
    "currencyCode": "CAD",
    "dupCheck": true,
    "liveMode": true,
    "interacEtransfer": {
        "consumerId": "autoemail@paysafe.com"
    },
    "profile": {
        "firstName": "Madhu",
        "lastName": "Baddam",
        "email": "madhu.baddam@paysafe.com"
    },
    "billingDetails": {
        "street1": "100 Queen Street West",
        "street2": "stree 2",
        "city": "Toronto",
        "state": "CA",
        "country": "NL",
        "zip": "M5H 2N2"
    }
}

FullName:

To get the different value in fullName field we should add "nmchk" value in the consumerId.

Example: testnmchkauto@paysafecom -→ it will return "JOHN SMITH" in the response for fullName.

Note: fullName only return for the ALIAS_AUTODEPOSIT transactions. So, add auto also in the consumerId

Did you find this page useful?