VoPay Payment Rails API
VoPay's Payment Rails API — 85 documented operation(s) across 85 path(s) on VoPay's API-first embedded finance platform for Canadian and cross-border money movement.
VoPay's Payment Rails API — 85 documented operation(s) across 85 path(s) on VoPay's API-first embedded finance platform for Canadian and cross-border money movement.
{"openapi":"3.0.0","info":{"version":"2.0","title":"Payment Rails","description":"The Payment Rails 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"}},"paths":{"/eft/fund":{"post":{"description":"This endpoint is used to fund your VoPay account by debiting funds from the specified customer's bank account. In the endpoint below, either CompanyName OR FirstName and LastName must be provided. \n\n If either Token, Flinks (FlinksAccountID, FlinksLoginID), Inverite (InveriteRequestGUID), or Plaid (PlaidPublicToken/PlaidAccessToken, PlaidAccountID) is provided, the FinancialInstitutionNumber, BranchTransitNumber, and AccountNumber will not be required. \n\n If the bank information is provided (FinancialInstitutionNumber, BranchTransitNumber, and AccountNumber), then the Address1, City, Country, and PostalCode and Province are required.\n\n If a ClientAccountID is provided, the client account's first/last name, address, and default bank account will be used for the transaction.","summary":"eft/fund","tags":["EFT Endpoint"],"operationId":"EftFundPost","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"},"ClientAccountID":{"description":"Client Account ID","type":"string"},"ContactID":{"description":"The ID of the contact to use for this transactions. The contacts payment method associated with this transaction type will be used.","type":"string"},"FirstName":{"description":"Customer's first name","type":"string"},"LastName":{"description":"Customer's last name","type":"string"},"CompanyName":{"description":"Company's name","type":"string"},"Address1":{"description":"Customer's address line 1","type":"string"},"City":{"description":"Customer's city","type":"string"},"Province":{"description":"Customer's province specified using two character abbreviations (eg. BC, AB)","type":"string"},"Country":{"description":"Customer's country specified using full country name or ISO 3166-1 alpha-2 code.","type":"string"},"PostalCode":{"description":"Customer's postal code.","type":"string"},"AccountNumber":{"description":"Customer's bank account number for funds to be debited from.","type":"string"},"FinancialInstitutionNumber":{"description":"Three digit institution number for a Canadian bank.","type":"string"},"BranchTransitNumber":{"description":"Transit number for the customer's account.","type":"string"},"Amount":{"description":"The amount to debit from the customer's bank account.","type":"number"},"Currency":{"description":"3 character currency code for the currency to fetch transactions for. If this is not specified the transaction will use the account's local currency. NOTE: Currently the eft/fund API endpoint only supports CAD and USD transactions.","type":"string"},"Iq11VerificationLevelID":{"description":"Iq11 verification level ID. Accepted values are: 1 (no NSF check), 2 (NSF check done at time of transaction), 3 (NSF check done prior to processing the transaction), and 4 (NSF check done at the time of transaction and prior to processing the transaction). Value is defaulted to the default value set on the account.","type":"integer"},"ClientReferenceNumber":{"description":"An optional reference number to associate with the transaction.","type":"string"},"FlinksAccountID":{"description":"Used by clients with a Flinks account","type":"string"},"FlinksLoginID":{"description":"Used by clients with a Flinks account","type":"string"},"Token":{"description":"Your iQ11 Token that has been generated using Custom Iframe. See iQ11 API Endpoints.","type":"string"},"PlaidPublicToken":{"description":"Used by clients with a Plaid account","type":"string"},"PlaidAccessToken":{"description":"Used by clients with a Plaid account","type":"string"},"PlaidAccountID":{"description":"Used by clients with a Plaid account","type":"string"},"PlaidProcessorToken":{"description":"Used by clients with a Plaid account. If you use this field PlaidPublicToken, PlaidAccessToken, and PlaidAccountID are not neccesary","type":"string"},"MxAuthorizationCode":{"description":"Used by clients with an MX account.","type":"string"},"InveriteRequestGUID":{"description":"Used by clients with an Inverite account","type":"string"},"TransactionTypeCode":{"description":"CPA transaction code. Use the /api/v2/account/transactions/codes endpoint to retrieve a list of valid transaction codes. If not specified, the transaction will be created using code 450 (miscellaneous).","type":"string"},"TransactionLabel":{"description":"TransactionLabel overrides originator short name","type":"string"},"Notes":{"description":"An optional note to associate with the transaction.","type":"string"},"IdempotencyKey":{"description":"A unique key which the server can use to recognize and reject subsequent retries of the same request.","type":"string"},"GLCode":{"description":"An optional unique identification general ledger code.","type":"string"},"WalletID":{"description":"The ID of the wallet to associate with the transaction. Requires ClientAccountID to be provided.","type":"string"}},"required":["AccountID","Key","Signature","FirstName","LastName","CompanyName","Address1","City","Province","Country","PostalCode","AccountNumber","FinancialInstitutionNumber","BranchTransitNumber","Amount","Currency"]}}},"required":true},"responses":{"200":{"description":"","headers":{},"content":{"application/json":{"schema":{"type":"object","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":"This ID should be saved as it is required in order to look up status information on the transaction.","example":"1122"},"Flagged":{"type":"string","description":"Details on why the transaction was flagged, if applicable. Flagged transactions will need to be confirmed by using the /account/transaction/confirm endpoint.","example":"The transaction has been flagged as a potential duplicate.","x-absent-when":"transaction not flagged"},"Iq11":{"type":"boolean","description":"True if the transaction was an iq11 transaction, false if it is not.","example":true}},"required":["Success","ErrorMessage","TransactionID","Iq11"]}}}}}}},"/eft/fund/status":{"get":{"description":"This endpoint is used to look up the status of a fund transaction.","summary":"eft/fund/status","tags":["EFT Endpoint"],"operationId":"EftFundStatusGet","deprecated":false,"parameters":[{"name":"AccountID","in":"query","required":true,"description":"Your account ID","schema":{"type":"string"}},{"name":"Key","in":"query","required":true,"description":"API key for the account","schema":{"type":"string"}},{"name":"Signature","in":"query","required":true,"description":"Hashed signature for the request","schema":{"type":"string"}},{"name":"TransactionID","in":"query","required":true,"description":"The unique ID of the transaction","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","headers":{},"content":{"application/json":{"schema":{"type":"object","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 transaction","example":"1122"},"TransactionStatus":{"type":"string","description":"A message indicating the current transaction status. Statuses are: pending, in progress, successful, failed, cancelled","example":"pending"},"SubTransactions":{"type":"object","description":"Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys '0','1',... Collection of sub-transactions related to the main transaction","properties":{"0":{"type":"object","properties":{"TransactionID":{"type":"integer","description":"Unique ID for the Transaction","example":"5918"},"TransactionStatus":{"type":"string","description":"A message indicating the current transaction status. Statuses are: pending, in progress, successful, failed, cancelled, waiting on required transaction","example":"waiting on required transaction"},"Timestamp":{"type":"string","format":"date-time","description":"The timestamp when the transaction status was last modified","example":"2019-11-01 12:00:00"}},"required":["TransactionID","TransactionStatus","Timestamp"]}},"x-absent-when":"transaction has no child transactions","x-list-of":"inline","x-empty-when":"no items"},"Timestamp":{"type":"string","format":"date-time","description":"The timestamp when the transaction status was last modified","example":"2019-11-01 12:00:00"}},"required":["Success","ErrorMessage","TransactionID","TransactionStatus","Timestamp"]}}}}}}},"/eft/fund/transaction":{"get":{"description":"This endpoint is used to look up and return the full details on a single fund transaction. Fund transactions take money out of the customer's bank account and deposit them into your account.","summary":"eft/fund/transaction","tags":["EFT Endpoint"],"operationId":"EftFundTransactionGet","deprecated":false,"parameters":[{"name":"AccountID","in":"query","required":true,"description":"Your account ID","schema":{"type":"string"}},{"name":"Key","in":"query","required":true,"description":"API key for the account","schema":{"type":"string"}},{"name":"Signature","in":"query","required":true,"description":"Hashed signature for the request","schema":{"type":"string"}},{"name":"TransactionID","in":"query","required":true,"description":"The unique ID of the fund transaction","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","headers":{},"content":{"application/json":{"schema":{"type":"object","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 transaction","example":"1122"},"TransactionStatus":{"type":"string","description":"A message indicating the current transaction status. Statuses are: pending, in progress, successful, failed, cancelled","example":"pending"},"TransactionDateTime":{"type":"string","format":"date-time","description":"The timestamp when the transaction was created","example":"2019-11-01 12:00:00"},"Amount":{"type":"number","description":"The dollar amount of the fund transaction. This is the amount that was withdrawn from the customer's bank account.","example":"1200"},"Currency":{"type":"string","description":"The currency for the transaction.","example":"CAD"},"HoldAmount":{"type":"number","description":"Indicates if any of the funds that were credited to your account are still being held.","example":"1200"},"LastModified":{"type":"string","format":"date-time","description":"This timestamp indicates when the transaction record was last modified. In normal circumstances the transaction record will only be modified when the status of the transaction changes or the HoldAmount is changed.","example":"2019-11-02 01:00:21"},"CompanyName*":{"type":"string","description":"Company's name","example":"VoPay"},"FirstName*":{"type":"string","description":"Customer's first name","example":"John"},"LastName*":{"type":"string","description":"Customer's last name","example":"Doe"},"Address1":{"type":"string","description":"Customer's address line 1","example":"112 Bentall Street"},"Address2":{"type":"string","description":"Customer's address line 2","example":""},"City":{"type":"string","description":"Customer's city","example":"Vancouver"},"Province/State":{"type":"string","description":"Customer's province specified using two character abbreviation (eg. BC, AB)","example":"BC"},"Country":{"type":"string","description":"Customer's Country specified using full country name or ISO 3166-1 alpha-2 code","example":"Canada"},"PostalCode/Zipcode":{"type":"string","description":"Customer's postal code.","example":"V4W 5Z7"},"FinancialInstitutionNumber":{"type":"string","description":"Three digit institution number for a Canadian bank.","example":"112"},"BranchTransitNumber":{"type":"string","description":"Transit number for the customer's account.","example":"11456"},"AccountNumber":{"type":"string","description":"Customer's bank account number that funds were debited from.","example":"1100456342"},"ClientReferenceNumber":{"type":"string","description":"An optional reference number which was associated with the transaction.","example":"876432"},"ScheduledTransactionID":{"type":"integer","description":"Id of the scheduled transaction. This field only will be displayed if the scheduled transaction exists.","example":"1"},"TransactionTypeCode":{"type":"string","description":"CPA transaction code.","example":"999"},"SubTransactions":{"type":"object","description":"Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys '0','1',... Collection of sub-transactions related to the main transaction","properties":{"0":{"type":"object","properties":{"TransactionID":{"type":"integer","description":"The unique ID of the transaction","example":"9826"},"TransactionStatus":{"type":"string","description":"A message indicating the current transaction status. Statuses are: pending, in progress, successful, failed, cancelled, waiting on required transaction","example":"waiting on required transaction"},"TransactionDateTime":{"type":"string","format":"date-time","description":"The timestamp when the transaction was created","example":"2019-11-01 12:00:00"},"Amount":{"type":"number","description":"The dollar amount of the fund transaction. This is the amount that was withdrawn from the customer's bank account.","example":"100"},"Currency":{"type":"string","description":"The currency for the transaction.","example":"CAD"},"HoldAmount":{"type":"number","description":"Indicates if any of the funds that were credited to your account are still being held.","example":"100"},"LastModified":{"type":"string","format":"date-time","description":"This timestamp indicates when the transaction record was last modified. In normal circumstances the transaction record will only be modified when the status of the transaction changes or the HoldAmount is changed.","example":"2019-11-02 01:00:21"},"CompanyName*":{"type":"string","description":"Company's name","example":"VoPay"},"FirstName*":{"type":"string","description":"Customer's first name","example":"John"},"LastName*":{"type":"string","description":"Customer's last name","example":"Doe"},"Address1":{"type":"string","description":"Customer's address line 1","example":"112 Bentall Street"},"Address2":{"type":"string","description":"Customer's address line 2","example":""},"City":{"type":"string","description":"Customer's city","example":"Vancouver"},"Province":{"type":"string","description":"Customer's province specified using two character abbreviation (eg. BC, AB)","example":"BC"},"Country":{"type":"string","description":"Customer's Country specified using full country name or ISO 3166-1 alpha-2 code","example":"Canada"},"PostalCode":{"type":"string","description":"Customer's postal code.","example":"V4W 5Z7"},"FinancialInstitutionNumber":{"type":"string","description":"Three digit institution number for a Canadian bank.","example":"112"},"BranchTransitNumber":{"type":"string","description":"Transit number for the customer's account.","example":"11456"},"AccountNumber":{"type":"string","description":"Customer's bank account number that funds were debited from.","example":"1100456342"},"ClientReferenceNumber":{"type":"string","description":"An optional reference number which was associated with the transaction.","example":"876432"}},"required":["TransactionID","TransactionStatus","TransactionDateTime","Amount","Currency","HoldAmount","LastModified","CompanyName*","FirstName*","LastName*","Address1","Address2","City","Province","Country","PostalCode","FinancialInstitutionNumber","BranchTransitNumber","AccountNumber","ClientReferenceNumber"]}},"x-absent-when":"transaction has no child transactions","x-list-of":"inline","x-empty-when":"no items"},"HoldReleaseDateTime":{"type":"string","format":"date-time","description":"This timestamp indicates when the 'HoldAmount' funds will be released in EST.","example":"2019-11-02 23:59:59"},"PayLinkDetails":{"type":"object","description":"Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys '0','1',... Collection of TransactionInfo data","properties":{"0":{"type":"object","properties":{"FirstName":{"type":"string","description":"Customer's first name","example":"John"},"LastName":{"type":"string","description":"Customer's last name","example":"Doe"},"EmailAddress":{"type":"string","description":"Recipient's email address.","example":"john.doe@vopay.com"},"InvoiceNumber":{"type":"string","description":"Invoice number","example":"ABC1234"},"Note":{"type":"string","description":"If applicable, notes giving context to the transaction.","example":"Paylink requested to the client 123"},"SenderName":{"type":"string","description":"Sender's full name.","example":"John Doe"},"PayLinkStatus":{"type":"string","description":"Status of the Paylink request","example":"pending"},"FailureReason":{"type":"string","description":"Detailed description of why the paylink request failed.","example":""},"PayLinkCreated":{"type":"string","format":"date","description":"","example":"2019-11-03 01:00:00"}},"required":["FirstName","LastName","EmailAddress","InvoiceNumber","Note","SenderName","PayLinkStatus","FailureReason","PayLinkCreated"]}},"x-empty-when":"no pay-link details","x-list-of":"inline"},"GLCode":{"type":"string","description":"General ledger code.","example":"4300"}},"required":["Success","ErrorMessage","TransactionID","TransactionStatus","TransactionDateTime","Amount","Currency","HoldAmount","LastModified","CompanyName*","FirstName*","LastName*","Address1","Address2","City","Province/State","Country","PostalCode/Zipcode","FinancialInstitutionNumber","BranchTransitNumber","AccountNumber","ClientReferenceNumber","ScheduledTransactionID","TransactionTypeCode","HoldReleaseDateTime","PayLinkDetails","GLCode"]}}}}}}},"/eft/withdraw":{"post":{"description":"This endpoint is used to take funds out of your VoPay account, and deposit them to the specified recipient's bank account. In the below endpoint, either CompanyName OR FirstName and LastName must be provided. \n\n If either Token, Flinks (FlinksAccountID, FlinksLoginID), Inverite (InveriteRequestGUID), or Plaid (PlaidPublicToken/PlaidAccessToken, PlaidAccountID) is provided, then the FinancialInstitutionNumber, BranchTransitNumber, and AccountNumber will not be required. \n\n If the bank information is provided (FinancialInstitutionNumber, BranchTransitNumber, and AccountNumber), then the Address1, City, Province, Country, and PostalCode are required.\n\n If a ClientAccountID is provided, the client account's first/last name, address, and default bank account will be used for the transaction.","summary":"eft/withdraw","tags":["EFT Endpoint"],"operationId":"EftWithdrawPost","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"},"ClientAccountID":{"description":"Client Account ID","type":"string"},"ContactID":{"description":"The ID of the contact to use for this transactions. The contacts payment method associated with this transaction type will be used.","type":"string"},"FirstName":{"description":"Recipient's first name","type":"string"},"LastName":{"description":"Recipient's last name","type":"string"},"CompanyName":{"description":"Company's name","type":"string"},"Address1":{"description":"Recipient's address line 1","type":"string"},"City":{"description":"Recipient's city","type":"string"},"Province":{"description":"Recipient's province specified using two character abbreviation (eg. BC, AB)","type":"string"},"Country":{"description":"Recipient's country specified using full country name or ISO 3166-1 alpha-2 code.","type":"string"},"PostalCode":{"description":"Recipient's postal code.","type":"string"},"AccountNumber":{"description":"Recipient's bank account number. This is the account that funds will be deposited into.","type":"string"},"FinancialInstitutionNumber":{"description":"Canadian banks. Three digit institution number.","type":"string"},"BranchTransitNumber":{"description":"Canadian banks. Transit number for the Recipient's account.","type":"string"},"Amount":{"description":"The amount in the specified currency to deposit into the recipient's bank account.","type":"number"},"Currency":{"description":"3 character currency code for the currency to fetch transactions for. If this is not specified the transaction will use the account's local currency. NOTE: Currently the eft/withdraw API endpoint only supports CAD and USD transactions","type":"string"},"ClientReferenceNumber":{"description":"An optional reference number to associate with the transaction.","type":"string"},"FlinksAccountID":{"description":"Used by clients with a Flinks account","type":"string"},"FlinksLoginID":{"description":"Used by clients with a Flinks account","type":"string"},"Token":{"description":"Your iQ11 Token that has been generated using Custom Iframe. See iQ11 API Endpoints.","type":"string"},"PlaidPublicToken":{"description":"Used by clients with a Plaid account","type":"string"},"PlaidAccessToken":{"description":"Used by clients with a Plaid account","type":"string"},"PlaidAccountID":{"description":"Used by clients with a Plaid account","type":"string"},"PlaidProcessorToken":{"description":"Used by clients with a Plaid account. If you use this field PlaidPublicToken, PlaidAccessToken, and PlaidAccountID are not neccesary","type":"string"},"MxAuthorizationCode":{"description":"Used by clients with an MX account.","type":"string"},"InveriteRequestGUID":{"description":"Used by clients with an Inverite account","type":"string"},"ParentTransactionID":{"description":"The parent transaction where the withdrawal will be linked to, can become a split payment with multiple withdrawals. When funds of the parent transaction have been released the system will generate the distributions of these funds automatically.","type":"string"},"TransactionTypeCode":{"description":"CPA transaction code. Use the /api/v2/account/transactions/codes endpoint to retrieve a list of valid transaction codes. If not specified, the transaction will be created using code 450 (miscellaneous).","type":"string"},"TransactionLabel":{"description":"TransactionLabel overrides originator short name","type":"string"},"Notes":{"description":"An optional note to associate with the transaction.","type":"string"},"IdempotencyKey":{"description":"A unique key which the server can use to recognize and reject subsequent retries of the same request.","type":"string"},"GLCode":{"description":"An optional unique identification general ledger code.","type":"string"}},"required":["AccountID","Key","Signature","FirstName","LastName","CompanyName","Address1","City","Province","Country","PostalCode","AccountNumber","FinancialInstitutionNumber","BranchTransitNumber","Amount","Currency"]}}},"required":true},"responses":{"200":{"description":"","headers":{},"content":{"application/json":{"schema":{"type":"object","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 transaction that was just performed. This ID should be saved as it is required in order to look up status information on the transaction.","example":"1122"},"Flagged":{"type":"string","description":"Details on why the transaction was flagged, if applicable. Flagged transactions will need to be confirmed by using the /account/transaction/confirm endpoint.","example":"The transaction has been flagged as a potential duplicate.","x-absent-when":"transaction not flagged"}},"required":["Success","ErrorMessage","TransactionID"]}}}}}}},"/eft/withdraw/transaction":{"get":{"description":"This endpoint is used to look up details on a single withdraw transaction. Withdraw transactions debit funds from your account and deposit them into the customer's account.","summary":"eft/withdraw/transaction","tags":["EFT Endpoint"],"operationId":"EftWithdrawTransactionGet","deprecated":false,"parameters":[{"name":"AccountID","in":"query","required":true,"description":"Your account ID","schema":{"type":"string"}},{"name":"Key","in":"query","required":true,"description":"API key for the account","schema":{"type":"string"}},{"name":"Signature","in":"query","required":true,"description":"Hashed signature for the request","schema":{"type":"string"}},{"name":"TransactionID","in":"query","required":true,"description":"Unique ID of the withdraw transaction","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","headers":{},"content":{"application/json":{"schema":{"type":"object","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 transaction","example":"1122"},"TransactionStatus":{"type":"string","description":"A message indicating the current transaction status. Statuses are: pending, in progress, successful, failed, cancelled","example":"pending"},"TransactionDateTime":{"type":"string","format":"date-time","description":"The timestamp when the transaction was created","example":"2019-11-01 12:00:00"},"Amount":{"type":"number","description":"The dollar amount of the withdraw transaction. This is the amount to be deposited into the recipient's bank account.","example":"2000"},"Currency":{"type":"string","description":"The currency for the transaction.","example":"CAD"},"HoldAmount":{"type":"number","description":"Will always be 0 for withdraw transactions, however parameter is included to keep return data format consistent with the format used for fund transactions.","example":"2000"},"LastModified":{"type":"string","format":"date-time","description":"This timestamp indicates when the transaction record was last modified. In normal circumstances withdraw transaction record will not be modified.","example":"2019-11-03 01:00:00"},"CompanyName*":{"type":"string","description":"Company's name","example":"VoPay"},"FirstName*":{"type":"string","description":"Recipient's first name","example":"John"},"LastName":{"type":"string","description":"Recipient's last name","example":"Doe"},"Address1":{"type":"string","description":"Recipient's address line 1","example":"112 Bentall Street"},"Address2":{"type":"string","description":"Recipient's address line 2","example":""},"City":{"type":"string","description":"Recipient's city","example":"Vancouver"},"Province":{"type":"string","description":"Recipient's province specified using two character abbreviation (eg. BC, AB)","example":"BC"},"Country":{"type":"string","description":"Recipient's country specified using full country name.","example":"Canada"},"PostalCode":{"type":"string","description":"Recipient's postal code.","example":"V2W 4V6"},"FinancialInstitutionNumber":{"type":"string","description":"Three digit institution number for a Canadian bank.","example":"112"},"BranchTransitNumber":{"type":"string","description":"Transit number for the customer's account.","example":"11809"},"AccountNumber":{"type":"string","description":"Recipient's bank account number that funds were deposited to.","example":"227654387"},"ClientReferenceNumber":{"type":"string","description":"An optional reference number which was associated with the transaction.","example":""},"TransactionTypeCode":{"type":"string","description":"CPA transaction code.","example":"999"},"PayLinkDetails":{"type":"object","description":"Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys '0','1',... Collection of TransactionInfo data","properties":{"0":{"type":"object","properties":{"FirstName":{"type":"string","description":"Customer's first name","example":"John"},"LastName":{"type":"string","description":"Customer's last name","example":"Doe"},"EmailAddress":{"type":"string","description":"Recipient's email address.","example":"john.doe@vopay.com"},"InvoiceNumber":{"type":"string","description":"Invoice number","example":"ABC1234"},"Note":{"type":"string","description":"If applicable, notes giving context to the transaction.","example":"Paylink requested to the client 123"},"SenderName":{"type":"string","description":"Sender's full name.","example":"John Doe"},"PayLinkStatus":{"type":"string","description":"Status of the Paylink request","example":"pending"},"FailureReason":{"type":"string","description":"Detailed description of why the paylink request failed.","example":""},"PayLinkCreated":{"type":"string","format":"date","description":"","example":"2019-11-03 01:00:00"}},"required":["FirstName","LastName","EmailAddress","InvoiceNumber","Note","SenderName","PayLinkStatus","FailureReason","PayLinkCreated"]}},"x-empty-when":"no pay-link details","x-list-of":"inline"},"GLCode":{"type":"string","description":"General ledger code.","example":"4300"}},"required":["Success","ErrorMessage","TransactionID","TransactionStatus","TransactionDateTime","Amount","Currency","HoldAmount","LastModified","CompanyName*","FirstName*","LastName","Address1","Address2","City","Province","Country","PostalCode","FinancialInstitutionNumber","BranchTransitNumber","AccountNumber","ClientReferenceNumber","TransactionTypeCode","PayLinkDetails","GLCode"]}}}}}}},"/eft/withdraw/status":{"get":{"description":"This endpoint is used to look up the status of a withdraw transaction.","summary":"eft/withdraw/status","tags":["EFT Endpoint"],"operationId":"EftWithdrawStatusGet","deprecated":false,"parameters":[{"name":"AccountID","in":"query","required":true,"description":"Your account ID","schema":{"type":"string"}},{"name":"Key","in":"query","required":true,"description":"API key for the account","schema":{"type":"string"}},{"name":"Signature","in":"query","required":true,"description":"Hashed signature for the request","schema":{"type":"string"}},{"name":"TransactionID","in":"query","required":true,"description":"The unique ID of the withdraw transaction","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","headers":{},"content":{"application/json":{"schema":{"type":"object","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 transaction","example":"1122"},"TransactionStatus":{"type":"string","description":"A message indicating the current transaction status. Statuses are: pending, in progress, successful, failed, cancelled","example":"pending"},"Timestamp":{"type":"string","format":"date-time","description":"The timestamp when the transaction status was last modified","example":"2019-11-02 12:00:00"}},"required":["Success","ErrorMessage","TransactionID","TransactionStatus","Timestamp"]}}}}}}},"/eft/fund/schedule":{"post":{"description":"This endpoint is used to create a scheduled transaction ahead of time that can be a single or recurring payment. \n\nEither CompanyName OR FirstName and LastName must be provided. \n\n If either Token, Flinks (FlinksAccountID, FlinksLoginID), Inverite (InveriteRequestGUID), or Plaid (PlaidPublicToken/PlaidAccessToken, PlaidAccountID) is provided, the FinancialInstitutionNumber, BranchTransitNumber, and AccountNumber will no
# --- truncated at 32 KB (268 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vopay/refs/heads/main/openapi/vopay-payment-rails-api-reference.json