npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@datafire/velopayments

v3.0.0

Published

DataFire integration for Velo Payments APIs

Downloads

1

Readme

@datafire/velopayments

Client library for Velo Payments APIs

Installation and Usage

npm install --save @datafire/velopayments
let velopayments = require('@datafire/velopayments').create({
  access_token: "",
  refresh_token: "",
  client_id: "",
  client_secret: "",
  redirect_uri: "",
  username: "",
  password: ""
});

.then(data => {
  console.log(data);
});

Description

Terms and Definitions

Throughout this document and the Velo platform the following terms are used:

  • Payor. An entity (typically a corporation) which wishes to pay funds to one or more payees via a payout.
  • Payee. The recipient of funds paid out by a payor.
  • Payment. A single transfer of funds from a payor to a payee.
  • Payout. A batch of Payments, typically used by a payor to logically group payments (e.g. by business day). Technically there need be no relationship between the payments in a payout - a single payout can contain payments to multiple payees and/or multiple payments to a single payee.
  • Sandbox. An integration environment provided by Velo Payments which offers a similar API experience to the production environment, but all funding and payment events are simulated, along with many other services such as OFAC sanctions list checking.

Overview

The Velo Payments API allows a payor to perform a number of operations. The following is a list of the main capabilities in a natural order of execution:

  • Authenticate with the Velo platform
  • Maintain a collection of payees
  • Query the payor’s current balance of funds within the platform and perform additional funding
  • Issue payments to payees
  • Query the platform for a history of those payments

This document describes the main concepts and APIs required to get up and running with the Velo Payments platform. It is not an exhaustive API reference. For that, please see the separate Velo Payments API Reference.

API Considerations

The Velo Payments API is REST based and uses the JSON format for requests and responses.

Most calls are secured using OAuth 2 security and require a valid authentication access token for successful operation. See the Authentication section for details.

Where a dynamic value is required in the examples below, the {token} format is used, suggesting that the caller needs to supply the appropriate value of the token in question (without including the { or } characters).

Where curl examples are given, the –d @filename.json approach is used, indicating that the request body should be placed into a file named filename.json in the current directory. Each of the curl examples in this document should be considered a single line on the command-line, regardless of how they appear in print.

Authenticating with the Velo Platform

Once Velo backoffice staff have added your organization as a payor within the Velo platform sandbox, they will create you a payor Id, an API key and an API secret and share these with you in a secure manner.

You will need to use these values to authenticate with the Velo platform in order to gain access to the APIs. The steps to take are explained in the following:

create a string comprising the API key (e.g. 44a9537d-d55d-4b47-8082-14061c2bcdd8) and API secret (e.g. c396b26b-137a-44fd-87f5-34631f8fd529) with a colon between them. E.g. 44a9537d-d55d-4b47-8082-14061c2bcdd8:c396b26b-137a-44fd-87f5-34631f8fd529

base64 encode this string. E.g.: NDRhOTUzN2QtZDU1ZC00YjQ3LTgwODItMTQwNjFjMmJjZGQ4OmMzOTZiMjZiLTEzN2EtNDRmZC04N2Y1LTM0NjMxZjhmZDUyOQ==

create an HTTP Authorization header with the value set to e.g. Basic NDRhOTUzN2QtZDU1ZC00YjQ3LTgwODItMTQwNjFjMmJjZGQ4OmMzOTZiMjZiLTEzN2EtNDRmZC04N2Y1LTM0NjMxZjhmZDUyOQ==

perform the Velo authentication REST call using the HTTP header created above e.g. via curl:

  curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Basic NDRhOTUzN2QtZDU1ZC00YjQ3LTgwODItMTQwNjFjMmJjZGQ4OmMzOTZiMjZiLTEzN2EtNDRmZC04N2Y1LTM0NjMxZjhmZDUyOQ==" \
  'https://api.sandbox.velopayments.com/v1/authenticate?grant_type=client_credentials'

If successful, this call will result in a 200 HTTP status code and a response body such as:

  {
    "access_token":"19f6bafd-93fd-4747-b229-00507bbc991f",
    "token_type":"bearer",
    "expires_in":1799,
    "scope":"..."
  }

API access following authentication

Following successful authentication, the value of the access_token field in the response (indicated in green above) should then be presented with all subsequent API calls to allow the Velo platform to validate that the caller is authenticated.

This is achieved by setting the HTTP Authorization header with the value set to e.g. Bearer 19f6bafd-93fd-4747-b229-00507bbc991f such as the curl example below:

  -H "Authorization: Bearer 19f6bafd-93fd-4747-b229-00507bbc991f "

If you make other Velo API calls which require authorization but the Authorization header is missing or invalid then you will get a 401 HTTP status response.

Actions

oauthCallback

Exchange the code passed to your redirect URI for an access_token

velopayments.oauthCallback({
  "code": ""
}, context)

Input

  • input object
    • code required string

Output

  • output object
    • access_token string
    • refresh_token string
    • token_type string
    • scope string
    • expiration string

oauthRefresh

Exchange a refresh_token for an access_token

velopayments.oauthRefresh(null, context)

Input

This action has no parameters

Output

  • output object
    • access_token string
    • refresh_token string
    • token_type string
    • scope string
    • expiration string

veloAuth

Use this endpoint to obtain an access token for calling Velo Payments APIs. Use HTTP Basic Auth. String value of Basic and a Base64 endcoded string comprising the API key (e.g. 44a9537d-d55d-4b47-8082-14061c2bcdd8) and API secret (e.g. c396b26b-137a-44fd-87f5-34631f8fd529) with a colon between them. E.g. Basic 44a9537d-d55d-4b47-8082-14061c2bcdd8:c396b26b-137a-44fd-87f5-34631f8fd529

velopayments.veloAuth({}, context)

Input

  • input object
    • grant_type string: OAuth grant type. Should use 'client_credentials'

Output

listFundingAuditDeltas

Get funding audit deltas for a payor

velopayments.listFundingAuditDeltas({
  "payorId": "",
  "updatedSince": ""
}, context)

Input

  • input object
    • payorId required string
    • updatedSince required string
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page

Output

listPayeeChanges

velopayments.listPayeeChanges({
  "payorId": "",
  "updatedSince": ""
}, context)

Input

  • input object
    • payorId required string: The Payor ID to find associated Payees
    • updatedSince required string: The updatedSince filter in the format YYYY-MM-DDThh:mm:ss+hh:mm
    • page integer: Page number. Default is 1.
    • pageSize integer: Page size. Default is 100. Max allowable is 1000.

Output

listPaymentChanges

Get a paginated response listing payment changes.

velopayments.listPaymentChanges({
  "payorId": "",
  "updatedSince": ""
}, context)

Input

  • input object
    • payorId required string: The Payor ID to find associated Payments
    • updatedSince required string: The updatedSince filter in the format YYYY-MM-DDThh:mm:ss+hh:mm
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page

Output

getFundingAccounts

Get the funding accounts.

velopayments.getFundingAccounts({}, context)

Input

  • input object
    • payorId string
    • sourceAccountId string
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page
    • sort string: List of sort fields (e.g. ?sort=accountName:asc,name:asc) Default is accountName:asc The supported sort fields are - accountName, name and currency.
    • sensitive boolean

Output

getFundingAccount

Get Funding Account by ID

velopayments.getFundingAccount({
  "fundingAccountId": ""
}, context)

Input

  • input object
    • fundingAccountId required string
    • sensitive boolean

Output

logout

velopayments.logout(null, context)

Input

This action has no parameters

Output

Output schema unknown

resetPassword

velopayments.resetPassword({
  "body": {
    "email": ""
  }
}, context)

Input

Output

Output schema unknown

listPayeesV1

velopayments.listPayeesV1({
  "payorId": ""
}, context)

Input

  • input object
    • payorId required string: The account owner Payor ID
    • ofacStatus string (values: PENDING, PASSED, FAILED): The ofacStatus of the payees.
    • onboardedStatus string (values: CREATED, INVITED, REGISTERED, ONBOARDED): The onboarded status of the payees.
    • email string: Email address
    • displayName string: The display name of the payees.
    • remoteId string: The remote id of the payees.
    • payeeType string (values: Individual, Company): The onboarded status of the payees.
    • payeeCountry string: The country of the payee - 2 letter ISO 3166-1 country code (upper case)
    • page integer: Page number. Default is 1.
    • pageSize integer: Page size. Default is 25. Max allowable is 100.
    • sort string: List of sort fields (e.g. ?sort=onboardedStatus:asc,name:asc) Default is name:asc 'name' is treated as company name for companies - last name + ',' + firstName for individuals The supported sort fields are - payeeId, displayName, payoutStatus, onboardedStatus.

Output

getPayeesInvitationStatusV1

velopayments.getPayeesInvitationStatusV1({
  "payorId": ""
}, context)

Input

  • input object
    • payorId required string: The account owner Payor ID

Output

deletePayeeByIdV1

velopayments.deletePayeeByIdV1({
  "payeeId": ""
}, context)

Input

  • input object
    • payeeId required string: The UUID of the payee.

Output

Output schema unknown

getPayeeByIdV1

velopayments.getPayeeByIdV1({
  "payeeId": ""
}, context)

Input

  • input object
    • payeeId required string: The UUID of the payee.
    • sensitive boolean: Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked.

Output

resendPayeeInviteV1

velopayments.resendPayeeInviteV1({
  "payeeId": "",
  "body": {
    "payorId": ""
  }
}, context)

Input

  • input object

Output

Output schema unknown

v1.payees.payeeId.remoteIdUpdate.post

velopayments.v1.payees.payeeId.remoteIdUpdate.post({
  "payeeId": "",
  "body": {
    "payorId": "",
    "remoteId": ""
  }
}, context)

Input

Output

Output schema unknown

listPaymentChannelRulesV1

List the country specific payment channel rules.

velopayments.listPaymentChannelRulesV1(null, context)

Input

This action has no parameters

Output

getFundingsV1

velopayments.getFundingsV1({
  "payorId": ""
}, context)

Input

  • input object
    • payorId required string: The account owner Payor ID
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page
    • sort string: List of sort fields. Example: ?sort=destinationCurrency:asc,destinationAmount:asc

Output

getPayoutStatsV1

velopayments.getPayoutStatsV1({}, context)

Input

  • input object
    • payorId string: The account owner Payor ID. Required for external users.

Output

withdrawPayment

velopayments.withdrawPayment({
  "paymentId": "",
  "body": {
    "reason": ""
  }
}, context)

Input

Output

Output schema unknown

payorLinks

This endpoint allows you to list payor links

velopayments.payorLinks({}, context)

Input

  • input object
    • descendantsOfPayor string: The Payor ID from which to start the query to show all descendants
    • parentOfPayor string: Look for the parent payor details for this payor id
    • fields string: List of additional Payor fields to include in the response for each Payor.

Output

createPayorLinks

This endpoint allows you to create a payor link.

velopayments.createPayorLinks({
  "body": {
    "fromPayorId": "",
    "linkType": "",
    "toPayorId": ""
  }
}, context)

Input

Output

Output schema unknown

getPayorById

Get a Single Payor by Id.

velopayments.getPayorById({
  "payorId": ""
}, context)

Input

  • input object
    • payorId required string: The Payor Id

Output

payorCreateApplicationRequest

Create an application for the given Payor ID. Applications are programatic users which can be assigned unique keys.

velopayments.payorCreateApplicationRequest({
  "payorId": "",
  "body": {
    "name": ""
  }
}, context)

Input

Output

Output schema unknown

payorCreateApiKeyRequest

Create an an API key for the given payor Id and application Id

velopayments.payorCreateApiKeyRequest({
  "payorId": "",
  "applicationId": "",
  "body": {
    "name": "",
    "roles": []
  }
}, context)

Input

  • input object
    • payorId required string: The Payor Id
    • applicationId required string: Application ID
    • body required PayorCreateApiKeyRequest

Output

payorGetBranding

Get the payor branding details.

velopayments.payorGetBranding({
  "payorId": ""
}, context)

Input

  • input object
    • payorId required string: The Payor Id

Output

payorAddPayorLogo

Add Payor Logo. Logo file is used in your branding, and emails sent to payees.

velopayments.payorAddPayorLogo({
  "payorId": ""
}, context)

Input

  • input object
    • payorId required string: The Payor Id
    • logo string

Output

Output schema unknown

payorEmailOptOut

Update the emailRemindersOptOut field for a Payor. This API can be used to opt out or opt into Payor Reminder emails. These emails are typically around payee events such as payees registering and onboarding.

velopayments.payorEmailOptOut({
  "payorId": "",
  "body": {
    "reminderEmailsOptOut": true
  }
}, context)

Input

Output

Output schema unknown

getSourceAccounts

List source accounts.

velopayments.getSourceAccounts({}, context)

Input

  • input object
    • physicalAccountName string: Physical Account Name
    • payorId string: The account owner Payor ID
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page
    • sort string: List of sort fields e.g. ?sort=name:asc

Output

getSourceAccount

Get details about given source account.

velopayments.getSourceAccount({
  "sourceAccountId": ""
}, context)

Input

  • input object
    • sourceAccountId required string: Source account id

Output

createAchFundingRequest

Instruct a funding request to transfer funds from the payor’s funding bank to the payor’s balance held within Velo.

velopayments.createAchFundingRequest({
  "sourceAccountId": "",
  "body": {
    "amount": 0
  }
}, context)

Input

  • input object
    • sourceAccountId required string: Source account id
    • body required FundingRequestV1

Output

Output schema unknown

setNotificationsRequest

Set notifications for a given source account

velopayments.setNotificationsRequest({
  "sourceAccountId": "",
  "body": {
    "minimumBalance": 0
  }
}, context)

Input

Output

Output schema unknown

listSupportedCountriesV1

velopayments.listSupportedCountriesV1(null, context)

Input

This action has no parameters

Output

validateAccessToken

velopayments.validateAccessToken({
  "body": {
    "otp": ""
  }
}, context)

Input

Output

listWebhooksV1

List the details about the webhooks for the given payor.

velopayments.listWebhooksV1({
  "payorId": ""
}, context)

Input

  • input object
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page
    • payorId required string: The Payor ID

Output

createWebhookV1

Create Webhook

velopayments.createWebhookV1({}, context)

Input

Output

Output schema unknown

getWebhookV1

Get details about the given webhook.

velopayments.getWebhookV1({
  "webhookId": ""
}, context)

Input

  • input object
    • webhookId required string: Webhook id

Output

updateWebhookV1

Update Webhook

velopayments.updateWebhookV1({
  "webhookId": ""
}, context)

Input

Output

Output schema unknown

listSupportedCurrenciesV2

List the supported currencies.

velopayments.listSupportedCurrenciesV2(null, context)

Input

This action has no parameters

Output

getFundingAccountsV2

Get the funding accounts.

velopayments.getFundingAccountsV2({}, context)

Input

  • input object
    • payorId string
    • name string: The descriptive funding account name
    • country string: The 2 letter ISO 3166-1 country code (upper case)
    • currency string: The ISO 4217 currency code
    • type string (values: FBO, WUBS_DECOUPLED): The type of funding account.
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page
    • sort string: List of sort fields (e.g. ?sort=accountName:asc,name:asc) Default is accountName:asc The supported sort fields are - accountName, name.
    • sensitive boolean

Output

createFundingAccountV2

Create Funding Account

velopayments.createFundingAccountV2({}, context)

Input

Output

Output schema unknown

getFundingAccountV2

Get Funding Account by ID

velopayments.getFundingAccountV2({
  "fundingAccountId": ""
}, context)

Input

  • input object
    • fundingAccountId required string
    • sensitive boolean

Output

v2CreatePayee

Initiate the process of creating 1 to 2000 payees in a batch Use the response location header to query for status (201 - Created, 400 - invalid request body

velopayments.v2CreatePayee({}, context)

Input

Output

queryBatchStatusV2

velopayments.queryBatchStatusV2({
  "batchId": ""
}, context)

Input

  • input object
    • batchId required string: Batch Id

Output

getPayeesInvitationStatusV2

velopayments.getPayeesInvitationStatusV2({
  "payorId": ""
}, context)

Input

  • input object
    • payorId required string: The account owner Payor ID
    • payeeId string: The UUID of the payee.
    • invitationStatus string (values: ACCEPTED, PENDING, DECLINED): The invitation status of the payees.
    • page integer: Page number. Default is 1.
    • pageSize integer: Page size. Default is 25. Max allowable is 100.

Output

getPayeeByIdV2

velopayments.getPayeeByIdV2({
  "payeeId": ""
}, context)

Input

  • input object
    • payeeId required string: The UUID of the payee.
    • sensitive boolean: Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked.

Output

getPayorByIdV2

Get a Single Payor by Id.

velopayments.getPayorByIdV2({
  "payorId": ""
}, context)

Input

  • input object
    • payorId required string: The Payor Id

Output

getSourceAccountsV2

List source accounts.

velopayments.getSourceAccountsV2({}, context)

Input

  • input object
    • physicalAccountName string: Physical Account Name
    • physicalAccountId string: The physical account ID
    • payorId string: The account owner Payor ID
    • fundingAccountId string: The funding account ID
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page
    • sort string: List of sort fields e.g. ?sort=name:asc

Output

getSourceAccountV2

Get details about given source account.

velopayments.getSourceAccountV2({
  "sourceAccountId": ""
}, context)

Input

  • input object
    • sourceAccountId required string: Source account id

Output

createFundingRequest

Instruct a funding request to transfer funds from the payor’s funding bank to the payor’s balance held within Velo (202 - accepted, 400 - invalid request body, 404 - source account not found).

velopayments.createFundingRequest({
  "sourceAccountId": "",
  "body": {
    "amount": 0
  }
}, context)

Input

  • input object
    • sourceAccountId required string: Source account id
    • body required FundingRequestV2

Output

Output schema unknown

transferFunds

Transfer funds between source accounts for a Payor. The 'from' source account is identified in the URL, and is the account which will be debited. The 'to' (destination) source account is in the body, and is the account which will be credited. Both source accounts must belong to the same Payor. There must be sufficient balance in the 'from' source account, otherwise the transfer attempt will fail.

velopayments.transferFunds({
  "sourceAccountId": "",
  "body": {
    "amount": 0,
    "currency": "",
    "toSourceAccountId": ""
  }
}, context)

Input

  • input object
    • sourceAccountId required string: The 'from' source account id, which will be debited
    • body required TransferRequest

Output

Output schema unknown

listSupportedCountriesV2

List the supported countries.

velopayments.listSupportedCountriesV2(null, context)

Input

This action has no parameters

Output

listUsers

Get a paginated response listing the Users

velopayments.listUsers({}, context)

Input

  • input object
    • type string (values: BACKOFFICE, PAYOR, PAYEE): The Type of the User.
    • status string (values: ENABLED, DISABLED, PENDING): The status of the User.
    • entityId string: The entityId of the User.
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page
    • sort string: List of sort fields (e.g. ?sort=email:asc,lastName:asc)

Output

inviteUser

Create a User and invite them to the system

velopayments.inviteUser({
  "body": {
    "email": "",
    "mfaType": "",
    "primaryContactNumber": "",
    "roles": [],
    "smsNumber": ""
  }
}, context)

Input

Output

Output schema unknown

registerSms

velopayments.registerSms({
  "body": {
    "smsNumber": ""
  }
}, context)

Input

Output

Output schema unknown

getSelf

Get the user's details

velopayments.getSelf(null, context)

Input

This action has no parameters

Output

unregisterMFAForSelf

velopayments.unregisterMFAForSelf({
  "body": {
    "mfaType": ""
  }
}, context)

Input

Output

Output schema unknown

updatePasswordSelf

Update password for self

velopayments.updatePasswordSelf({
  "body": {
    "newPassword": "",
    "oldPassword": ""
  }
}, context)

Input

Output

Output schema unknown

validatePasswordSelf

validate the password and return a score

velopayments.validatePasswordSelf({
  "body": {
    "password": ""
  }
}, context)

Input

Output

userDetailsUpdateForSelf

velopayments.userDetailsUpdateForSelf({
  "body": {}
}, context)

Input

Output

Output schema unknown

deleteUserByIdV2

Delete User by Id.

velopayments.deleteUserByIdV2({
  "userId": ""
}, context)

Input

  • input object
    • userId required string: The UUID of the User.

Output

Output schema unknown

getUserByIdV2

Get a Single User by Id.

velopayments.getUserByIdV2({
  "userId": ""
}, context)

Input

  • input object
    • userId required string: The UUID of the User.

Output

disableUserV2

velopayments.disableUserV2({
  "userId": ""
}, context)

Input

  • input object
    • userId required string: The UUID of the User.

Output

Output schema unknown

enableUserV2

velopayments.enableUserV2({
  "userId": ""
}, context)

Input

  • input object
    • userId required string: The UUID of the User.

Output

Output schema unknown

unregisterMFA

velopayments.unregisterMFA({
  "userId": "",
  "body": {
    "mfaType": ""
  }
}, context)

Input

Output

Output schema unknown

roleUpdate

velopayments.roleUpdate({
  "userId": "",
  "body": {
    "roles": []
  }
}, context)

Input

  • input object

Output

Output schema unknown

resendToken

velopayments.resendToken({
  "userId": "",
  "body": {
    "tokenType": ""
  }
}, context)

Input

Output

Output schema unknown

unlockUserV2

If a user is locked this endpoint will unlock them

velopayments.unlockUserV2({
  "userId": ""
}, context)

Input

  • input object
    • userId required string: The UUID of the User.

Output

Output schema unknown

userDetailsUpdate

velopayments.userDetailsUpdate({
  "userId": "",
  "body": {}
}, context)

Input

Output

Output schema unknown

listPayeesV3

Get a paginated response listing the payees for a payor.

velopayments.listPayeesV3({
  "payorId": ""
}, context)

Input

  • input object
    • payorId required string: The account owner Payor ID
    • watchlistStatus string (values: NONE, PENDING, REVIEW, PASSED, FAILED): The watchlistStatus of the payees.
    • disabled boolean: Payee disabled
    • onboardedStatus string (values: CREATED, INVITED, REGISTERED, ONBOARDED): The onboarded status of the payees.
    • email string: Email address
    • displayName string: The display name of the payees.
    • remoteId string: The remote id of the payees.
    • payeeType string (values: Individual, Company): The onboarded status of the payees.
    • payeeCountry string: The country of the payee - 2 letter ISO 3166-1 country code (upper case)
    • page integer: Page number. Default is 1.
    • pageSize integer: Page size. Default is 25. Max allowable is 100.
    • sort string: List of sort fields (e.g. ?sort=onboardedStatus:asc,name:asc) Default is name:asc 'name' is treated as company name for companies - last name + ',' + firstName for individuals The supported sort fields are - payeeId, displayName, payoutStatus, onboardedStatus.

Output

v3CreatePayee

Initiate the process of creating 1 to 2000 payees in a batch Use the response location header to query for status (201 - Created, 400 - invalid request body. In addition to standard semantic validations, a 400 will also result if there is a duplicate remote id within the batch / if there is a duplicate email within the batch, i.e. if there is a conflict between the data provided for one payee within the batch and that provided for another payee within the same batch). The validation at this stage is intra-batch only. Validation against payees who have already been invited occurs subsequently during processing of the batch.

velopayments.v3CreatePayee({}, context)

Input

Output

queryBatchStatusV3

Fetch the status of a specific batch of payees. The batch is fully processed when status is ACCEPTED and pendingCount is 0 ( 200 - OK, 404 - batch not found ).

velopayments.queryBatchStatusV3({
  "batchId": ""
}, context)

Input

  • input object
    • batchId required string: Batch Id

Output

listPayeeChangesV3

Get a paginated response listing payee changes.

velopayments.listPayeeChangesV3({
  "payorId": "",
  "updatedSince": ""
}, context)

Input

  • input object
    • payorId required string: The Payor ID to find associated Payees
    • updatedSince required string: The updatedSince filter in the format YYYY-MM-DDThh:mm:ss+hh:mm
    • page integer: Page number. Default is 1.
    • pageSize integer: Page size. Default is 100. Max allowable is 1000.

Output

getPayeesInvitationStatusV3

Returns a filtered, paginated list of payees associated with a payor, along with invitation status and grace period end date.

velopayments.getPayeesInvitationStatusV3({
  "payorId": ""
}, context)

Input

  • input object
    • payorId required string: The account owner Payor ID
    • payeeId string: The UUID of the payee.
    • invitationStatus string (values: ACCEPTED, PENDING, DECLINED): The invitation status of the payees.
    • page integer: Page number. Default is 1.
    • pageSize integer: Page size. Default is 25. Max allowable is 100.

Output

deletePayeeByIdV3

velopayments.deletePayeeByIdV3({
  "payeeId": ""
}, context)

Input

  • input object
    • payeeId required string: The UUID of the payee.

Output

Output schema unknown

getPayeeByIdV3

Get Payee by Id

velopayments.getPayeeByIdV3({
  "payeeId": ""
}, context)

Input

  • input object
    • payeeId required string: The UUID of the payee.
    • sensitive boolean: Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked.

Output

resendPayeeInviteV3

velopayments.resendPayeeInviteV3({
  "payeeId": "",
  "body": {
    "payorId": ""
  }
}, context)

Input

Output

Output schema unknown

payeeDetailsUpdateV3

velopayments.payeeDetailsUpdateV3({
  "payeeId": "",
  "body": {}
}, context)

Input

Output

Output schema unknown

v3.payees.payeeId.remoteIdUpdate.post

velopayments.v3.payees.payeeId.remoteIdUpdate.post({
  "payeeId": "",
  "body": {
    "payorId": "",
    "remoteId": ""
  }
}, context)

Input

Output

Output schema unknown

listPaymentsAudit

Get payments for the given payor Id

velopayments.listPaymentsAudit({}, context)

Input

  • input object
    • payeeId string: The UUID of the payee.
    • payorId string: The account owner Payor Id. Required for external users.
    • payorName string: The payor’s name. This filters via a case insensitive substring match.
    • remoteId string: The remote id of the payees.
    • status string (values: ACCEPTED, AWAITING_FUNDS, FUNDED, UNFUNDED, BANK_PAYMENT_REQUESTED, REJECTED, ACCEPTED_BY_RAILS, CONFIRMED, FAILED, RETURNED, WITHDRAWN): Payment Status
    • sourceAccountName string: The source account name filter. This filters via a case insensitive substring match.
    • sourceAmountFrom integer: The source amount from range filter. Filters for sourceAmount >= sourceAmountFrom
    • sourceAmountTo integer: The source amount to range filter. Filters for sourceAmount ⇐ sourceAmountTo
    • sourceCurrency string: The source currency filter. Filters based on an exact match on the currency.
    • paymentAmountFrom integer: The payment amount from range filter. Filters for paymentAmount >= paymentAmountFrom
    • paymentAmountTo integer: The payment amount to range filter. Filters for paymentAmount ⇐ paymentAmountTo
    • paymentCurrency string: The payment currency filter. Filters based on an exact match on the currency.
    • submittedDateFrom string: The submitted date from range filter. Format is yyyy-MM-dd.
    • submittedDateTo string: The submitted date to range filter. Format is yyyy-MM-dd.
    • paymentMemo string: The payment memo filter. This filters via a case insensitive substring match.
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page
    • sort string: List of sort fields (e.g. ?sort=submittedDateTime:asc,status:asc). Default is sort by remoteId
    • sensitive boolean: Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked.

Output

getPaymentDetails

Get the payment with the given id. This contains the payment history.

velopayments.getPaymentDetails({
  "paymentId": ""
}, context)

Input

  • input object
    • paymentId required string: Payment Id
    • sensitive boolean: Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked.

Output

getPayoutsForPayorV3

velopayments.getPayoutsForPayorV3({
  "payorId": ""
}, context)

Input

  • input object
    • payorId required string: The account owner Payor ID
    • payoutMemo string: Payout Memo filter - case insensitive sub-string match
    • status string (values: ACCEPTED, REJECTED, SUBMITTED, QUOTED, INSTRUCTED, COMPLETED, INCOMPLETE, CONFIRMED, WITHDRAWN): Payout Status
    • submittedDateFrom string: The submitted date from range filter. Format is yyyy-MM-dd.
    • submittedDateTo string: The submitted date to range filter. Format is yyyy-MM-dd.
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page
    • sort string: List of sort fields (e.g. ?sort=submittedDateTime:asc,instructedDateTime:asc,status:asc)

Output

getPaymentsForPayout

Get List of payments for Payout

velopayments.getPaymentsForPayout({
  "payoutId": ""
}, context)

Input

  • input object
    • payoutId required string: The id (UUID) of the payout.
    • remoteId string: The remote id of the payees.
    • status string (values: ACCEPTED, AWAITING_FUNDS, FUNDED, UNFUNDED, BANK_PAYMENT_REQUESTED, REJECTED, ACCEPTED_BY_RAILS, CONFIRMED, FAILED, RETURNED, WITHDRAWN): Payment Status
    • sourceAmountFrom integer: The source amount from range filter. Filters for sourceAmount >= sourceAmountFrom
    • sourceAmountTo integer: The source amount to range filter. Filters for sourceAmount ⇐ sourceAmountTo
    • paymentAmountFrom integer: The payment amount from range filter. Filters for paymentAmount >= paymentAmountFrom
    • paymentAmountTo integer: The payment amount to range filter. Filters for paymentAmount ⇐ paymentAmountTo
    • submittedDateFrom string: The submitted date from range filter. Format is yyyy-MM-dd.
    • submittedDateTo string: The submitted date to range filter. Format is yyyy-MM-dd.
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page
    • sort string: List of sort fields (e.g. ?sort=submittedDateTime:asc,status:asc). Default is sort by remoteId
    • sensitive boolean: Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked.

Output

exportTransactionsCSVV3

Download a CSV file containing payments in a date range. Uses Transfer-Encoding - chunked to stream to the client. Date range is inclusive of both the start and end dates.

velopayments.exportTransactionsCSVV3({}, context)

Input

  • input object
    • payorId string: The Payor ID for whom you wish to run the report.
    • startDate string: Start date, inclusive. Format is YYYY-MM-DD
    • endDate string: End date, inclusive. Format is YYYY-MM-DD

Output

submitPayoutV3

velopayments.submitPayoutV3({
  "body": {
    "payments": []
  }
}, context)

Input

Output

Output schema unknown

withdrawPayoutV3

Withdraw Payout will delete payout details from payout service and rails services but will just move the status of the payout to WITHDRAWN in payment audit.

velopayments.withdrawPayoutV3({
  "payoutId": ""
}, context)

Input

  • input object
    • payoutId required string: Id of the payout

Output

Output schema unknown

getPayoutSummaryV3

Get payout summary - returns the current state of the payout.

velopayments.getPayoutSummaryV3({
  "payoutId": ""
}, context)

Input

  • input object
    • payoutId required string: Id of the payout

Output

instructPayoutV3

Instruct a payout to be made for the specified payoutId.

velopayments.instructPayoutV3({
  "payoutId": ""
}, context)

Input

  • input object
    • payoutId required string: Id of the payout

Output

Output schema unknown

getPaymentsForPayoutV3

Retrieve payments for a payout

velopayments.getPaymentsForPayoutV3({
  "payoutId": ""
}, context)

Input

  • input object
    • payoutId required string: Id of the payout
    • status string (values: ACCEPTED, REJECTED, WITHDRAWN, WITHDRAWABLE): Payment Status
    • remoteId string: The remote id of the payees.
    • payorPaymentId string: Payor's Id of the Payment
    • sourceAccountName string: Physical Account Name
    • paymentMemo string: Payment Memo of the Payment
    • pageSize integer: The number of results to return in a page
    • page integer: Page number. Default is 1.

Output

createQuoteForPayoutV3

Create quote for a payout

velopayments.createQuoteForPayoutV3({
  "payoutId": ""
}, context)

Input

  • input object
    • payoutId required string: Id of the payout

Output

getSourceAccountsV3

List source accounts.

velopayments.getSourceAccountsV3({}, context)

Input

  • input object
    • physicalAccountName string: Physical Account Name
    • physicalAccountId string: The physical account ID
    • payorId string: The account owner Payor ID
    • fundingAccountId string: The funding account ID
    • type string (values: FBO, WUBS_DECOUPLED): The type of source account.
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page
    • sort string: List of sort fields e.g. ?sort=name:asc

Output

getSourceAccountV3

Get details about given source account.

velopayments.getSourceAccountV3({
  "sourceAccountId": ""
}, context)

Input

  • input object
    • sourceAccountId required string: Source account id

Output

createFundingRequestV3

Instruct a funding request to transfer funds from the payor’s funding bank to the payor’s balance held within Velo (202 - accepted, 400 - invalid request body, 404 - source account not found).

velopayments.createFundingRequestV3({
  "sourceAccountId": "",
  "body": {
    "amount": 0,
    "fundingAccountId": ""
  }
}, context)

Input

  • input object
    • sourceAccountId required string: Source account id
    • body required FundingRequestV3

Output

Output schema unknown

transferFundsV3

Transfer funds between source accounts for a Payor. The 'from' source account is identified in the URL, and is the account which will be debited. The 'to' (destination) source account is in the body, and is the account which will be credited. Both source accounts must belong to the same Payor. There must be sufficient balance in the 'from' source account, otherwise the transfer attempt will fail.

velopayments.transferFundsV3({
  "sourceAccountId": "",
  "body": {
    "amount": 0,
    "currency": "",
    "toSourceAccountId": ""
  }
}, context)

Input

  • input object
    • sourceAccountId required string: The 'from' source account id, which will be debited
    • body required TransferRequest_2

Output

Output schema unknown

listPayeesV4

Get a paginated response listing the payees for a payor.

velopayments.listPayeesV4({
  "payorId": ""
}, context)

Input

  • input object
    • payorId required string: The account owner Payor ID
    • watchlistStatus string (values: NONE, PENDING, REVIEW, PASSED, FAILED): The watchlistStatus of the payees.
    • disabled boolean: Payee disabled
    • onboardedStatus string (values: CREATED, INVITED, REGISTERED, ONBOARDED): The onboarded status of the payees.
    • email string: Email address
    • displayName string: The display name of the payees.
    • remoteId string: The remote id of the payees.
    • payeeType string (values: Individual, Company): The onboarded status of the payees.
    • payeeCountry string: The country of the payee - 2 letter ISO 3166-1 country code (upper case)
    • ofacStatus string (values: PENDING, PASSED, FAILED): The ofacStatus of the payees.
    • page integer: Page number. Default is 1.
    • pageSize integer: Page size. Default is 25. Max allowable is 100.
    • sort string: List of sort fields (e.g. ?sort=onboardedStatus:asc,name:asc) Default is name:asc 'name' is treated as company name for companies - last name + ',' + firstName for individuals The supported sort fields are - payeeId, displayName, payoutStatus, onboardedStatus.

Output

v4CreatePayee

Initiate the process of creating 1 to 2000 payees in a batch Use the response location header to query for status (201 - Created, 400 - invalid request body. In addition to standard semantic validations, a 400 will also result if there is a duplicate remote id within the batch / if there is a duplicate email within the batch, i.e. if there is a conflict between the data provided for one payee within the batch and that provided for another payee within the same batch). The validation at this stage is intra-batch only. Validation against payees who have already been invited occurs subsequently during processing of the batch.

velopayments.v4CreatePayee({}, context)

Input

Output

queryBatchStatusV4

Fetch the status of a specific batch of payees. The batch is fully processed when status is ACCEPTED and pendingCount is 0 ( 200 - OK, 404 - batch not found ).

velopayments.queryBatchStatusV4({
  "batchId": ""
}, context)

Input

  • input object
    • batchId required string: Batch Id

Output

listPayeeChangesV4

Get a paginated response listing payee changes (updated since a particular time) to a limited set of fields:

  • dbaName
  • displayName
  • email
  • onboardedStatus
  • payeeCountry
  • payeeId
  • remoteId
velopayments.listPayeeChangesV4({
  "payorId": "",
  "updatedSince": ""
}, context)

Input

  • input object
    • payorId required string: The Payor ID to find associated Payees
    • updatedSince required string: The updatedSince filter in the format YYYY-MM-DDThh:mm:ss+hh:mm
    • page integer: Page number. Default is 1.
    • pageSize integer: Page size. Default is 100. Max allowable is 1000.

Output

getPayeesInvitationStatusV4

Returns a filtered, paginated list of payees associated with a payor, along with invitation status and grace period end date.

velopayments.getPayeesInvitationStatusV4({
  "payorId": ""
}, context)

Input

  • input object
    • payorId required string: The account owner Payor ID
    • payeeId string: The UUID of the payee.
    • invitationStatus string (values: ACCEPTED, PENDING, DECLINED): The invitation status of the payees.
    • page integer: Page number. Default is 1.
    • pageSize integer: Page size. Default is 25. Max allowable is 100.

Output

deletePayeeByIdV4

velopayments.deletePayeeByIdV4({
  "payeeId": ""
}, context)

Input

  • input object
    • payeeId required string: The UUID of the payee.

Output

Output schema unknown

getPayeeByIdV4

Get Payee by Id

velopayments.getPayeeByIdV4({
  "payeeId": ""
}, context)

Input

  • input object
    • payeeId required string: The UUID of the payee.
    • sensitive boolean: Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked.

Output

resendPayeeInviteV4

velopayments.resendPayeeInviteV4({
  "payeeId": "",
  "body": {
    "payorId": ""
  }
}, context)

Input

Output

Output schema unknown

payeeDetailsUpdateV4

velopayments.payeeDetailsUpdateV4({
  "payeeId": "",
  "body": {}
}, context)

Input

Output

Output schema unknown

v4.payees.payeeId.remoteIdUpdate.post

velopayments.v4.payees.payeeId.remoteIdUpdate.post({
  "payeeId": "",
  "body": {
    "payorId": "",
    "remoteId": ""
  }
}, context)

Input

Output

Output schema unknown

getFundingsV4

velopayments.getFundingsV4({
  "payorId": ""
}, context)

Input

  • input object
    • payorId required string: The account owner Payor ID
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page
    • sort string: List of sort fields. Example: ?sort=destinationCurrency:asc,destinationAmount:asc

Output

listPaymentsAuditV4

Get payments for the given payor Id

velopayments.listPaymentsAuditV4({}, context)

Input

  • input object
    • payeeId string: The UUID of the payee.
    • payorId string: The account owner Payor Id. Required for external users.
    • payorName string: The payor’s name. This filters via a case insensitive substring match.
    • remoteId string: The remote id of the payees.
    • status string (values: ACCEPTED, AWAITING_FUNDS, FUNDED, UNFUNDED, BANK_PAYMENT_REQUESTED, REJECTED, ACCEPTED_BY_RAILS, CONFIRMED, FAILED, RETURNED, WITHDRAWN): Payment Status
    • transmissionType string (values: ACH, SAME_DAY_ACH, WIRE): Transmission Type
    • sourceAccountName string: The source account name filter. This filters via a case insensitive substring match.
    • sourceAmountFrom integer: The source amount from range filter. Filters for sourceAmount >= sourceAmountFrom
    • sourceAmountTo integer: The source amount to range filter. Filters for sourceAmount ⇐ sourceAmountTo
    • sourceCurrency string: The source currency filter. Filters based on an exact match on the currency.
    • paymentAmountFrom integer: The payment amount from range filter. Filters for paymentAmount >= paymentAmountFrom
    • paymentAmountTo integer: The payment amount to range filter. Filters for paymentAmount ⇐ paymentAmountTo
    • paymentCurrency string: The payment currency filter. Filters based on an exact match on the currency.
    • submittedDateFrom string: The submitted date from range filter. Format is yyyy-MM-dd.
    • submittedDateTo string: The submitted date to range filter. Format is yyyy-MM-dd.
    • paymentMemo string: The payment memo filter. This filters via a case insensitive substring match.
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page
    • sort string: List of sort fields (e.g. ?sort=submittedDateTime:asc,status:asc). Default is sort by submittedDateTime:desc,paymentId:asc
    • sensitive boolean: Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked.

Output

getPaymentDetailsV4

Get the payment with the given id. This contains the payment history.

velopayments.getPaymentDetailsV4({
  "paymentId": ""
}, context)

Input

  • input object
    • paymentId required string: Payment Id
    • sensitive boolean: Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked.

Output

getPayoutStatsV4

velopayments.getPayoutStatsV4({}, context)

Input

  • input object
    • payorId string: The account owner Payor ID. Required for external users.

Output

getPayoutsForPayorV4

Get List of payouts for payor

velopayments.getPayoutsForPayorV4({}, context)

Input

  • input object
    • payorId string: The id (UUID) of the payor funding the payout or the payor whose payees are being paid.
    • payoutMemo string: Payout Memo filter - case insensitive sub-string match
    • status string (values: ACCEPTED, REJECTED, SUBMITTED, QUOTED, INSTRUCTED, COMPLETED, INCOMPLETE, CONFIRMED, WITHDRAWN): Payout Status
    • submittedDateFrom string: The submitted date from range filter. Format is yyyy-MM-dd.
    • submittedDateTo string: The submitted date to range filter. Format is yyyy-MM-dd.
    • fromPayorName string: The name of the payor whose payees are being paid. This filters via a case insensitive substring match.
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page
    • sort string: List of sort fields (e.g. ?sort=submittedDateTime:asc,instructedDateTime:asc,status:asc)

Output

getPaymentsForPayoutV4

Get List of payments for Payout, allowing for RETURNED status

velopayments.getPaymentsForPayoutV4({
  "payoutId": ""
}, context)

Input

  • input object
    • payoutId required string: The id (UUID) of the payout.
    • remoteId string: The remote id of the payees.
    • status string (values: ACCEPTED, AWAITING_FUNDS, FUNDED, UNFUNDED, BANK_PAYMENT_REQUESTED, REJECTED, ACCEPTED_BY_RAILS, CONFIRMED, FAILED, RETURNED, WITHDRAWN): Payment Status
    • sourceAmountFrom integer: The source amount from range filter. Filters for sourceAmount >= sourceAmountFrom
    • sourceAmountTo integer: The source amount to range filter. Filters for sourceAmount ⇐ sourceAmountTo
    • paymentAmountFrom integer: The payment amount from range filter. Filters for paymentAmount >= paymentAmountFrom
    • paymentAmountTo integer: The payment amount to range filter. Filters for paymentAmount ⇐ paymentAmountTo
    • submittedDateFrom string: The submitted date from range filter. Format is yyyy-MM-dd.
    • submittedDateTo string: The submitted date to range filter. Format is yyyy-MM-dd.
    • transmissionType string (values: ACH, SAME_DAY_ACH, WIRE): Transmission Type
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page
    • sort string: List of sort fields (e.g. ?sort=submittedDateTime:asc,status:asc). Default is sort by remoteId
    • sensitive boolean: Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked.

Output

exportTransactionsCSVV4

Download a CSV file containing payments in a date range. Uses Transfer-Encoding - chunked to stream to the client. Date range is inclusive of both the start and end dates.

velopayments.exportTransactionsCSVV4({}, context)

Input

  • input object
    • payorId string: The Payor ID for whom you wish to run the report.
    • startDate string: Start date, inclusive. Format is YYYY-MM-DD
    • endDate string: End date, inclusive. Format is YYYY-MM-DD
    • include string (values: payorOnly, payorAndDescendants): Mode to determine whether to include other Payor's data in the results.

Output

listPaymentChangesV4

Get a paginated response listing payment changes.

velopayments.listPaymentChangesV4({
  "payorId": "",
  "updatedSince": ""
}, context)

Input

  • input object
    • payorId required string: The Payor ID to find associated Payments
    • updatedSince required string: The updatedSince filter in the format YYYY-MM-DDThh:mm:ss+hh:mm
    • page integer: Page number. Default is 1.
    • pageSize integer: The number of results to return in a page

Output

Definitions

AcceptedPaymentV3

  • AcceptedPaymentV3 object
    • amount required integer
    • currencyType required string: Valid ISO 4217 3 letter currency code. See the ISO specification for details.
    • paymentMemo string
    • payorPaymentId required string
    • remoteId *required