---
updatedAt: 2025-09-23T20:55:32.000Z
agentTools:
  projectIndex: https://developers.berkeleypayment.com/llms.txt
---

# Create Reverse Transaction

`Reverse` a previous `Pull` transaction.

This allows you to return funds to a `Financial Account` from which funds where previously pulled.


### Request 

| Field| Type| Description| 
|------------|-------------------|----------------|
| amount| integer, required | transaction amount, smallest unit in currency (example 100000 for $100.00 CAD )          |
| currency| string, required  | transaction currency, 3 character code|
| pull_transaction_id  | string, required  | id of the original pull transaction|
| idempotency_key      | string            | unique value to associate with the transaction request|
| external_tag | string | User defined external tag |

#### EFT only fields

These fields will only effect transactions on the EFT network.

| Field| Type| Description| 
|---------|-------------------|-----------------|
| descriptor | string, optional | descriptor that will be displayed to the owner of the financial account.  Usually an invoice or pay stub number |
| originator\_id | number, optional | Allows sending a different originator with the EFT than the default. |

### Response

|Field | Value | Description|
|----|----|----|
|status|string|The transaction status |
|id|alphanumeric|The transaction ID |
|financial_account| alphanumeric| The encrypted financial account associated with the transaction|
|currency| string| The country currency for the transaction|
|amount| number| The amount of the transaction |
| gateway_codes | array | Codes returned from the gateway.  Each code is an object that includes a `code` and `message` field. |

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "title": "DirectSend",
    "description": "DirectSend enables real-time fund transferring direct to any Visa cardholder. Funds reach the recipient's account within 30 minutes. You will receive real-time authorization of a transaction's success. /n You can use these endpoints for real-time funds disbursements, P2P transfers and Prepaid Loads.",
    "version": "1.0.0",
    "contact": {}
  },
  "servers": [
    {
      "url": "https://api.staging.pungle.co/",
      "description": "Staging/Test"
    },
    {
      "url": "https://api.pungle.io",
      "description": "Production"
    }
  ],
  "paths": {
    "/api/v1/transactions/reverse": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Create Reverse Transaction",
        "description": "`Reverse` a previous `Pull` transaction.\n\nThis allows you to return funds to a `Financial Account` from which funds where previously pulled.\n\n\n### Request \n\n| Field| Type| Description| \n|------------|-------------------|----------------|\n| amount| integer, required | transaction amount, smallest unit in currency (example 100000 for $100.00 CAD )          |\n| currency| string, required  | transaction currency, 3 character code|\n| pull_transaction_id  | string, required  | id of the original pull transaction|\n| idempotency_key      | string            | unique value to associate with the transaction request|\n| external_tag | string | User defined external tag |\n\n#### EFT only fields\n\nThese fields will only effect transactions on the EFT network.\n\n| Field| Type| Description| \n|---------|-------------------|-----------------|\n| descriptor | string, optional | descriptor that will be displayed to the owner of the financial account.  Usually an invoice or pay stub number |\n| originator\\_id | number, optional | Allows sending a different originator with the EFT than the default. |\n\n### Response\n\n|Field | Value | Description|\n|----|----|----|\n|status|string|The transaction status |\n|id|alphanumeric|The transaction ID |\n|financial_account| alphanumeric| The encrypted financial account associated with the transaction|\n|currency| string| The country currency for the transaction|\n|amount| number| The amount of the transaction |\n| gateway_codes | array | Codes returned from the gateway.  Each code is an object that includes a `code` and `message` field. |",
        "operationId": "createReverseTransaction",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number",
                    "example": 100
                  },
                  "currency": {
                    "type": "string",
                    "example": "CAD"
                  },
                  "pull_transaction_id": {
                    "type": "string",
                    "example": "3bb62f41-ba69-4368-8549-95e6d60ad5d4"
                  },
                  "idempotency_key": {
                    "type": "string",
                    "example": "d6cecbf0-6f35-11e8-adc0-fa7ae01bbebc"
                  },
                  "external_tag": {
                    "type": "string"
                  }
                },
                "required": [
                  "amount",
                  "currency",
                  "pull_transaction_id"
                ]
              },
              "example": {
                "amount": 100,
                "currency": "CAD",
                "idempotency_key": "d6cecbf0-6f35-11e8-adc0-fa7ae01bbebc",
                "pull_transaction_id": "3bb62f41-ba69-4368-8549-95e6d60ad5d4"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          }
        }
      }
    }
  },
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true,
    "samples-enabled": true
  }
}
```