Digital Disbursements API (1.0.0)

The Digital Disbursements API enables businesses to disburse funds to recipients' DDA.

Introduction

Digital Disbursements is a highly flexible and configurable online disbursement platform designed for businesses to efficiently distribute funds to beneficiaries. This document outlines the capabilities of the Digital Disbursements API, which is built around REST principles.

The API utilises standard HTTP methods and response codes, ensuring compatibility with any HTTP client. It provides a straightforward and reliable means for managing disbursements through clear and consistent interfaces.

Environments

The following environments are available to clients who would like to integrate with the Disbursements API. Please use the appropriate hostname, based on the environment being accessed, while invoking an API.

Environment Hostname
Sandbox https://sbapi.orbipay.com/disbursements/v1
Production https://api.orbipay.com/disbursements/v1

For e.g., the API endpoint URL for Save Payee API on the Production environment is https://api.orbipay.com/disbursements/v1/payees and that on the Sandbox is https://sbapi.orbipay.com/disbursements/v1/payees.

Authentication

Here are the Authorization methods that are supported.

OPAY1-HMAC-SHA256

The HTTP Authorization request header is used to provide authentication information. This header looks like the following.

Authorization : OPAY1-HMAC-SHA256 Credential=...,Signature=...

The constituents of the authorization header are explained in the table below.

Item Description
OPAY1-HMAC-SHA256 The algorithm that is used to calculate the signature.
Credential The api_key
Signature The Base 64 encoded value of the signature bytes. Calculating the signature bytes is explained below.

Signature Calculation

Signature is calculated as follows.

Base64(HMAC-SHA256(secret,input))

The calculation is explained in detail below.

Item Description
Base64() The encoding of the signature bytes.
HMAC-SHA256() The cryptographic function that computes the HMAC by using the SHA256 algorithm with the client secret provided.
secret The secret key specific to the client that is shared with the client during onboarding.
input The string value of the canonicalized transform of request data that includes the HTTP method, URL, headers, query parameters and body. The details of computing the input is explained below.

The string input is computed as follows.

input = method():path():queryString():headers():payload()

Each of the substrings is explained below.

Item Description
method() The HTTP method for the given request and evaluates to one of GET, PUT, POST or DELETE.
path() The absolute path component of the URI—everything starting with the "/" that follows the domain name and up to the end of the string or to the question mark character ("?") if the given URL has query string parameters.
queryString() A string in the format param1=value1&param2=value2&…, where the query parameters are sorted in alphabetical order of the parameter names. In case multiple values are present for a parameter, the query parameters are sorted in alphabetical order of the parameter names and subsequently by the parameter values for each such paramter. Both the parameter names and their values should be trimmed for leading and trailing whitespaces, should be in their normal pre-encoded format. Only parameters with non-empty values, after trimming the leading and trailing whitespaces, should be included. If there are no query parameters at all, the queryString() should evaluate to an empty string (“”).
headers() A string in the format header1=value1&header2=value2&.......&headerN=valueN. The headers are to be sorted alphabetically. Both the header names and their values must be trimmed for leading and trailing white-space, and in their normal pre-encoded format . Only the headers listed by the application and those that are non-empty, after trimming the leading and trailing whitespaces, are to be included.
payload() The raw HTTP body

Tryout

HTTP Response Codes

Digital Disbursements uses standard HTTP response codes to return the status of an API call. Additional information, such as errors, may be useful to a caller. An HTTP response code of 2xx indicates success. In this case, additional information pertaining to the request is sent back in the header parameters. An HTTP response code of 4xx indicates a client error and 5xx indicates a processing error. In these cases, Digital Disbursements also returns a list of errors in the response body in JSON. Each error has a code, message, and specifics on which field the error pertains to (if applicable.)

Http Response Codes

Code Reason
200 - OK Successfully processed the request
201 - Created The object was successfully created
204 - No Content No Content, Successfully processed the request
400 - Bad Request The request was rejected, most likely due to invalid parameters
401, 403 - Unauthorized, Forbidden Unauthorized or forbidden request
404 - Not Found The resource does not exist
409 - Conflict This typically occurs when duplicate requests are received even while the original request is being processed.
422 - Unprocessable Entity The request body contains well-formed (i.e., syntactically correct), but semantically erroneous, instructions.
500 - Internal Server Error Something went wrong with Digital Disbursements and the request could not be processed.

Error Codes

An HTTP response code of 4xx indicates a client error and 5xx indicates a processing error. In these cases, Digital Disbursements also returns a list of errors in the response body in JSON. Each error has a code, message, and specifics on which field the error pertains to (if applicable). The Digital Disbursements API specific error codes are described here.

code message
error_field The error returned if a mandatory field is missing value or if the value is invalid. This is accompanied by the field that caused the error.
error_payee_missing The request cannot be processed due to invalid payee details.
error_dda_invalid The request cannot be processed due to invalid bank details.
error_payout_rejected The payout is rejected due to business rules violation.
error_payout_disallowed The payout is disallowed due to business rules violation.
error_duplicate_payout The payout is rejected as it duplicates an existing one.
error_payout_update_disallowed The payout cannot be modified due to business rules violation.
error_credit_account_missing The request cannot be processed due to invalid credit account.
error_duplicate_payee A payee with the same details exists already.
error_credit_account_status_invalid The request cannot be processed due to invalid credit account.
error_payee_account_missing The request can not be processed with the given account information.
error_payee_account_invalid The request can not be processed with the given account information.
error_credit_account_invalid The request can not be processed with the given credit account information.
error_duplicate_payee_account Could not identify a unique payee account.
error_credit_account_limit_reached The payout method cannot be added due to business rules violation.
error_tech_difficulties There is a problem processing this request due to technical difficulties.
error_credit_account_update_disallowed The payout method cannot be modified due to business rules violation.
error_credit_account_delete_disallowed The payout method cannot be deleted due to other linked resources or business rules violation.
error_payee_account_limit_reached The payee account cannot be added since it has reached the maximum limit of payee accounts per payee.
error_payee_invalid The request cannot be processed due to invalid payee.
error_credit_account_unusable The request cannot be processed as the credit account is unusable.
error_credit_account_blocked The request cannot be processed as the credit account is blocked.
error_payee_update_disallowed The payee cannot be modified due to business rules violation.
error_credit_account_type_disallowed The request cannot be processed as the credit account type is not allowed.
error_credit_account_disallowed The request cannot be processed as the credit account is not allowed.
error_credit_account_has_active_payouts The request cannot be processed as the credit account has active payouts linked to it.
error_payout_not_schedulable The payout cannot be scheduled for the date provided since it might be a holiday or past cut-off time.
error_payout_setup_disallowed The payout setup is disallowed due to business rules violation.

Hypermedia

As per REST guidelines, Digital Disbursements API supports hypermedia. This allows for simple and intuitive navigation between the resources, making it easy to fetch associated metadata for any given resource.

Pagination

The various Retrieve methods listed below, like Retrieve Payees, Retrieve Disbursements and Retrieve Payout Methods return a list of results matching the specified filter criteria. However, all the items in the list are not returned at once, but instead are returned in groups called pages. The size of the page can be set by the caller using the request parameter called page_size. The default page size is 10.

Each page of results consists of a list of items, the url to fetch any page in the list along with the from index and the to index of the results on that page. If both from_index and to_index are provided, only from_index is considered.To fetch any page in the list, the appropriate query string has to be appended to the url. This can be done as follows.

<url>&from_index=<new from index>&page_size=<page size> ( or ) <url>&to_index=<new to index>&page_size=<page size>

For e.g., the second page of a list with a page size of 10 would return with from_index 11 and to_index 20. To retrieve the third page, the from_index to be used in the request would be 21 and for the first page would be 1. The third page could be retrieved using any of the following urls.

<url>&from_index=21&page_size=10 ( or ) <url>&to_index=30&page_size=10

Request Headers

Every API call includes request headers. These HTTP header parameters are required to define the context in which the API is invoked.

channel : The channel through which the API is invoked. Please contact support@billerpayments.com to configure channels.
Type: string

client_key : The unique identifier assigned by Disbursment to the client.
Type: string Pattern: '[a-zA-Z0-9_-]{1,50}'

product : The product identifier corresponding to the API.
Type: string ValidValues: orbipay_disbursements

timestamp : The timestamp for the moment when the API request is created, in the format, yyyy-MM-dd HH:mm:ss.SSSZ
For e.g., 2018-07-13 11:41:17.422+00:00 Please ensure that consecutive spaces are not used in the timestamp.
Type: string

idempotent_request_key : The unique token that clients can generate and maintain in order to identify an API request. This is used by Disbursment to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.
Type: string Pattern: '[a-zA-Z0-9]{1,50}'

requestor_type : If an API is being requested from an application that is being used directly by a payee, like the payee portal and IVR, the requestor_type should be set to "payee".
Type: string ValidValues: external_user and payee

requestor : The identifier for the requestor of the API, in Disbursment. The value to be passed in the requestor field would depend on the requestor_type.
Type: string Pattern: '[a-zA-Z0-9]{1,20}'

X-OPAY-Headers : Intended for the future use.
Type: string

trace_id : The unique reference that can be used for tracing and debugging an API call.
Type: string Pattern: '[a-zA-Z0-9_=-]{1,50}'

Response Headers

HTTP header parameters are returned as part of every API response. Most of these parameters match those sent in the request.

channel : The channel through which the API is invoked. Please contact support@billerpayments.com to configure channels.
Type: string

client_key : The unique identifier assigned by Disbursment to the client.
Type: string Pattern: '[a-zA-Z0-9_-]{1,50}'

product : The product identifier corresponding to the API.
Type: string ValidValues: orbipay_disbursements

timestamp : The timestamp for the moment when the API request is created, in the format, yyyy-MM-dd HH:mm:ss.SSSZ
For e.g., 2018-07-13 11:41:17.422+00:00 Please ensure that consecutive spaces are not used in the timestamp.
Type: string

idempotent_request_key : The unique token that clients can generate and maintain in order to identify an API request. This is used by Disbursment to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.
Type: string Pattern: '[a-zA-Z0-9]{1,50}'

requestor_type : If an API is being requested from an application that is being used directly by a payee, like the payee portal and IVR, the requestor_type should be set to "payee".
Type: string ValidValues: external_user and payee

requestor : The identifier for the requestor of the API, in Disbursment. The value to be passed in the requestor field would depend on the requestor_type.
Type: string Pattern: '[a-zA-Z0-9]{1,20}'

X-OPAY-Headers : Intended for the future use.
Type: string

request_uuid : The unique ID for the request, generated by Disbursment, that can be used for tracing and audit trail.
Type: string Pattern: '[a-z0-9]{1,50}'

response_codes : Codes corresponding to any additional information or warning, pertaining to the API call, in a comma separated format, that are returned in the response.
Type: string

response_text : The text detailing any additional information or warning, pertaining to the API call, in a pipe separated format, that is returned in the response.
Type: string

trace_id : The unique reference that can be used for tracing and debugging an API call.
Type: string Pattern: '[a-zA-Z0-9_=-]{1,50}'

Duplicate Requests & Retries

We support idempotency for the HTTP methods POST, PUT, DELETE and PATCH using the header parameter, namely, idempotent_request_key.

In other words, any POST, PUT, DELETE and PATCH request will be considered as a duplicate request or retries and not reprocessed by Digital Disbursements if all the request parameters, including the idempotent_request_key, match with an earlier request. Please note that the entire request with all the request parameters, including the idempotent_request_key, have to match with the original request for it to be treated as a duplicate request or retry. In case of duplicate requests or retries, the API response will be that of the original request.

The idempotent_request_key is valid only for a duration of one hour from the time of the original request. Any duplicate request or retry after a gap of one hour from the original request will be considered as a fresh request and reprocessed by Digital Disbursements.

Digital Disbursements does not support retrial of GET requests and these are processed every time, irrespective of the idempotent_request_key.

Custom Fields

Custom fields are useful for storing additional structured information on an object. Please check with the specific Resource definition below to check if it supports custom fields. For example, you could store the payee’s full name and corresponding unique identifier from your system, on a Digital Disbursements Payee object. Custom fields are only captured and stored by Digital Disbursements and not used for processing of any sort. Please contact support@billerpayments.com for any additional requirement you may have on custom fields.

Below are the supported custom fields datatypes.

| data_type | pattern        |
| ------------ | ------------ |
| string | [0-9a-zA-Z #,.'&/\-@!$%*()_+={}\|:;`\[\]\^\~\\"]{0,100}|
| dollar | (\+\|\-)?([0-9]+(.[0-9]+)?)|

Resources

Payee hold Payee Accounts. A disbursement is always made against a Payee Account by/on behalf of a Payee using an associated Payout Method. Each of these resources is labeled with its own id in Digital Disbursements.

Payee The individual or entity associated with a Payee Account.

Payout Method The bank account being used to receive funds.

Disbursement The process through which disbursements will be credited.

Disbursement Setup The process through which disbursement setups will be credited.

Payee

This section outlines the API required to exchange and manage payee information, such as payee account details.

Save Payee

The Save Payee API allows clients to both register new payees and update existing payee details in Digital Disbursements. It is also mandatory to create a payee account for the payee. So, at least one payee account should be provided in order to register a payee. There is no limit on the number of accounts that can be associated with the payee.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Request Body Schema: application/json

The JSON that contains all the attributes of payee to be saved.

payee_reference
string [ 1 .. 100 ] characters ^$|[0-9a-zA-Z #,.'&/\-@!$%*()_+={}|:;`\[\]\^\~\s\\"]+

The unique identifier in the client system for the payee.

first_name
string [ 0 .. 60 ] characters [0-9a-zA-Z #,.'&/\-@!$%*()_+={}|:;`\[\]\^\~\\"]+

The first name of the payee.

last_name
required
string [ 1 .. 60 ] characters [0-9a-zA-Z #,.'&/\-@!$%*()_+={}|:;`\[\]\^\~\\"]+

The last name of the payee.

middle_name
string [ 0 .. 60 ] characters [0-9a-zA-Z #,.'&/\-@!$%*()_+={}|:;`\[\]\^\~\\"]+

The middle name of the payee.

gender
string
Enum: "male" "female"

The gender of the payee.

date_of_birth
string 10 characters

The date of birth of the payee. It should be in the full-date format as per ISO8601, namely, YYYY-MM-DD.

status
required
string
Enum: "active" "revoked" "suspended"

The status of the payee in Disbursement.

ssn
string 9 characters [0-9]{9}

The SSN of the payee if the account holder is an individual or the tax ID, if the payee is a business.

locale
required
string <= 5 characters ^[a-z]{2}_[A-Z]{2}$

The language in which the payee wants the alerts and notifications from Digital Disbursements. This is to be specified in the format,
< ISO-639-1 language code >_< ISO ALPHA-2 Country Code >.
For e.g., en_US indicates the language preference as US English, which is also the default value.

email
string <email> [ 0 .. 100 ] characters [a-zA-Z0-9!#$%&'*+-/=?^._`{|}~]+@[a-zA-Z0-9_.-]+\.[a-zA-Z0-9._]+

The email address of the payee.

home_phone
string <= 10 characters [0-9]{10}

The home phone number of the payee.

work_phone
string <= 10 characters [0-9]{10}

The work phone number of the payee.

mobile_phone
string <= 10 characters [0-9]{10}

The mobile phone number of the payee.

address
object
custom_fields
object

The additional information or meta-information that Digital Disbursements can accept, maintain and transmit back to the client. The custom fields need to be configured with Digital Disbursements before they can be accepted. Digital Disbursements would reject custom fields that are not pre-configured. Please contact support@billerpayments.com for more information on configuring and using custom fields.

comments
string [ 1 .. 1000 ] characters [0-9a-zA-Z #,.'&/\-@!$%*()_+={}|:;`\[\]\^\~\\"]+
payee_accounts
required
object

Responses

201

The payee saved, with the id for the same in Digital Disbursements.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

post/payees
https://api.orbipay.com/disbursements/v1/payees

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Retrieve Payees

The Retrieve Payee API is used to retrieve the details of the payees. Payees can be retrieved matching criteria that includes the payee Id, the SSN, the email or the payee account number.

query Parameters
page_size
required
string

The maximum number of objects returned in the query.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Request Body Schema: application/x-www-form-urlencoded
id_payee
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the payee.

payee_reference
string [ 1 .. 100 ] characters ^$|[0-9a-zA-Z #,.'&/\-@!$%*()_+={}|:;`\[\]\^\~\s\\"]+

Unique ID assigned by the client's system for a given payee.

ssn
string 9 characters [0-9]{9}

The SSN of the payee if the account holder is an individual or the tax ID, if the payee is a business.

email
string [ 0 .. 100 ] characters [a-zA-Z0-9!#$%&'*+-/=?^._`{|}~]+@[a-zA-Z0-9_.-]+\.[a-zA-Z0-9._]+

This field contains the payee’s email address within Digital Disbursements.

account_number
string [ 4 .. 32 ] characters [a-zA-Z0-9-_/!@#$%&*{}.]+

Payee Account Number of the payee to get details of.

Responses

200

The list of payees matching the criteria provided, the total results count and the urls to get the next/previous pages.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

post/payees/lists
https://api.orbipay.com/disbursements/v1/payees/lists

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Retrieve Payees Pagination

This API is used to paginate through the list of payees returned in the Retrieve Payees API.

query Parameters
id_payee
required
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the payee.

page_size
required
string

The maximum number of objects returned in the query.

query_id
required
string [ 1 .. 50 ] characters [a-z0-9]{1,50}

query id of the Retrieve/Search Accounts lookup.

from_index
required
string

The id of the object after which the next set of objects are to be retrieved.

to_index
string

The id of the object before which the previous set of objects are to be retrieved.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Responses

200

The list of payees matching the criteria provided, the total results count and the urls to get the next/previous pages.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

get/payees/lists
https://api.orbipay.com/disbursements/v1/payees/lists

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Payout Method

This section outlines the API required to enable payees to manage their payout methods.

Add Payout Method

This API is used to add a bank payout method for the payee.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Request Body Schema: application/json

JSON containing all the attributes of the Bank Payout Method to be added to payee.

payee
required
object
payout_method
required
Bank Account (object)

Responses

201

The payout method created, with the id for the same in Digital Disbursements.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

post/payoutmethods
https://api.orbipay.com/disbursements/v1/payoutmethods

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Update Payout Method

The API is used to edit the payout method details. The type of the payout method cannot be changed. The sub-type of a bank account can be changed. For e.g., a saving account can be updated to a money market account. However, the sub-type cannot be updated for a card account. Editing a payout method updates the account information on all pending disbursements made using that account but does not change the details on disbursements that have been completed.

path Parameters
ID_PAYOUT_METHOD
required
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the Payout Method.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Request Body Schema: application/json

JSON containing all the attributes of the Card Payout Method to be updated.

payee
required
object
payout_method
required
Bank Account (object)

Responses

200

The updated payout method.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

put/payoutmethods/{ID_PAYOUT_METHOD}
https://api.orbipay.com/disbursements/v1/payoutmethods/{ID_PAYOUT_METHOD}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Delete Payout Method

The Delete Payout Method API is used to delete the payout method of a payee. All pending disbursements made with that account are cancelled upon deletion of the payout method.

path Parameters
ID_PAYOUT_METHOD
required
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the Payout Method.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Request Body Schema: application/json

Details of account to be deleted.

payee
required
object
comments
string [ 1 .. 1000 ] characters [0-9a-zA-Z #,.'&/\-@!$%*()_+={}|:;`\[\]\^\~\\"]+

Responses

204

Returns 204 http status code with empty body.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

post/payoutmethods/{ID_PAYOUT_METHOD}
https://api.orbipay.com/disbursements/v1/payoutmethods/{ID_PAYOUT_METHOD}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Retrieve Payout Methods

This API is used to retrieve all the payout methods associated with a payee.

query Parameters
page_size
required
string

The maximum number of objects returned in the query.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Request Body Schema: application/x-www-form-urlencoded
id_payee
required
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the payee.

id_payout_method
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the Payout Method.

account_number
string [ 4 .. 32 ] characters [a-zA-Z0-9]+

The account number to get details of.

status
Array of strings
Items Enum: "active" "frozen" "suspended" "unverified"

Status of the payout method. This can take multiple values.

aba_routing_number
string 9 characters [0-9]{9}

The ABA/Routing number for the bank account.

account_type
Array of strings
Items Value: "bank"

The type of the payout method. For e.g., bank. This can take multiple values in the format key=value1&key=value2....

account_subtype
string
Enum: "checking" "savings" "money_market"

The sub type of the payout method. For e.g., a savings account, a checking account.

Responses

200

The list of payout methods matching the criteria provided, the total results count and the urls to get the next/previous pages.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

post/payoutmethods/lists
https://api.orbipay.com/disbursements/v1/payoutmethods/lists

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Retrieve Payout Methods Page

This API is used to get a page/set of payout methods based on the lookup id,

query Parameters
id_payee
required
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the payee.

page_size
required
string

The maximum number of objects returned in the query.

query_id
required
string [ 1 .. 50 ] characters [a-z0-9]{1,50}

query id of the Retrieve/Search Accounts lookup.

from_index
required
string

The id of the object after which the next set of objects are to be retrieved.

to_index
string

The id of the object before which the previous set of objects are to be retrieved.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Responses

200

All the applicable accounts are returned in the response. The fields applicable vary with the type of account.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

get/payoutmethods/lists
https://api.orbipay.com/disbursements/v1/payoutmethods/lists

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Disbursement

This section outlines the API required to enable payees to manage their disbursements.

Create Disbursement

The API is used to make disbursements to service a payee account. Client systems can provide the unique identifier for the disbursement in their system as disbursement_reference.

When using the API, clients have the option to pass either the identifiers or the full details for the payee, payee account, and payout method. If details are provided, the API will create new entries if they do not already exist, or update the existing records if they do.

query Parameters
save_payout_method
string
Value: "true"

query param

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Request Body Schema: application/json

JSON containing all the fields required to make a disbursement.

disbursement_reference
string [ 0 .. 50 ] characters [0-9a-zA-Z._-]{0,50}

The unique identifier in the client system for the disbursement.

disbursement_date
required
string 10 characters

The date on which Digital Disbursements will initiate the transaction to credit the Payee. It must be in ISO8601 full-date format, namely, YYYY-MM-DD.

comments
string [ 0 .. 1000 ] characters [0-9a-zA-Z #,.'&/\-@!$%*()_+={}|:;`\[\]\^\~\\"]+

Comments that can be used to recollect the operation performed on the resource object. API clients need to ensure that no sensitive information is passed in the memo. Alacriti (Orbipay) is not responsible for the security of any sensitive information that may be passed as part of the memo.

custom_fields
object

The additional information or meta-information that Digital Disbursements can accept, maintain and transmit back to the client. The custom fields need to be configured with Digital Disbursements before they can be accepted. Digital Disbursements would reject custom fields that are not pre-configured. Please contact support@billerpayments.com for more information on configuring and using custom fields.

amount
required
string [ 1 .. 17 ] characters ^[0-9]{1,14}(\.[0-9][0-9]?)?$

The disbursement amount upto 2 decimal places.

payee
required
Payee Details (object) or Payee ID (object)
payout_method
required
Bank Account (object) or Payout Method ID (object)
payee_account
required
Payee Account Details (object) or Payee Account ID (object)

Responses

201

The Disbursment object with confirmation number and id issued by Digital Disbursements.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

post/disbursements
https://api.orbipay.com/disbursements/v1/disbursements

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Update Disbursement

The API is used to edit a disbursement. Only disbursements in scheduled status can be edited.

path Parameters
ID_DISBURSEMENT
required
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the disbursement.

query Parameters
save_payout_method
string
Value: "true"

query param

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Request Body Schema: application/json

Details of the disbursement to be updated.

payee
required
object
disbursement_date
string 10 characters

The date on which Digital Disbursements will initiate the transaction to credit the Payee. It must be in ISO8601 full-date format, namely, YYYY-MM-DD.

comments
string [ 0 .. 1000 ] characters [0-9a-zA-Z #,.'&/\-@!$%*()_+={}|:;`\[\]\^\~\\"]+

Comments that can be used to recollect the operation performed on the resource object. API clients need to ensure that no sensitive information is passed in the memo. Alacriti (Orbipay) is not responsible for the security of any sensitive information that may be passed as part of the memo.

custom_fields
object

The additional information or meta-information that Digital Disbursements can accept, maintain and transmit back to the client. The custom fields need to be configured with Digital Disbursements before they can be accepted. Digital Disbursements would reject custom fields that are not pre-configured. Please contact support@billerpayments.com for more information on configuring and using custom fields.

amount
string [ 1 .. 17 ] characters ^[0-9]{1,14}(\.[0-9][0-9]?)?$

The disbursement amount upto 2 decimal places.

payout_method
Bank Account (object) or Payout Method ID (object)

Responses

200

The Disbursement with the id provided, duly updated.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

put/disbursements/{ID_DISBURSEMENT}
https://api.orbipay.com/disbursements/v1/disbursements/{ID_DISBURSEMENT}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Delete Disbursement

The API is used to delete or cancel a disbursement. Disbursements that are under processing or have already been processed cannot be deleted.

path Parameters
ID_DISBURSEMENT
required
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the disbursement.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Request Body Schema: application/json

Details of disbursement to be deleted/cancelled

payee
required
object
comments
string [ 0 .. 1000 ] characters [0-9a-zA-Z #,.'&/\-@!$%*()_+={}|:;`\[\]\^\~\\"]+

Comments that can be used to recollect the operation performed on the resource object. API clients need to ensure that no sensitive information is passed in the memo. Alacriti (Orbipay) is not responsible for the security of any sensitive information that may be passed as part of the memo.

Responses

204

Returns 204 http status code with empty body.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

post/disbursements/{ID_DISBURSEMENT}
https://api.orbipay.com/disbursements/v1/disbursements/{ID_DISBURSEMENT}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Retrieve Disbursements

The API is used to retrieve the disbursements made by a payee. Disbursements can be filtered using the confirmation number, payee account, payout method, status and disbursement schedule type and by date range. If no dates are provided for retrieval, disbursements in the last six months and all the disbursements scheduled for a future date are returned. In case a disbursement has failed due to ACH returns, then the disbursement return date and the return code will be available in the response. If the requestor type is payee then the id_payee request parameter is mandatory.

query Parameters
page_size
required
string

The maximum number of objects returned in the query.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Request Body Schema: application/x-www-form-urlencoded
id_payee
required
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the payee.

status
string
Enum: "cancelled" "processed" "processing" "returned" "scheduled" "reversed" "initiated" "declined"

The status of the disbursement.

id_payout_method
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the payout method

id_payee_account
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the payee account

confirmation_number
string [ 1 .. 30 ] characters [a-zA-Z0-9]+

The confirmation number or reference provided to the payee for the successful disbursement.

id_disbursement
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the disbursement.

disbursement_schedule_type
Array of strings
Items Enum: "one_time_disbursement" "autopay_generated_disbursement"

The schedule type for the disbursement. This can take multiple values.

from_date
string

date from which filtering starts

to_date
string

date at which filtering ends

Responses

200

List of disbursements matching the criteria provided, the total results count and the urls to get the next/previous pages.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

post/disbursements/lists
https://api.orbipay.com/disbursements/v1/disbursements/lists

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Retrieve Disbursements Page

This API is used to paginate through the list of disbursements returned in the Retrieve Disbursements API.

query Parameters
page_size
required
string

The maximum number of objects returned in the query.

query_id
required
string [ 1 .. 50 ] characters [a-z0-9]{1,50}

query id of the Retrieve/Search Accounts lookup.

from_index
required
string

The id of the object after which the next set of objects are to be retrieved.

to_index
string

The id of the object before which the previous set of objects are to be retrieved.

id_payee
required
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the payee.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Responses

200

List of disbursements matching the criteria provided, the total results count and the urls to get the next/previous pages.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

get/disbursements/lists
https://api.orbipay.com/disbursements/v1/disbursements/lists

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Disbursement setup

This section outlines the API required to enable payees to manage their disbursement setups.

Create Disbursement Setup

The API is used to set up recurring disbursements to service a payee account.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Request Body Schema: application/json

JSON containing all the fields required to make a disbursement.

disbursement_setup_reference
string [ 0 .. 50 ] characters [0-9a-zA-Z._-]{0,50}

The unique identifier in the client system for the disbursement setup.

disbursement_setup_schedule_type
required
string
Value: "autopay_enrollment"

The schedule type for the disbursement setup.

custom_fields
object

The additional information or meta-information that Digital Disbursements can accept, maintain and transmit back to the client. The custom fields need to be configured with Digital Disbursements before they can be accepted. Digital Disbursements would reject custom fields that are not pre-configured. Please contact support@billerpayments.com for more information on configuring and using custom fields.

comments
string [ 0 .. 1000 ] characters [0-9a-zA-Z #,.'&/\-@!$%*()_+={}|:;`\[\]\^\~\\"]+
payee
required
Payee Details (object) or Payee ID (object)
payout_method
required
Bank Account (object) or Payout Method ID (object)
payee_account
required
Payee Account Details (object) or Payee Account ID (object)

Responses

201

The Disbursment object with confirmation number and id issued by Digital Disbursements.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

post/disbursementsetups
https://api.orbipay.com/disbursements/v1/disbursementsetups

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Update Disbursement Setup

The API is used to edit a disbursement setup.

path Parameters
ID_DISBURSEMENT_SETUP
required
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the disbursement setup.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Request Body Schema: application/json

Details of the disbursement setup to be updated.

payee
required
object
payout_method
Bank Account (object) or Payout Method ID (object)
custom_fields
object

The additional information or meta-information that Digital Disbursements can accept, maintain and transmit back to the client. The custom fields need to be configured with Digital Disbursements before they can be accepted. Digital Disbursements would reject custom fields that are not pre-configured. Please contact support@billerpayments.com for more information on configuring and using custom fields.

comments
string [ 0 .. 1000 ] characters [0-9a-zA-Z #,.'&/\-@!$%*()_+={}|:;`\[\]\^\~\\"]+

Responses

200

The Disbursement with the id provided, duly updated.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

put/disbursementsetups/{ID_DISBURSEMENT_SETUP}
https://api.orbipay.com/disbursements/v1/disbursementsetups/{ID_DISBURSEMENT_SETUP}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Delete Disbursement Setup

The API is used to delete or cancel a disbursement setup.

path Parameters
ID_DISBURSEMENT_SETUP
required
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the disbursement setup.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Request Body Schema: application/json

Details of disbursement setup deleted/cancelled

payee
required
object
comments
string [ 0 .. 1000 ] characters [0-9a-zA-Z #,.'&/\-@!$%*()_+={}|:;`\[\]\^\~\\"]+

Responses

204

Returns 204 http status code with empty body.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

post/disbursementsetups/{ID_DISBURSEMENT_SETUP}
https://api.orbipay.com/disbursements/v1/disbursementsetups/{ID_DISBURSEMENT_SETUP}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Retrieve Disbursement Setups

The API is used to retrieve the autopay disbursement setup made against a payee account. The setup can be filtered using the confirmation number, payee account, payout method, status and disbursement setup schedule type, by date range and others mentioned below. If no dates are provided for retrieval, recurring payments set up in the last six months and all the ones in future are returned. The results are sorted in descending order of the disbursement_start_date followed by the last_modified_time.

query Parameters
page_size
required
string

The maximum number of objects returned in the query.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Request Body Schema: application/x-www-form-urlencoded
id_payee
required
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the payee.

status
string
Enum: "cancelled" "processed" "processing" "returned" "scheduled" "reversed" "initiated" "declined"

The status of the disbursement.

id_payout_method
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the payout method

id_payee_account
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the payee account

confirmation_number
string [ 1 .. 30 ] characters [a-zA-Z0-9]+

The confirmation number or reference provided to the payee for the successful disbursement.

id_disbursement_setup
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the disbursement setup.

disbursement_setup_schedule_type
Array of strings
Items Enum: "one_time_disbursement" "autopay_generated_disbursement"

The schedule type for the disbursement setup. This can take multiple values.

from_date
string

date from which filtering starts

to_date
string

date at which filtering ends

Responses

200

List of disbursements matching the criteria provided, the total results count and the urls to get the next/previous pages.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

post/disbursementsetups/lists
https://api.orbipay.com/disbursements/v1/disbursementsetups/lists

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}

Retrieve Disbursement Setups Page

This API is used to paginate through the list of disbursementsetups returned in the Retrieve Disbursementsetups API.

query Parameters
page_size
required
string

The maximum number of objects returned in the query.

query_id
required
string [ 1 .. 50 ] characters [a-z0-9]{1,50}

query id of the Retrieve/Search Accounts lookup.

from_index
required
string

The id of the object after which the next set of objects are to be retrieved.

to_index
string

The id of the object before which the previous set of objects are to be retrieved.

id_payee
required
string [ 1 .. 20 ] characters [0-9]{1,20}

The unique identifier assigned by Digital Disbursements to the payee.

header Parameters
client_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9_-]{1,50}

The unique identifier assigned by Digital Disbursements to the client.

channel
required
string

The channel through which the API is invoked.

idempotent_request_key
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The unique token that clients can generate and maintain in order to identify an API request. This is used by Digital Disbursements to identify duplicate requests and retries. Please refer to the "Duplicate Requests & Retries" section for more details.

product
required
string
Value: "orbipay_disbursements"

The product identifier corresponding to the API.

requestor_type
required
string
Enum: "payee" "external_user"

Type of the requestor of the API.

requestor
required
string [ 1 .. 50 ] characters [a-zA-Z0-9]{1,50}

The identifier for the requestor of the API.

timestamp
required
string

The timestamp for the moment when the API call is made, in the format yyyy-MM-dd HH:mm:ss.SSSZ. For example, 2018-07-13 11:41:17.422+00:00. Please ensure that consecutive spaces are not used in the timestamp.

trace_id
string [a-zA-Z0-9_=-]{1,50}

The unique reference that can be used for tracing and debugging an API call.

X-OPAY-Headers
string

Intended for future use.

Responses

200

List of disbursements matching the criteria provided, the total results count and the urls to get the next/previous pages.

400

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

403

Forbidden

404

The requested resource doesn't exist.

422

The parameters were valid but the request failed.

500

Something went wrong at the Digital Disbursements Server

get/disbursementsetups/lists
https://api.orbipay.com/disbursements/v1/disbursementsetups/lists

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
}