CAD
Webhook payload for CAD collection transactions
You must have added an interac email (e.g payments@company.com) via the Blaaiz dashboard. Without this, funds won't reflect in your wallet.
When your CAD wallet is funded via Interac's auto-deposit, details about the transaction are sent in a payload that provides essential information for record-keeping and reconciliation.
These are sent to your collection_url when your business receives funds.
Transaction list and detail responses use external_reference for collections and payouts in all currencies.
CAD collection webhooks use interac_reference for the same saved collection reference.
Parameters overview
| Parameters | Description |
|---|---|
message | A message indicating the status of the transaction. |
transaction_id | A unique identifier for the transaction used for tracking and reference. |
transaction_reference | A unique identifier for the transaction used for tracking and reference. |
interac_reference | The saved Interac reference. A string, or null when no reference is available. |
merchant_reference | Always null. An Interac collection has no reference from you. |
transaction_status | The status of the transaction (e.g., SUCCESSFUL, FAILED, EXPIRED). |
transaction_fee | The fee charged for the transaction. |
transaction_amount_without_fee | The amount that was transferred, excluding any fees. |
transaction_amount | The total amount of the transaction, including fees. |
transaction_currency | The currency in which the transaction was conducted (e.g., CAD for Canadian Dollars). |
payee_collection_email | The Email of the recipient |
source_information | An object containing details about the source of the funds. |
source_information.collection_email | The email address of the sender who initiated the collection. |
source_information.collection_name | One name of the sender, selected by Blaaiz. May be null if unavailable. See Payer names. |
source_information.sender_name | The name that the sender registered for Interac e-Transfer. May be null. |
source_information.contact_name | The contact name on the Interac transfer record. May be null. |
source_information.responder_name | The name of the account holder, as registered at the financial institution of the payer. May be null. |
failure_reason | The reason a collection failed, as reported by the payment provider. Blaaiz includes this field only when transaction_status is FAILED. |
event_id | A unique identifier for the event associated with the transaction. |
type | The type of transaction, indicating it as a collection (e.g., "collection"). |
Example payload
{
"message": "Transaction Completed",
"transaction_id": "20580e50-1b32-40a6-aa46-ac8e795b3zas",
"transaction_reference": "CA1MR6ahQBCJ",
"interac_reference": "CA1MR6ahQBCJ",
"merchant_reference": null,
"transaction_status": "SUCCESSFUL",
"transaction_fee": 0.0,
"transaction_amount_without_fee": 20.0,
"transaction_amount": 20.0,
"transaction_currency": "CAD",
"payee_collection_email":"yourbusinss@example.com",
"source_information": {
"collection_email": "test@test.com",
"collection_name": "John Doe",
"sender_name": "JOHN DOE",
"contact_name": "John Doe",
"responder_name": "John Doe"
},
"event_id": "9d46a6c7-fbb4-48f0-912c-4f9611fe5844",
"type": "collection"
}Payer names
Interac can send more than one name for the person or business that paid you. The names can be different for one payment. For example, sender_name can be JOHN DOE and responder_name can be John A. Doe. Blaaiz sends each name in its own key.
| Key | What the name is |
|---|---|
sender_name | The name that the sender registered for Interac e-Transfer. This name can be different from the legal name of the account holder. |
responder_name | The name of the account holder, as registered at the financial institution of the payer. |
contact_name | The contact name on the Interac transfer record. Interac does not confirm this name. |
collection_name | One of the names above, selected by Blaaiz. This key stays for existing integrations. |
None of these keys contains a verified legal name. Do not use a name alone to identify the payer. Use collection_email to find the customer, and use the names as an additional check.
If the names do not agree with the customer that you expect, review the payment before you release goods or value.
Each key is null when Interac does not supply the name. The collection method also controls which keys have a value:
| Collection method | Keys that can have a value |
|---|---|
| Interac Auto Deposit | sender_name, contact_name, responder_name |
| Interac money request | sender_name, contact_name, responder_name |
| Accept Interac money request | sender_name |
| Payment from another Blaaiz business | responder_name, which contains the name of that business |
collection_name has a value in all of these collection methods when a name is available.
Collections that Blaaiz received before these keys were added have null for sender_name, contact_name and responder_name.
Failed transactions
Blaaiz also sends a collection webhook when a CAD collection fails. The webhook goes to the same collection_url, with transaction_status set to FAILED and message set to Transaction Failed.
A failed webhook adds a failure_reason field. This field gives the reason the collection did not complete, as reported by the payment provider. Use this reason to tell the payer what to correct, or to open a support case.
Blaaiz sends failure_reason one time, on the failure webhook only. A later webhook replay does not include the failure_reason field.
Do not release goods or value for a FAILED collection. No funds move, and Blaaiz does not credit your CAD wallet.
On a failed collection, the amount fields are 0.00 and the source_information fields can be null.
Failed example payload
{
"message": "Transaction Failed",
"transaction_id": "20580e50-1b32-40a6-aa46-ac8e795b3zas",
"transaction_reference": "CA1MR6ahQBCJ",
"interac_reference": "CA1MR6ahQBCJ",
"merchant_reference": null,
"transaction_status": "FAILED",
"transaction_fee": 0.0,
"transaction_amount_without_fee": 0.0,
"transaction_amount": 0.0,
"transaction_currency": "CAD",
"payee_collection_email": "yourbusiness@example.com",
"source_information": {
"collection_email": null,
"collection_name": null,
"sender_name": null,
"contact_name": null,
"responder_name": null
},
"failure_reason": "GetIncomingTransfers Error : Interac Response Description : 320 - Operation cannot be performed due to current transfer status",
"event_id": "9d46a6c7-fbb4-48f0-912c-4f9611fe5844",
"type": "collection"
}Expired transactions
Blaaiz sends a collection webhook when a CAD collection expires. A collection expires when the payer does not approve an Interac money request before its expiry time. The default expiry time is 48 hours after you create the request.
The webhook goes to the same collection_url. Blaaiz sets transaction_status to EXPIRED and message to Transaction Expired.
Do not release goods or value for an EXPIRED collection. No funds move, and Blaaiz does not credit your CAD wallet.
The amount fields show the amount you requested. The source_information fields and payee_collection_email are null, because the payer never approved the request.
Expired example payload
{
"message": "Transaction Expired",
"transaction_id": "20580e50-1b32-40a6-aa46-ac8e795b3zas",
"transaction_reference": "CA1MR6ahQBCJ",
"interac_reference": null,
"merchant_reference": null,
"transaction_status": "EXPIRED",
"transaction_fee": 2.0,
"transaction_amount_without_fee": 98.0,
"transaction_amount": 100.0,
"transaction_currency": "CAD",
"payee_collection_email": null,
"source_information": {
"collection_email": null,
"collection_name": null,
"sender_name": null,
"contact_name": null,
"responder_name": null
},
"event_id": "9d46a6c7-fbb4-48f0-912c-4f9611fe5844",
"type": "collection"
}