Simulation Cases
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 or 119 | COMPLETED | After 20 seconds |
5.29 or 129 | COMPLETED | After 5 minutes |
5.39 or 139 | COMPLETED | After 15 minutes |
5.49 or 149 | 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"
}
}
Payment (Send money flow)
The Send Money Payment will be created in Production with the status PENDING. Further, we update the Payment status as soon as we receive a call back from Peoples Trust.
To replicate this situation with the internal simulator, we must hit one endpoint in order to change the Payment status to COMPLETED.
The amount-based simulations listed below are used to complete payment transactions with the Internal Simulator. To obtain the desired result, we must provide an amount value in the request.
Payments for amounts other than StandaloneCredits and Verifications will be completed instantly.
Amount (Dollars) | Status | Time Limit |
---|---|---|
5.19 or 119 | COMPLETED | After 20 seconds |
5.29 or 129 | COMPLETED | After 5 minutes |
5.39 or 139 | COMPLETED | After 15 minutes |
POST: /alternatepayments/interacetransfer/v1/autodeposit/payment
Request Body fields:
-
amount: Amount used in Payment
-
paymentReference: paymentReference number generated in Payment
-
accountNumber: accountNumber which was used while setup the account
Request:
{
“amount”: 129,
“paymentReference”: “369SBKQADW”
“accountNumber”: “629-16001-000000010000”
}
Response:
{
“amount”: 129,
“status”: “AVAILABLE”,
“paymentReference": "369SBKQADW ",
"account_number": "629-16001-000000010000"
}
Standalone Credits 
Below amount based simulations are used to COMPLETE/FAIL/ERROR the transactions with Internal Simulator.
Amount (Dollars) | Status | Time Limit |
---|---|---|
7.19 or 719 | COMPLETED | After 60 minutes |
7.29 or 729 | FAILED | After 60 minutes |
7.39 or 739 | COMPLETED | 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.
- ALIAS_AUTODEPOSIT
- 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