Skip to content

Velo Payments APIs API

by velopayments.com

HTTP BasicHTTPSShopping
Open documentation ↗

Overview

## 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 resp

Velo Payments APIs is a shopping API from velopayments.com. Requests are authenticated with HTTP Basic auth. It is served over HTTPS. Its OpenAPI description documents 100 endpoints.

At a glance

Authentication
HTTP Basic
HTTPS
Yes
CORS
Unknown
Category
Shopping
Base URL
https://api.sandbox.velopayments.com/
Version
2.34.63
Endpoints
100
Spec updated
2023-03-06

Make a first request

Replace the placeholders; the documentation says exactly where credentials go.

cURL
curl -X GET "https://api.sandbox.velopayments.com/v1/deltas/fundings" \
  -H "Accept: application/json" \
  -H "Authorization: Basic BASE64_USER_PASSWORD"
JavaScript
const response = await fetch("https://api.sandbox.velopayments.com/v1/deltas/fundings", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": "Basic BASE64_USER_PASSWORD",
  },
});
const data = await response.json();
console.log(data);
Python
import requests

response = requests.request(
    "GET",
    "https://api.sandbox.velopayments.com/v1/deltas/fundings",
    headers={
    "Accept": "application/json",
    "Authorization": "Basic BASE64_USER_PASSWORD",
    },
    timeout=30,
)
print(response.json())

Endpoints

MethodPathWhat it does
POST/v1/authenticateAuthentication endpoint
GET/v1/deltas/fundingsGet Funding Audit Delta
GET/v1/deltas/paymentsdeprecatedV1 List Payment Changes
GET/v1/fundings/{fundingId}Get Funding
POST/v1/logoutLogout
POST/v1/password/resetReset password
GET/v1/paymentChannelRulesList Payment Channel Country Rules
GET/v1/paymentaudit/fundingsdeprecatedV1 Get Fundings for Payor
GET/v1/paymentaudit/payoutStatisticsdeprecatedV1 Get Payout Statistics
POST/v1/payments/{paymentId}/withdrawWithdraw a Payment
GET/v1/payorLinksList Payor Links
POST/v1/payorLinksCreate a Payor Link
GET/v1/payors/{payorId}deprecatedGet Payor
POST/v1/payors/{payorId}/applicationsCreate Application
POST/v1/payors/{payorId}/applications/{applicationId}/keysCreate API Key
GET/v1/payors/{payorId}/brandingGet Branding
POST/v1/payors/{payorId}/branding/logosAdd Logo
POST/v1/payors/{payorId}/reminderEmailsUpdateReminder Email Opt-Out
POST/v1/sourceAccounts/{sourceAccountId}/notificationsdeprecatedSet notifications
GET/v1/supportedCountriesdeprecatedList Supported Countries
POST/v1/validatevalidate
GET/v1/webhooksList the details about the webhooks for the given payor.
POST/v1/webhooksCreate Webhook
GET/v1/webhooks/{webhookId}Get details about the given webhook.
POST/v1/webhooks/{webhookId}Update Webhook
POST/v1/webhooks/{webhookId}/pingpingWebhookV1
GET/v2/currenciesList Supported Currencies
GET/v2/fundingAccountsGet Funding Accounts
POST/v2/fundingAccountsCreate Funding Account
GET/v2/fundingAccounts/{fundingAccountId}Get Funding Account
GET/v2/payors/{payorId}Get Payor
GET/v2/sourceAccountsdeprecatedGet list of source accounts
GET/v2/sourceAccounts/{sourceAccountId}deprecatedGet Source Account
POST/v2/sourceAccounts/{sourceAccountId}/fundingRequestdeprecatedCreate Funding Request
POST/v2/sourceAccounts/{sourceAccountId}/transfersdeprecatedTransfer Funds between source accounts
GET/v2/supportedCountriesList Supported Countries
GET/v2/usersList Users
POST/v2/users/inviteInvite a User
POST/v2/users/registration/smsRegister SMS Number
GET/v2/users/selfGet Self
POST/v2/users/self/mfa/unregisterUnregister MFA for Self
POST/v2/users/self/passwordUpdate Password for self
POST/v2/users/self/password/validateValidate the proposed password
POST/v2/users/self/userDetailsUpdateUpdate User Details for self
GET/v2/users/{userId}Get User
DELETE/v2/users/{userId}Delete a User
POST/v2/users/{userId}/disableDisable a User
POST/v2/users/{userId}/enableEnable a User
POST/v2/users/{userId}/mfa/unregisterUnregister MFA for the user
POST/v2/users/{userId}/roleUpdateUpdate User Role
POST/v2/users/{userId}/tokensResend a token
POST/v2/users/{userId}/unlockUnlock a User
POST/v2/users/{userId}/userDetailsUpdateUpdate User Details
GET/v3/payeesdeprecatedList Payees
POST/v3/payeesdeprecatedInitiate Payee Creation
GET/v3/payees/batch/{batchId}deprecatedQuery Batch Status
GET/v3/payees/deltasdeprecatedList Payee Changes
GET/v3/payees/payors/{payorId}/invitationStatusdeprecatedGet Payee Invitation Status
GET/v3/payees/{payeeId}deprecatedGet Payee by Id
DELETE/v3/payees/{payeeId}deprecatedDelete Payee by Id
POST/v3/payees/{payeeId}/invitedeprecatedResend Payee Invite
POST/v3/payees/{payeeId}/payeeDetailsUpdatedeprecatedUpdate Payee Details
POST/v3/payees/{payeeId}/remoteIdUpdatedeprecatedUpdate Payee Remote Id
GET/v3/paymentaudit/paymentsdeprecatedV3 Get List of Payments
GET/v3/paymentaudit/payments/{paymentId}deprecatedV3 Get Payment
GET/v3/paymentaudit/payoutsdeprecatedV3 Get Payouts for Payor
GET/v3/paymentaudit/payouts/{payoutId}deprecatedV3 Get Payments for Payout
GET/v3/paymentaudit/transactionsdeprecatedV3 Export Transactions
POST/v3/payoutsSubmit Payout
GET/v3/payouts/{payoutId}Get Payout Summary
POST/v3/payouts/{payoutId}Instruct Payout
DELETE/v3/payouts/{payoutId}Withdraw Payout
GET/v3/payouts/{payoutId}/paymentsRetrieve payments for a payout
POST/v3/payouts/{payoutId}/quoteCreate a quote for the payout
POST/v3/payouts/{payoutId}/scheduleSchedule a payout
DELETE/v3/payouts/{payoutId}/scheduleDeschedule a payout
GET/v3/sourceAccountsGet list of source accounts
GET/v3/sourceAccounts/{sourceAccountId}Get details about given source account.
DELETE/v3/sourceAccounts/{sourceAccountId}Delete a source account by ID
POST/v3/sourceAccounts/{sourceAccountId}/fundingRequestCreate Funding Request
POST/v3/sourceAccounts/{sourceAccountId}/notificationsSet notifications
POST/v3/sourceAccounts/{sourceAccountId}/transfersTransfer Funds between source accounts
GET/v4/payeesList Payees
POST/v4/payeesInitiate Payee Creation
GET/v4/payees/batch/{batchId}Query Batch Status
GET/v4/payees/deltasList Payee Changes
GET/v4/payees/payors/{payorId}/invitationStatusGet Payee Invitation Status
GET/v4/payees/{payeeId}Get Payee by Id
DELETE/v4/payees/{payeeId}Delete Payee by Id
POST/v4/payees/{payeeId}/inviteResend Payee Invite
POST/v4/payees/{payeeId}/payeeDetailsUpdateUpdate Payee Details
POST/v4/payees/{payeeId}/remoteIdUpdateUpdate Payee Remote Id
GET/v4/paymentaudit/fundingsGet Fundings for Payor
GET/v4/paymentaudit/paymentsGet List of Payments
GET/v4/paymentaudit/payments/{paymentId}Get Payment
GET/v4/paymentaudit/payoutStatisticsGet Payout Statistics
GET/v4/paymentaudit/payoutsGet Payouts for Payor
GET/v4/paymentaudit/payouts/{payoutId}Get Payments for Payout
GET/v4/paymentaudit/transactionsExport Transactions
GET/v4/payments/deltasList Payment Changes

Questions

Does the Velo Payments APIs API need an API key?

Yes. The Velo Payments APIs API uses HTTP Basic authentication; the documentation explains how to get credentials.

Does the Velo Payments APIs API support HTTPS?

Yes, the Velo Payments APIs API is served over HTTPS.

How many endpoints does the Velo Payments APIs API have?

Its OpenAPI description lists 100 endpoints in version 2.34.63. All of them are shown on this page.

What are alternatives to the Velo Payments APIs API?

Other Shopping APIs include Etsy, eBay, Flipkart Marketplace, Inventory Management, Intel Product Catalogue Service.

Compare alternatives →

Listed from APIs.guru (CC0).