VoPay Transaction Management Endpoints API
The Transaction Management Endpoints API from VoPay — 7 operation(s) for transaction management endpoints.
The Transaction Management Endpoints API from VoPay — 7 operation(s) for transaction management endpoints.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/vopay-transaction-management-endpoints-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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