SZNDSZND

Interac Payees

Register and list business Interac collection inboxes — dedicated emails with security question and answer used for CAD Interac e-Transfer deposits to your business.

This is separate from per-customer CAD virtual wallets. Interac payees live in your business payee registry (business_interac_payees) and credit the configured user when a matching deposit arrives.

Prerequisites

  • Business API key with HMAC signing — see Authentication
  • Manual Interac deposit enabled on your business (is_interac_manual_deposit_enabled). If it is not enabled, these endpoints return 403

Contact Transfaar support if you need manual Interac deposit enabled.

List Interac Payees

GET /api/v1/client/interac-payees

Returns Interac payees registered for your business, including security credentials.

Query Parameters

ParameterTypeRequiredDescription
payee_emailstringNoCase-insensitive exact match on the Interac collection email

Authentication

http
x-api-key: <your-api-key>x-timestamp: <RFC3339-timestamp>x-signature: <HMAC-signature>

Success Response (200 OK)

json
{  "interac_payees": [    {      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",      "business_id": "biz-uuid-here",      "payee_email": "collections@example.com",      "question": "What is the secret code?",      "answer": "48291",      "credit_user_id": "123e4567-e89b-12d3-a456-426614174000",      "provider_id": 1,      "is_active": true,      "created_at": "2025-01-30T10:00:00Z",      "updated_at": "2025-01-30T10:00:00Z"    }  ]}

Response Fields

FieldTypeDescription
idstring (UUID)Payee record ID
business_idstring (UUID)Your business ID
payee_emailstringInterac collection email
questionstringSecurity question (omitted when empty)
answerstringSecurity answer
credit_user_idstring (UUID)User credited when a deposit matches this inbox
provider_idnumberExternal provider ID (Blaaiz)
is_activebooleanWhether the payee is active for matching
created_atstringRFC3339 timestamp
updated_atstringRFC3339 timestamp

Treat question and answer as confidential.

Example: cURL

bash
# All payeescurl -X GET "https://api.sznd.app/api/v1/client/interac-payees" \  -H "x-api-key: your_api_key_here" \  -H "x-timestamp: 2025-01-30T12:20:15Z" \  -H "x-signature: generated_signature_here"
# Filter by emailcurl -X GET "https://api.sznd.app/api/v1/client/interac-payees?payee_email=collections%40example.com" \  -H "x-api-key: your_api_key_here" \  -H "x-timestamp: 2025-01-30T12:20:15Z" \  -H "x-signature: generated_signature_here"

Example: JavaScript

javascript
const crypto = require('crypto');
async function listInteracPayees(payeeEmail = '') {  const apiKey = 'your_api_key_here';  const secretKey = 'your_secret_key_here';  const timestamp = new Date().toISOString();  const dataToSign = '' + '|' + timestamp; // GET: empty body  const signature = crypto.createHmac('sha256', secretKey).update(dataToSign).digest('hex');  const qs = payeeEmail ? `?payee_email=${encodeURIComponent(payeeEmail)}` : '';  const response = await fetch(`https://api.sznd.app/api/v1/client/interac-payees${qs}`, {    method: 'GET',    headers: {      'x-api-key': apiKey,      'x-timestamp': timestamp,      'x-signature': signature,    },  });  return await response.json();}
const { interac_payees } = await listInteracPayees('collections@example.com');for (const payee of interac_payees) {  console.log(payee.id, payee.payee_email, payee.question, payee.answer);}

Create Interac Payee

POST /api/v1/client/interac-payees

Request Body

FieldTypeRequiredDescription
payee_emailstringYesInterac collection email (normalized to lowercase)
answerstringYesSecurity answer
questionstringNoSecurity question

credit_user_id is set to your business owner on create.

Example Request

json
{  "payee_email": "collections@example.com",  "question": "What is the secret code?",  "answer": "48291"}

Success Response (201 Created)

Returns a single payee object (same shape as each item in the list).

Common Errors

StatusDescription
400Missing or invalid fields
401Invalid API key or signature
403Manual Interac deposit is not enabled for your business
409Email already used as a VBA/temp Interac inbox, or another active payee uses this email
500Internal error

Update Interac Payee

PATCH /api/v1/client/interac-payees/:id

Partial update. Only send fields you want to change.

FieldTypeDescription
payee_emailstringNew collection email
questionstringNew question (empty string clears it)
answerstringNew answer (cannot be empty if sent)
is_activebooleanActivate or deactivate the payee

Success Response (200 OK)

Returns the updated payee object.

Common Errors

StatusDescription
400Invalid body or empty answer / payee_email
403Manual Interac deposit is not enabled
404Payee not found for your business
409Email conflict with VBA or another active payee

Related