VoPay Transaction Management Endpoints API

The Transaction Management Endpoints API from VoPay — 7 operation(s) for transaction management endpoints.

Operations 7

POST /account/transaction/resubmit account/transaction/resubmit #
POST /account/transactions/cancel account/transactions/cancel #
POST /account/transactions/refund account/transactions/refund #
POST /account/transaction/return account/transaction/return #
POST /account/transaction/confirm account/transaction/confirm #
POST /account/transaction/hold account/transaction/hold #
POST /account/transaction/hold/release account/transaction/hold/release #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vopay-transaction-management-endpoints-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vopay-transaction-management-endpoints-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '2.0'
  title: Transaction Management Endpoints API
  description: The Transaction Management API allows you to manage transactions in your account. You can cancel transactions, refund transactions, and confirm flagged transactions.
  contact:
    name: API Support
    email: help@vopay.com
servers:
- url: https://earthnode-dev.vopay.com/api/v2
tags:
- name: Transaction Management Endpoints
paths:
  /account/transaction/resubmit:
    post:
      description: 'This endpoint creates a new transaction from an existing one, reusing the original recipient and bank account details. It is useful for retrying a failed or returned transaction without re-entering the payment information.


        By default the new transaction is created on the same payment rail as the original. To resubmit on a different rail, supply the optional PaymentRail parameter (for example, resubmitting a returned EFT withdrawal as ACH). The target rail must be supported for the transaction''s direction (funding vs. withdrawal) and the bank account on file must contain the routing details that rail requires (an ABA routing number for ACH/RTP/FedNow/Fedwire, or a financial institution and branch transit number for EFT).


        A new idempotency key is generated for the resubmitted transaction, so it is treated as a distinct transaction from the original. The original transaction is left unchanged.


        This endpoint must be enabled on your account before it can be used; contact the VoPay business team to request access.'
      summary: account/transaction/resubmit
      tags:
      - Transaction Management Endpoints
      operationId: AccountTransactionResubmitPost
      deprecated: false
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                AccountID:
                  description: Your account ID
                  type: string
                Key:
                  description: API key for the account
                  type: string
                Signature:
                  description: Hashed signature for the request
                  type: string
                TransactionID:
                  description: The unique ID of the original transaction to resubmit
                  type: integer
                PaymentRail:
                  description: Optional. The payment rail to resubmit the transaction on. Defaults to the original transaction's rail. Case-insensitive.
                  type: string
                  enum:
                  - eft
                  - ach
                  - rtp
                  - fednow
                  - fedwire
              required:
              - AccountID
              - Key
              - Signature
              - TransactionID
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                required:
                - Success
                - ErrorMessage
                - TransactionID
                - PaymentRail
                properties:
                  Success:
                    type: boolean
                    description: True if the request was successful, false if it failed
                    example: true
                  ErrorMessage:
                    type: string
                    description: Contains a description of the error if the request failed
                    example: ''
                  TransactionID:
                    type: integer
                    description: The unique ID of the newly created (resubmitted) transaction
                    example: '1125'
                  PaymentRail:
                    type: string
                    description: The payment rail the new transaction was created on
                    example: ach
  /account/transactions/cancel:
    post:
      description: 'This endpoint allows a recently created transaction to be cancelled. Once a transaction has begun being processed it can no longer be canceled through this endpoint.


        Paylink can also be cancelled using this endpoint and can only be cancelled if it is in a pending status. Once the paylink is cancelled successfully, the cancellation email will be sent to the recipient as a cancellation confirmation.'
      summary: account/transactions/cancel
      tags:
      - Transaction Management Endpoints
      operationId: AccountTransactionsCancelPost
      deprecated: false
      requestBody:
        $ref: '#/components/requestBodies/AccountTransactionsCancelPost'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                required:
                - Success
                - ErrorMessage
                - TransactionID
                - TransactionStatus
                - Timestamp
                properties:
                  Success:
                    type: boolean
                    description: True if the request was successful, false if it failed
                    example: true
                  ErrorMessage:
                    type: string
                    description: Contains a description of the error if the request failed
                    example: ''
                  TransactionID:
                    type: integer
                    description: The unique ID for the transaction
                    example: '1124'
                  TransactionStatus:
                    type: string
                    description: A message indicating the current transaction status - cancelled
                    example: cancelled
                  Timestamp:
                    type: string
                    format: date-time
                    description: The timestamp when the transaction status was last modified
                    example: '2019-11-26 12:00:00'
  /account/transactions/refund:
    post:
      description: This endpoint allows you to refund a completed transaction (EFT, ACH, Interac, and credit card). The payment information provided in the original transaction is used in the refund.
      summary: account/transactions/refund
      tags:
      - Transaction Management Endpoints
      operationId: AccountTransactionsRefundPost
      deprecated: false
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                AccountID:
                  description: Your account ID
                  type: string
                Key:
                  description: API key for the account
                  type: string
                Signature:
                  description: Hashed signature for the request
                  type: string
                TransactionID:
                  description: The unique ID for the transaction you want to refund
                  type: integer
                Amount:
                  description: The amount to refund. Value must be equal to or less than the original transaction amount. If no amount is provided, the full amount from the original transaction is used.
                  type: number
                Notes:
                  description: Optional notes to attach to the refund transaction
                  type: string
              required:
              - AccountID
              - Key
              - Signature
              - TransactionID
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                required:
                - Success
                - ErrorMessage
                - TransactionID
                properties:
                  Success:
                    type: boolean
                    description: True if the request was successful, false if it failed
                    example: true
                  ErrorMessage:
                    type: string
                    description: Contains a description of the error if the request failed
                    example: ''
                  TransactionID:
                    type: integer
                    description: The unique ID for the refund transaction
                    example: '1124'
                  InteracQuestionAnswer:
                    type: string
                    description: The unique answer to the Interac question. Only applicable if refunding an Interac Money Request transaction.
                    example: 9sdai873rb
                    x-absent-when: transaction is not an Interac bulk payout
  /account/transaction/return:
    post:
      description: This endpoint allows you to return a transaction. A return can be initiated for EFT and ACH transactions that need to be returned (e.g., insufficient funds, account closed, or invalid account). The original transaction must be in a completed state to be returned.
      summary: account/transaction/return
      tags:
      - Transaction Management Endpoints
      operationId: AccountTransactionReturnPost
      deprecated: false
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                AccountID:
                  description: Your account ID
                  type: string
                Key:
                  description: API key for the account
                  type: string
                Signature:
                  description: Hashed signature for the request
                  type: string
                TransactionID:
                  description: The unique ID for the transaction to be returned
                  type: integer
                ReturnReason:
                  description: The reason for returning the transaction (e.g., insufficient funds, account closed)
                  type: string
              required:
              - AccountID
              - Key
              - Signature
              - TransactionID
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                required:
                - Success
                - ErrorMessage
                - TransactionID
                properties:
                  Success:
                    type: boolean
                    description: True if the request was successful, false if it failed
                    example: true
                  ErrorMessage:
                    type: string
                    description: Contains a description of the error if the request failed
                    example: ''
                  TransactionID:
                    type: integer
                    description: The unique ID for the return transaction
                    example: '1124'
                  TransactionStatus:
                    type: string
                    description: A message indicating the current transaction status
                    example: returned
                    x-absent-when: always; the route emits ReversalTransactionID instead of TransactionStatus (spec drift)
  /account/transaction/confirm:
    post:
      description: This endpoint allows users to confirm a flagged transaction. Confirming a flagged transaction permits the transaction to be processed. Unconfirmed flagged transactions will not be processed.
      summary: account/transaction/confirm
      tags:
      - Transaction Management Endpoints
      operationId: AccountTransactionConfirmPost
      deprecated: false
      requestBody:
        $ref: '#/components/requestBodies/AccountTransactionsCancelPost'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                required:
                - Success
                - ErrorMessage
                - TransactionID
                - TransactionConfirmed
                properties:
                  Success:
                    type: boolean
                    description: True if the request was successful, false if it failed
                    example: true
                  ErrorMessage:
                    type: string
                    description: Contains a description of the error if the request failed
                    example: ''
                  TransactionID:
                    type: integer
                    description: The unique ID for the transaction
                    example: '1124'
                  TransactionConfirmed:
                    type: boolean
                    description: Confirmed status of the transaction
                    example: true
  /account/transaction/hold:
    post:
      description: This endpoint creates a hold on funds in your account. The held amount is reserved and will not be available for other transactions until the hold is released or the hold transaction is cancelled.
      summary: account/transaction/hold
      tags:
      - Transaction Management Endpoints
      operationId: AccountTransactionHoldPost
      deprecated: false
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                AccountID:
                  description: Your account ID
                  type: string
                Key:
                  description: API key for the account
                  type: string
                Signature:
                  description: Hashed signature for the request
                  type: string
                Amount:
                  description: The amount to place on hold. Must be greater than 0
                  type: number
                Currency:
                  description: The currency of the hold amount. Defaults to the account's default currency if not provided
                  type: string
                ClientAccountID:
                  description: The ID of the client account to associate with this hold
                  type: string
                Notes:
                  description: Optional notes to attach to the hold transaction
                  type: string
                ClientReferenceNumber:
                  description: An optional reference number from the client to associate with the hold transaction
                  type: string
              required:
              - AccountID
              - Key
              - Signature
              - Amount
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                required:
                - Success
                - ErrorMessage
                - TransactionID
                properties:
                  Success:
                    type: boolean
                    description: True if the request was successful, false if it failed
                    example: true
                  ErrorMessage:
                    type: string
                    description: Contains a description of the error if the request failed
                    example: ''
                  TransactionID:
                    type: integer
                    description: The unique ID for the hold transaction
                    example: '1124'
  /account/transaction/hold/release:
    post:
      description: This endpoint releases an existing hold transaction, making the previously held funds available again. The hold must be in a pending status to be released.
      summary: account/transaction/hold/release
      tags:
      - Transaction Management Endpoints
      operationId: AccountTransactionHoldReleasePost
      deprecated: false
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                AccountID:
                  description: Your account ID
                  type: string
                Key:
                  description: API key for the account
                  type: string
                Signature:
                  description: Hashed signature for the request
                  type: string
                TransactionID:
                  description: The unique ID of the hold transaction to release
                  type: integer
              required:
              - AccountID
              - Key
              - Signature
              - TransactionID
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                required:
                - Success
                - ErrorMessage
                - TransactionID
                properties:
                  Success:
                    type: boolean
                    description: True if the request was successful, false if it failed
                    example: true
                  ErrorMessage:
                    type: string
                    description: Contains a description of the error if the request failed
                    example: ''
                  TransactionID:
                    type: integer
                    description: The unique ID for the released hold transaction
                    example: '1124'
components:
  requestBodies:
    AccountTransactionsCancelPost:
      content:
        application/x-www-form-urlencoded:
          schema:
            type: object
            properties:
              AccountID:
                description: Your account ID
                type: string
              Key:
                description: API key for the account
                type: string
              Signature:
                description: Hashed signature for the request
                type: string
              TransactionID:
                description: The unique ID for the transaction
                type: integer
            required:
            - AccountID
            - Key
            - Signature
            - TransactionID
      required: true