Search Overlay

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.

  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