# EFT

## EFT <a href="#eft-api-eft" id="eft-api-eft"></a>

### Base URL <a href="#eft-api-baseurl" id="eft-api-baseurl"></a>

The base URL for all API requests is:

<https://apigateway.payfirma.com>

### Balance <a href="#eft-api-balance" id="eft-api-balance"></a>

```
GET /transaction-service-vt/eft/balance
```

Returns wallet balance for EFT to do instant transactions else would be a few days for settlement.

#### Response <a href="#eft-api-response" id="eft-api-response"></a>

Returns a JSON object with the following properties:

* **available\_balance**: fund available balance currently for transaction
* **actual\_balance**: total balance - Funds are in the wallet

**Example:**

Request

```
GET /transaction-service-vt/eft/balance
```

Response:

```
{
    "available_balance": 13.36,
       "actual_balance": 13.36
}
```

### Incoming Request - EFT Debit <a href="#eft-api-incomingrequest-eftdebit" id="eft-api-incomingrequest-eftdebit"></a>

```
GET /transaction-service-vt/eft/incoming-requests
```

Returns list of incoming requests asking you for funds - EFT Debit

#### Response <a href="#eft-api-response.1" id="eft-api-response.1"></a>

Returns a JSON object with the following properties:

* **incoming\_requests**: Array of objects of incoming request
  * amount: amount asking for processor\_transaction\_id: unique identifier
  * email: email of the user asking for
  * status: status of the request
  * redirect\_url: redirect URL to start EFT transaction date: date of the EFT request
  * description: description of the EFT request

**Example:**

Request:

```
GET /transaction-service-vt/eft/incoming-requests
```

Response:

```
incoming_requests: [
    {
        "amount": 1,
        "processor_transaction_id": "PAY24204476",
        "email": "sample@gmail.com",
        "status": "PENDING",
        "redirect_url": "https://sample.com?redirect",
        "date": "1/17/2024 11:26:40 PM",
        "description": "API Test Doc"
    }
]
```

### Requesting Funds - EFT Credit <a href="#eft-api-requestingfunds-eftcredit" id="eft-api-requestingfunds-eftcredit"></a>

```
POST /transaction-service-vt/eft/request/{customer_lookup_id}
```

Requesting funds to PayHQ customer via EFT - EFT Credit

#### Request Body <a href="#eft-api-requestbody" id="eft-api-requestbody"></a>

```
{
    "amount": 1,
    "description": "API Test Doc"
}
```

#### Response <a href="#eft-api-response.2" id="eft-api-response.2"></a>

Returns a JSON object with the following properties:

* amount: amount requested
* email: email of the customer request sent to
* card\_type: Type of Card Transaction(Internal Use)
* description: description of the EFT request sent
* id: unique identifier for PayHQ
* transaction\_id: unique identifier for PayHQ hashed
* transaction\_success: Is request sent successfully
* transaction\_result: result of the EFT request sent - at first would be “PENDING” until other user do some action on it. Status would be updated on your side too
* transaction\_time: time of request epoch time format transaction\_type: Type of the transaction(Internal Use)

**Example:**

Request:

```
POST /transaction-service-vt/eft/request/{customer_lookup_id}
```

Response:

```
{
    "amount": 1,
    "email": "sample@gmail.com",
    "card_type": "EFT",
    "description": "API Test Doc",
    "id": 9587492,
    "transaction_id": "8Xj5QZyE499o9dGv6pA2",
    "transaction_success": true,
    "transaction_result": "PENDING",
    "transaction_time": 1705534494112,
    "transaction_type": "EFT_CREDIT"
}
```

### Bank Deposit: <a href="#eft-api-bankdeposit" id="eft-api-bankdeposit"></a>

```
POST /transaction-service-vt/eft/bank-deposit
```

Deposit to your linked bank account from your wallet **available balance**

#### Request Body <a href="#eft-api-requestbody.1" id="eft-api-requestbody.1"></a>

```
{
"amount": 1
}
```

#### Response: <a href="#eft-api-response" id="eft-api-response"></a>

Only status 200 - If successful else 400 with error message

**Example:**

Request:

```
POST /transaction-service-vt/eft/bank-deposit
```

### Send Funds - EFT Debit <a href="#eft-api-sendfunds-eftdebit" id="eft-api-sendfunds-eftdebit"></a>

```
POST /transaction-service-vt/eft/send/{customer_lookup_id}
```

Send funds to the customer’s Bank account directly ***-*** EFT Debit

#### Request Body <a href="#eft-api-requestbody.2" id="eft-api-requestbody.2"></a>

```
{
    "amount": 1,
    "description": "API Test Doc",
    "transit_number": "12345",
    "institution_number": "123",
    "account_number": "123467"
}
```

#### Response <a href="#eft-api-response.3" id="eft-api-response.3"></a>

Returns a JSON object with the following properties:

* amount: amount to send
* email: email of the customer
* first\_name: first name of the customer
* last\_name: last name of the customer
* province: province(in code) - BC
* country: country(in code) - CA
* card\_type: Type of Card Transaction(Internal Use) description: description of the EFT request sent
* id: unique identifier for PayHQ
* transaction\_id: unique identifier for PayHQ hashed transaction\_success: Is request sent successfully
* transaction\_result: result of the EFT request sent - at first would be “PENDING” until other user do some action on it. Status would be updated on your side too
* transaction\_time: time of request epoch time format
* transaction\_type: Type of the transaction(Internal Use)

**Example:**

Request:

```
POST /transaction-service-vt/eft/send/{customer_lookup_id}
```

Response:

```
{
    "amount": 1,
    "email": "sample@payfirma.com",
    "first_name": "Sample",
    "last_name": "Test",
    "province": "BC",
    "country": "CA",
    "card_type": "EFT",
    "description": "API Test Doc - Account Number: ***1234",
    "id": 9587494,
    "transaction_id": "EmJVqxBX1ZZKogz6NeGn",
    "transaction_success": false,
    "transaction_result": "PENDING",
    "transaction_time": 1705535538104,
    "transaction_type": "EFT_DEBIT"
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.payfirma.com/api/eft.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
