openapi: 3.2.0 info: version: '2.0' title: Payment Rails ACH Endpoints API 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 servers: - url: https://earthnode-dev.vopay.com/api/v2 tags: - name: ACH Endpoints paths: /ach/fund: post: description: "This endpoint is used to fund your US 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 a ClientAccountID is provided, the client account's first/last name, address, phone number, identification number and default bank account will be used for the transaction." summary: ach/fund tags: - ACH Endpoints operationId: ACHFundPost 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 IdentificationNumber: description: For individuals, a driver's license, SSN or Passport can be provided. For companies, a federal tax ID is required. type: string EmailAddress: description: Customer's email address type: string PhoneNumber: description: Customer's phone number. Digits only - no parentheses or dashes allowed. type: string Address1: description: Customer's address line 1 type: string Address2: description: Customer's address line 2 type: string City: description: Customer's city type: string State: description: Customer's state specified using two character abbreviations (eg. CA, AZ) type: string Country: description: Customer's country specified using full country name or ISO 3166-1 alpha-2 code. type: string ZipCode: description: Customer's zip code. type: string IPAddress: description: Customer's IP address. type: string ABARoutingNumber: description: ABA routing transit number for customer's US bank account. type: integer AccountNumber: description: Customer's bank account number for funds to be debited from. type: integer Amount: description: The amount to debit from the customer's bank account. type: number Token: description: Your iQ11 Token that has been generated using Custom Iframe. See iQ11 API Endpoints. type: string PlaidProcessorToken: description: Used by clients with a Plaid account. When this is provided, the routing number and account number are not required. 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 ClientReferenceNumber: description: A reference number to use to search the transaction. Must provide either a TransactionID or ClientReferenceNumber. type: string GLCode: description: An optional unique identification general ledger code. 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 SecCode: description: The ACH Standard Entry Class (SEC) code. Defaults to PPD if not specified. type: string TransactionLabel: description: TransactionLabel overrides originator short name 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 - IdentificationNumber - EmailAddress - PhoneNumber - Address1 - City - State - Country - ZipCode - ABARoutingNumber - AccountNumber - Amount 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' required: - Success - ErrorMessage - TransactionID /ach/withdraw: post: description: "This endpoint is used to send funds to a specified customer's US Bank account. In the endpoint below, either CompanyName OR FirstName and LastName must be provided.\n\n If a ClientAccountID is provided, the client account's first/last name, address, phone number, identification number and default bank account will be used for the transaction." summary: ach/withdraw tags: - ACH Endpoints operationId: ACHWithdrawPost 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 IdentificationNumber: description: Customer's driver's licence (individuals) or federal tax ID (companies). type: string EmailAddress: description: Customer's email address type: string PhoneNumber: description: Customer's phone number. Digits only - no parentheses or dashes allowed. type: string Address1: description: Customer's address line 1 type: string Address2: description: Customer's address line 2 type: string City: description: Customer's city type: string State: description: Customer's state specified using two character abbreviations (eg. CA, AZ) type: string Country: description: Customer's country specified using full country name or ISO 3166-1 alpha-2 code. type: string ZipCode: description: Customer's zip code. type: string IPAddress: description: Customer's IP address. type: string ABARoutingNumber: description: ABA routing transit number for customer's US bank account. type: integer AccountNumber: description: Account number for the customer's US bank account type: integer Amount: description: The amount to credit to the customer's bank account. type: number Token: description: Your iQ11 Token that has been generated using Custom Iframe. See iQ11 API Endpoints. type: string PlaidProcessorToken: description: Used by clients with a Plaid account. When this is provided, the routing number and account number are not required. 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 ClientReferenceNumber: description: A reference number to use to search the transaction. Must provide either a TransactionID or ClientReferenceNumber. 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 GLCode: description: An optional unique identification general ledger code. 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 SecCode: description: The ACH Standard Entry Class (SEC) code. Defaults to PPD if not specified. type: string TransactionLabel: description: TransactionLabel overrides originator short name type: string required: - AccountID - Key - Signature - FirstName - LastName - CompanyName - IdentificationNumber - EmailAddress - PhoneNumber - Address1 - City - State - Country - ZipCode - ABARoutingNumber - AccountNumber - Amount 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' required: - Success - ErrorMessage - TransactionID /ach/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 the Token is provided, the ABARoutingNumber, and AccountNumber will not be required. \n\n If the bank information is provided (ABARoutingNumber, 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.\n\nFor additional details of the scheduled transactions, please visit https://docs.vopay.com/docs/schedule-a-payment." summary: ach/fund/schedule tags: - ACH Endpoints operationId: ACHFundSchedulePOST 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 Amount: description: The amount to schedule in the transactions type: number Frequency: description: 'The frequency of the scheduled transaction: single or recurring.' type: string NameOfFrequency: description: 'Name of frequency of the scheduled transaction (Only for recurring option), the posibles values are: weekly, biweekly, semi-monthly, monthly, bimonthly, 3 months, 6 months, yearly.' type: string ScheduleStartDate: description: Date from which the schedule will be started type: string ScheduleEndDate: description: Date when the transaction processing will end (Only for recurring option), Either provide ScheduleEndDate or EndingAfterPayments type: string EndingAfterPayments: description: Number of payments after which the transaction processing will end (Only for recurring option), Either provide ScheduleEndDate or EndingAfterPayments type: integer SemiMonthlyFrequencyType: description: 'Type of semi-monthly frequency. This field is only required when NameOfFrequency is set to semi-monthly. The possible values are: SemiMonthFirstAndFifteenth, SemiMonthFifteenthAndLast' type: integer Description: description: Description of the schedule transaction type: string Notes: description: An optional note to associate with the transaction. 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 IdentificationNumber: description: Customer's driver's licence (individuals) or federal tax ID (companies). type: string EmailAddress: description: Customer's email address type: string PhoneNumber: description: Customer's phone number. Digits only - no parentheses or dashes allowed. type: string Address1: description: Customer's address line 1 type: string Address2: description: Customer's address line 2 type: string City: description: Customer's city type: string State: description: Customer's state specified using two character abbreviations (eg. CA, AZ) type: string Country: description: Customer's country specified using full country name or ISO 3166-1 alpha-2 code. type: string ZipCode: description: Customer's zip code. type: string IPAddress: description: Customer's IP address. type: string ABARoutingNumber: description: ABA routing transit number for customer's US bank account. type: integer AccountNumber: description: Customer's bank account number for funds to be debited from. type: string Token: description: Your iQ11 Token that has been generated using Custom Iframe. See iQ11 API Endpoints. type: string IdempotencyKey: description: 'A unique key which the server can use to recognize and reject subsequent retries of the same request. ' type: string required: - AccountID - Key - Signature - Amount - Frequency - NameOfFrequency - ScheduleStartDate - ScheduleEndDate - EndingAfterPayments - Description - FirstName - LastName - CompanyName - IdentificationNumber - EmailAddress - PhoneNumber - Address1 - City - State - Country - ZipCode - ABARoutingNumber - AccountNumber 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: '' Amount: type: number description: The dollar amount of the schedule transaction example: '200.00' ScheduledTransactionID: type: integer description: ID of the schedule Transaction. example: '1122' Frequency: type: string description: The frequency of the transaction example: single Description: type: string description: Description of the schedule transaction example: '' ScheduleStartDate: type: string format: date description: 'Date from which the transaction will be started ' example: '2020-01-01' Status: type: string description: 'A message indicating the current transaction status. Statuses are: cancelled, completed or in progress' example: in progress required: - Success - ErrorMessage - Amount - ScheduledTransactionID - Frequency - Description - ScheduleStartDate - Status /ach/withdraw/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 the Token is provided, the ABARoutingNumber, and AccountNumber will not be required. \n\n If the bank information is provided (ABARoutingNumber, 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.\n\nFor additional details of the scheduled transactions, please visit https://docs.vopay.com/docs/schedule-a-payment." summary: ach/withdraw/schedule tags: - ACH Endpoints operationId: ACHWithdrawSchedulePOST 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 Amount: description: The amount to schedule in the transactions type: number Frequency: description: 'The frequency of the scheduled transaction: single or recurring.' type: string NameOfFrequency: description: 'Name of frequency of the scheduled transaction (Only for recurring option), the posibles values are: weekly, biweekly, semi-monthly, monthly, bimonthly, 3 months, 6 months, yearly.' type: string ScheduleStartDate: description: Date from which the schedule will be started type: string ScheduleEndDate: description: Date when the transaction processing will end (Only for recurring option), Either provide ScheduleEndDate or EndingAfterPayments type: string EndingAfterPayments: description: Number of payments after which the transaction processing will end (Only for recurring option), Either provide ScheduleEndDate or EndingAfterPayments type: integer SemiMonthlyFrequencyType: description: 'Type of semi-monthly frequency. This field is only required when NameOfFrequency is set to semi-monthly. The possible values are: SemiMonthFirstAndFifteenth, SemiMonthFifteenthAndLast' type: integer Description: description: Description of the schedule transaction type: string Notes: description: An optional note to associate with the transaction. 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 IdentificationNumber: description: Customer's driver's licence (individuals) or federal tax ID (companies). type: string EmailAddress: description: Customer's email address type: string PhoneNumber: description: Customer's phone number. Digits only - no parentheses or dashes allowed. type: string Address1: description: Customer's address line 1 type: string Address2: description: Customer's address line 2 type: string City: description: Customer's city type: string State: description: Customer's state specified using two character abbreviations (eg. CA, AZ) type: string Country: description: Customer's country specified using full country name or ISO 3166-1 alpha-2 code. type: string ZipCode: description: Customer's zip code. type: string IPAddress: description: Customer's IP address. type: string ABARoutingNumber: description: ABA routing transit number for customer's US bank account. type: integer AccountNumber: description: Customer's bank account number for funds to be debited from. type: string Token: description: Your iQ11 Token that has been generated using Custom Iframe. See iQ11 API Endpoints. type: string IdempotencyKey: description: A unique key which the server can use to recognize and reject subsequent retries of the same request. type: string required: - AccountID - Key - Signature - Amount - Frequency - NameOfFrequency - ScheduleStartDate - ScheduleEndDate - EndingAfterPayments - Description - FirstName - LastName - CompanyName - IdentificationNumber - EmailAddress - PhoneNumber - Address1 - City - State - Country - ZipCode - ABARoutingNumber - AccountNumber 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: '' Amount: type: number description: The dollar amount of the schedule transaction example: '200.00' ScheduledTransactionID: type: integer description: ID of the schedule Transaction. example: '1122' Frequency: type: string description: The frequency of the transaction example: single Description: type: string description: Description of the schedule transaction example: '' ScheduleStartDate: type: string format: date description: 'Date from which the transaction will be started ' example: '2020-01-01' Status: type: string description: 'A message indicating the current transaction status. Statuses are: cancelled, completed or in progress' example: in progress required: - Success - ErrorMessage - Amount - ScheduledTransactionID - Frequency - Description - ScheduleStartDate - Status /ach/void: post: description: This method is used to void a previously created ACH transaction. Note, you can only void a transaction if it has not yet settled. If the transaction has already settled, then you can use the /ach/refund endpoint to reverse the transaction. summary: ach/void tags: - ACH Endpoints operationId: ACHVoidPost deprecated: false requestBody: $ref: '#/components/requestBodies/CreditCardVoidPost' responses: '200': description: '' 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 for the void transaction example: '1124' TransactionStatus: type: string description: A message indicating the current transaction status - cancelled example: cancelled Timestamp: type: string description: The timestamp when the transaction status was last modified example: '2022-02-04 12:34:56' required: - Success - ErrorMessage - TransactionID - TransactionStatus - Timestamp /ach/fund/transaction: get: description: This endpoint is used to look up and return the full details on a single ACH fund transaction. summary: ach/fund/transaction tags: - ACH Endpoints operationId: AchFundTransactionGet 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' HoldReleaseDateTime: type: string format: date-time description: The timestamp when the transaction hold release will be released 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 AccountNumber: type: string description: Customer's bank account number that funds were debited from. example: '1100456342' ABARoutingNumber: type: string description: Routing number for the customer's account. example: '129320349' 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' GLCode: type: string description: General ledger code. example: '4300' TransactionTypeCode: type: string description: CPA transaction code. example: '999' required: - Success - ErrorMessage - TransactionID - TransactionStatus - TransactionDateTime - HoldReleaseDateTime - Amount - Currency - HoldAmount - LastModified - CompanyName* - FirstName* - LastName* - Address1 - Address2 - City - Province/State - Country - PostalCode/Zipcode - AccountNumber - ABARoutingNumber - ClientReferenceNumber - ScheduledTransactionID - GLCode - TransactionTypeCode /ach/withdraw/transaction: get: description: This endpoint is used to look up details on a single ACH withdraw transaction. Withdraw transactions debit funds from your account and deposit them into the customer's bank account. summary: ach/withdraw/transaction tags: - ACH Endpoints operationId: AchWithdrawTransactionGet 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: USD 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 PhoneNumber: type: integer description: Recipient's phone number example: 604556**** 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: Los Angeles Province/State: type: string description: Recipient's province or state specified using two character abbreviation (eg. BC, AB) example: CA Country: type: string description: Recipient's country specified using full country name. example: USA PostalCode/ZipCode: type: string description: Recipient's postal or zip code. example: '90210' AccountNumber: type: string description: Recipient's bank account number that funds were deposited to. example: '227654387' ABARoutingNumber: type: string description: Routing number for the customer's account. example: '129320349' ClientReferenceNumber: type: string description: An optional reference number which was associated with the transaction. example: '' GLCode: type: string description: General ledger code. example: '4300' TransactionTypeCode: type: string description: CPA transaction code. example: '999' required: - Success - ErrorMessage - TransactionID - TransactionStatus - TransactionDateTime - Amount - Currency - HoldAmount - LastModified - CompanyName* - FirstName* - LastName - PhoneNumber - Address1 - Address2 - City - Province/State - Country - PostalCode/ZipCode - AccountNumber - ABARoutingNumber - ClientReferenceNumber - GLCode - TransactionTypeCode /ach/scheduled-transactions: get: description: "This endpoint is used to look up the list of all scheduled transactions, or you can list the details of a single scheduled transaction. \n\n If the value ScheduledTransactionID is present, we only list the details of that scheduled transaction. \n\n * Either the response will be Company name or First name and Last name" summary: ach/scheduled-transactions tags: - ACH Endpoints operationId: AchScheduledTransactionGet 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: ScheduledTransactionID in: query required: true description: ID of the schedule Transaction (If this value is present, we list the details of the scheduled transactions) schema: type: integer format: int32 - name: ClientAccountID in: query required: false description: Client Account ID schema: type: string 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: '' NumberOfRecords: type: number description: Total number of the scheduled transaction records returned example: '1' ScheduledTransactions: type: object description: 'Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys ''0'',''1'',... Collection of scheduled Transaction info data' properties: '0': type: object properties: ID: type: integer description: Unique ID for the scheduled transaction example: '15' Type: type: string description: The payment type of scheduled transaction; i.e., funding or withdraw example: funding Amount: type: number description: The amount of the scheduled transaction example: '25.00' Frequency: type: string description: 'The frequency of the schedule: single or recurring' example: recurring Description: type: string description: Description of the scheduled transaction example: Scheduled transaction 1234 Notes: type: string description: Note that will be attached to each scheduled transaction example: Loan repayment 1234 NameOfFrequency: type: string description: 'Name of the frequency of the transaction: weekly, biweekly, monthly, bimonthly, 3 months, 6 months, yearly. Only provided if Frequency provided is recurring.' example: weekly Status: type: string description: 'A message indicating the current transaction status. Statuses are: cancelled, completed, or in progress' example: in progress StartDate: type: string format: date description: Date from which the transaction will be started example: '2020-01-01' EndDate: type: string format: date description: Date from which the transaction will end example: '2021-01-01' EndingAfterPayments: type: integer description: Number of payments after which the transaction processing will end example: '12' ScheduledDetails: type: object description: 'Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys ''0'',''1'',... Extra details of the scheduled transaction' properties: '0': type: object properties: Token: type: string description: Your iQ11 Token that has been generated using Custom Iframe. See iQ11 API Endpoints example: ACBDF-GAFSHD-AHBS-123456 AccountNumber: type: string description: Recipient's bank account number that funds were deposited to. example: '*****387' ABARoutingNumber: type: string description: ABA routing transit number for customer's US bank account. example: 1123**** 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: Recipient's address line 1 example: 112 Bentall Street City: type: string description: Recipient's city example: Vancouver ZipCode: type: string description: Recipient's zip code. example: V2W 4V6 State: type: string description: Recipient's state specified using two character abbreviations (eg. CA, AZ example: CA Country: type: string description: Recipient's country specified using full country name. example: Canada IPAddress: type: string description: Recipient's IP address. example: 127.0.0.1 PhoneNumber: type: integer description: Recipient's phone number example: 604556**** IdentificationNumber: type: string description: Customer's driver's licence (individuals) or federal tax ID (companies). example: '' ErrorMessage: type: object description: 'Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys ''0'',''1'',... Extra details of the scheduled transaction payments, this is the log of the failures' properties: '0': type: object properties: Success: type: boolean description: True if the request was successful, false if it failed example: false ErrorMessage: type: string description: Contains a description of the error if the request failed example: '' required: - Success - ErrorMessage x-list-of: inline x-empty-when: no items required: - Token - AccountNumber - ABARoutingNumber - CompanyName* - FirstName* - LastName* - Address1 - City - ZipCode - State - Country - IPAddress - PhoneNumber - IdentificationNumber - ErrorMessage x-list-of: inline x-empty-when: no items UpcomingTransactions: type: object description: 'Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys ''0'',''1'',... Upcoming transaction listing (This option only will be available if the user provides ScheduledTransactionID as a parameter)' properties: '0': type: object properties: TransactionID: type: integer description: ID of the eft transaction (Empty because it is a future payment) example: '' ScheduledDate: type: string format: date description: Date from which the payment will start example: '2020-01-01' ProcessingDate: type: string format: date description: Date where this payment was processed (Empty because it is a future payment) example: '' LastModified: type: string format: date description: Date of the last modification of this payment (Empty because it is a future payment) example: '' Status: type: string description: Status of the upcoming payment (Empty because it is a future payment) example: '' Amount: type: number description: The amount of the scheduled transaction example: '10.00' required: - TransactionID - ScheduledDate - ProcessingDate - LastModified - Status - Amount x-list-of: inline x-empty-when: no items CompletedTransactions: type: object description: 'Array serialized as a JSON object (JSON_FORCE_OBJECT): numeric string keys ''0'',''1'',... List of the completed transactions (This option only will be available if the user provides ScheduledTransactionID as a parameter)' properties: '0': type: object properties: TransactionID: type: integer description: ID of the EFT transaction example: '1' ScheduledDate: type: string format: date description: Date from which the transaction will start example: '2020-01-01' ProcessingDate: type: string format: date description: Date where this transaction was processed example: '2020-01-02' LastModified: type: string format: date description: Date of the last modification of this transaction example: '2020-01-02' Status: type: string description: Status of the transaction example: pending Amount: type: number description: The amount of the transaction example: '10.00' required: - TransactionID - ScheduledDate - ProcessingDate - LastModified - Status - Amount x-list-of: inline x-empty-when: no items required: - ID - Type - Amount - Frequency - Description - Notes - NameOfFrequency - Status - StartDate - EndDate - EndingAfterPayments - ScheduledDetails - UpcomingTransactions - CompletedTransactions x-empty-when: no scheduled transactions match x-list-of: inline required: - Success - ErrorMessage - NumberOfRecords - ScheduledTransactions /ach/failures: get: description: This endpoint is used to retrieve a list of transactions which failed during a specific date range. This endpoint is queried based on the date that a failure occurred on, not on the date when the transaction originally occurred. summary: ach/failures tags: - ACH Endpoints operationId: AchFailuresGet 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: StartDateTime in: query required: true description: Start of date range to query for any failed transactions schema: type: string format: date-time - name: EndDateTime in: query required: true description: End of date range to query for any failed transactions schema: type: string format: date-time 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: '' NumberOfRecords: type: number description: Total number of failed transaction records returned example: '1' FailedTransactions: 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: TransactionID: type: integer description: Unique ID for the Transaction example: '5918' TransactionDateTime: type: string format: date-time description: The timestamp on which the transaction occurred. example: '2019-12-04 18:13:39' TransactionType: type: string description: Specifies the type of transaction, for example 'ACH Funding', 'ACH Withdrawal'. example: ACH Funding DollarAmount: type: number description: The dollar amount of the failed transaction. example: '25.00' ErrorCode: type: string description: Detail error code of the failure. example: R01 FailureReason: type: string description: Detailed description of why the transaction failed. Transactions which have failed cannot be modified, a new fund or withdraw transaction must be created if you wish to re-attempt the transaction. example: insufficient funds ClientReferenceNumber: type: string description: The optional reference number which was set when the transaction was created. example: 'null' required: - TransactionID - TransactionDateTime - TransactionType - DollarAmount - ErrorCode - FailureReason - ClientReferenceNumber x-empty-when: no failed transactions match x-list-of: inline required: - Success - ErrorMessage - NumberOfRecords - FailedTransactions /ach/validate-nacha: post: description: This endpoint is used to trigger a NACHA validation on the provided bank account. In the endpoint below, either Token or ABARoutingNumber/AccountNumber are required. Either a CompanyName OR FirstName and LastName must be provided. summary: ach/validate-nacha tags: - ACH Endpoints operationId: AchValidateNachaPost deprecated: false requestBody: content: multipart/form-data: 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 Token: description: Your iQ11 Token that has been generated using Custom Iframe. This can be provided in lieu of a routing number and account number. type: string ABARoutingNumber: description: ABA routing number for customer's US bank account. This can be provided in lieu of a token. type: integer AccountNumber: description: Customer's bank account number for transaction code. This can be provided in lieu of a token. type: integer CompanyName: description: Company's name. This can be provided in lieu of first name and last name. type: string FirstName: description: Customer's first name. This can be provided in lieu of a company name. type: string LastName: description: Customer's last name. This can be provided in lieu of a company name. type: string PhoneNumber: description: Customer's phone number. Digits only - no parentheses or dashes allowed. type: string Address: description: Customer's civic number and street name (eg. 123 Main Street) type: string City: description: Customer's city type: string State: description: Customer's state specified using two character abbreviations (eg. CA, AZ) type: string ZipCode: type: string required: - AccountID - Key - Signature - Token - ABARoutingNumber - AccountNumber - CompanyName - FirstName - LastName - PhoneNumber - Address - City - State - ZipCode required: true responses: '200': description: Response indicating the result of the NACHA validation. 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: '' example: '' ValidationResult: type: string description: 'The result of the NACHA validation. Possible values are: verified or failed.' example: verified required: - Success - ErrorMessage - ValidationResult components: requestBodies: CreditCardVoidPost: 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 void type: integer required: - AccountID - Key - Signature - TransactionID required: true