Overview

Capture an Interac e-Transfer payment by generating a secure payment link that your customer can use to complete the transfer. This endpoint supports incoming (receiving) payments through Canada’s Interac e-Transfer system.

Interac e-Transfer is only available for Canadian dollar (CAD) transactions and requires both the sender and recipient to have Canadian bank accounts.

Endpoint

POST /payment-sessions/{payment_id}

Capture Flow

1

Initialize Payment

First create a payment session with payment initialization

2

Generate Transfer Link

Capture the payment to generate an Interac e-Transfer link

3

Customer Transfer

Customer completes the transfer through their online banking

4

Auto-Deposit

Funds are automatically deposited if enabled, or require security answer

Response Object

{
  "data": {
    "auth_type": null,
    "expires_at": "2024-04-09T01:11:30.239705Z",
    "links": {
      "redirect_url": "https://gateway-web.fit.interac.ca/reqPayment/eml/CA1MRz75R4Hy"
    },
    "message": "Waiting for payment",
    "payment": {
      "amount": 100000,  // Amount in cents
      "currency": "CAD",
      "status": "pending",
      "payment_method": {
        "type": "interac"
      },
      "customer": {
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@example.com",
        "phone_number": "+14165555555",
        "billing_address": {
          "line1": "123 Main St",
          "line2": "Unit 4B",
          "city": "Toronto",
          "state": "ON",
          "country": "CA",
          "zip_code": "M5V 2T6"
        }
      },
      "description": "Invoice payment",
      "reference": "inv_20240322_123",
      "metadata": {
        "order": {
          "identifier": "ORD12345",
          "items": [
            {
              "name": "Professional Services",
              "type": "service"
            }
          ]
        }
      }
    }
  }
}

Important Response Fields

Interac e-Transfer payment link to share with customer

  • Valid for payment session duration
  • Unique per transaction
  • Must be accessed within expires_at time
expires_at
string
required

ISO 8601 timestamp when the payment session expires

  • Default: 24 hours from creation
  • Customer must complete transfer before this time

Transaction Limits

  • Minimum: CAD 100.00 (10000 cents)
  • Maximum: CAD 10,000.00 (1000000 cents)
  • Daily Limit: CAD 25,000.00 (2500000 cents)
  • Monthly Limit: CAD 100,000.00 (10000000 cents)

Processing Times

  • Incoming transfers typically process within 15-30 minutes
  • Auto-deposit reduces processing time
  • Bank cut-off times may affect processing
  • Weekend/holiday transfers may take longer

Error Handling

Best Practices

  1. Customer Communication

    • Send the redirect URL immediately to the customer
    • Include clear transfer instructions
    • Notify when payment is received
  2. Error Handling

    • Implement retry logic for failed captures
    • Monitor payment session expiration
    • Handle timeout scenarios properly
  3. Security

    • Validate payment sessions before capture
    • Check transaction limits
    • Monitor for suspicious patterns
  4. Integration

    • Use webhooks for real-time updates
    • Store payment IDs for reconciliation
    • Implement proper logging

Need Help?

For questions about Interac e-Transfer integration: