Unified Money Movement Services offers connectivity to various payment rails like TCH RTP, Visa Direct, NACHA and Fedwire. It includes a set of API and Webhooks that can be used to deliver payment and related capabilities.
This document details the various API involved in the Unified Money Movement Services and how they can be used.
Overview
The requests are authenticated using the api_key
which is shared with the client at the time of client on-boarding.
The client can only invoke those APIs based on the permissions assigned to the api_key
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¶m2=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 |
The HTTP Authorization request header is used to provide authentication information. This header looks like the following.
Authorization : OPAY2-HMAC-SHA256 Credential=...,Signature=...
The constituents of the authorization header are explained in the table below.
Item | Description |
---|---|
OPAY2-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 client_key, api_key , secret_ket,timestamp. The details of computing the input is explained below. |
The string input is computed as follows.
input = client_key:api_key:secret_key:timestamp
The HTTP Authorization request header is used to provide authentication information. This header looks like the following.
Authorization : OPAY3-HMAC-SHA256 Credential=...
The constituents of the authorization header are explained in the table below.
Item | Description |
---|---|
OPAY3-HMAC-SHA256 | The algorithm that is used to calculate the signature. |
Credential | The api_key |
The HTTP Authorization request header is used to provide authentication information. This header looks like the following.
Authorization : Basic YWxhY2hsdGNoazpUTnI5S0VvZlFnOEc1U0s=
The constituents of the authorization header requires user name and password.
HTTP Response Codes
The Unified Money Movement Services API uses the standard HTTP response codes to return the status of an API call. An HTTP response code of 2xx indicates success. An HTTP response code of 4xx indicates a client error and 5xx indicates a processing error. In these cases, the API returns a list of errors.
Error Codes
Each error in the list has a code, message, and specifics on which field the error pertains to (if applicable). In addition to these details, it can also have a list of inner errors that caused this error, on the lines of an Exception Stack trace.
Below table specifies the Error category and Error code.
Error Category | Code |
---|---|
Validation Error | MM-10-XXXXXX. |
Business Error | MM-20-XXXXXX. |
System Error | MM-50-XXXXXX. |
// format
{
"error": [
{
"code": "MM-10-XXXXXX",
"message": "Error message"
}
]
}
The Unified Money Movement Services API supports 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 retry and not reprocessed by the API if all the request parameters, including the path and query parameters, the request headers and the request body, match with an earlier request. 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 retries after a gap of one hour from the original request will be considered as a fresh request.
Create Simple Transfer API is used to transfer funds from a customer's bank account to another bank account or debit card without explicitly adding a beneficiary or beneficiary account. This is useful when the customer wants to make a one-off payment to an account.
name_match | string Indicates card account name match strategy to be followed. |
client_key required | any The unique identifier assigned to the client. |
product required | any The product identifier corresponding to the API. |
payment_channel required | any The FI channel vide which the API is invoked. |
access_channel | any This is internal channel through which the API is invoked. |
requestor_type required | any Identifies the requestor type for the API request. |
client_requestor_reference | any The identifier for the requestor of the API, in the client system. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
requestor | any The identifier for the requestor of the API issued by Orbipay. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
context_variant | any To be used if there's a need to provide additional contextual information. For future use. |
idempotent_request_key required | any The unique token that clients can generate and maintain in order to identify an API request. This is used to identify duplicate requests and retrials. |
timestamp required | any The UTC datetime when the API is invoked, in the ISO 8601 format |
X-PAAS-Headers | any For additional context information such as end user IP address, session information and so on. The content is a list of key-value pairs separated by semicolon (;) where key and value are separated by equals sign(=). |
source required | object The JSON that contains all the attributes of customer to be created. | ||||||||||||||||||
source_account required | bank_account (object) or card_account (object) Indicates source account | ||||||||||||||||||
destination | object The recipient of funds if the recipient is different from the customer.This is required only if destination is not the customer. | ||||||||||||||||||
destination_account required | bank_account (object) or card_account (object) Indicates the recipient account of the payment. | ||||||||||||||||||
amount required | object The amount being transfered from the source account to the destination account. | ||||||||||||||||||
fee | object The fee being charged for the transfer being made. | ||||||||||||||||||
payment_reference required | string [ 1 .. 36 ] characters [0-9a-zA-Z_-]{1,36} The unique identifier that the bank might want to assign for the payment. | ||||||||||||||||||
end_to_end_reference required | string [ 1 .. 35 ] characters The reference for the payment that is passed on from the initiator to the recipient. This is the reference that traces the entire flow of the payment. However, please note that certain payment rails do not support an end to end reference. The maximum length for the end_to_end_reference varies across different payment rails and is outlined below
| ||||||||||||||||||
fulfilment_type | string Enum: "instant" "regular" "instant.TCH_RTP" "instant.FEDNOW" "instant.CARD_VISA" "urgent.SAMEDAY_ACH" "urgent.FEDWIRE" "regular.ACH" | ||||||||||||||||||
payment_date | string 10 characters YYYY-MM-DD | ||||||||||||||||||
purpose | object Indicates purpose of the payemnt. | ||||||||||||||||||
intermediary_agent | Array of objects Intermediary Agent | ||||||||||||||||||
businessfunction_entryclass | VISA (string) or NACHA (string) The payment network specific code corresponding to the business application or function for the transaction. This corresponds to the Business Application Identifier (BAI) in the case of Visa transactions, the Standard Entry Class (SEC) code in the case of ACH transactions and so on. | ||||||||||||||||||
remittance_info | object Information supplied to enable the matching/reconciliation of an entry with the item(s) that the payout is intended to settle, such as bills or RFPs received. |
The Payment object with id and confirmation mumber issued by Unified Money Movement Services.
Bad Request
Unauthorized
Forbidden
The requested resource doesn't exist.
The parameters were valid but the request failed.
Something went wrong and the request could not be processed.
Server Error.
{- "source": {
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string",
- "ssn": "123456789",
- "date_of_birth": "stringstri",
- "customer_reference": "string",
- "party_type": "INDIVIDUAL",
- "address": {
- "address_line1": "1551 South Washington Ave",
- "address_line2": "Suite 130 Piscataway",
- "address_city": "Piscataway",
- "address_state": "NJ",
- "address_country": "USA",
- "address_zip1": "12345",
- "address_zip2": "1234"
}
}, - "source_account": {
- "bank_account": {
- "name_on_account": "Michael Smith",
- "nickname": "Smith",
- "routing_number": "123456789",
- "account_number": "123450206",
- "account_sub_type": "savings",
}
}, - "destination": {
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string",
- "party_type": "INDIVIDUAL",
- "party_identification": [
- {
- "id": "PART1234",
- "id_type": "string"
}
]
}, - "destination_account": {
- "bank_account": {
- "name_on_account": "Michael Smith",
- "nickname": "Smith",
- "routing_number": "123456789",
- "account_number": "123450206",
- "account_sub_type": "savings",
}
}, - "amount": {
- "value": "101.05",
- "currency": "string"
}, - "fee": {
- "value": "5.00",
- "currency": "USD",
- "charged_to": "customer"
}, - "payment_reference": "string",
- "end_to_end_reference": "string",
- "fulfilment_type": "instant",
- "payment_date": "stringstri",
- "purpose": {
- "code": "string",
- "description": "string"
}, - "intermediary_agent": [
- {
- "name_on_account": "Michael Smith",
- "account_routing_scheme": "string",
- "routing_number": "Smith",
- "account_number": "123450206",
- "account_sub_type": "savings"
}
], - "businessfunction_entryclass": "VISA.BAI.AA",
- "remittance_info": {
- "comment": "string",
- "additional_info": [
- {
- "document_reference": "string",
- "document_type": "RPIN",
- "document_date": "stringstri",
- "document_amounts": [
- {
- "amount_type": "due_payable_amount",
- "value": "101.05",
- "currency": "string"
}
]
}
]
}
}
{- "id": "string",
- "confirmation_number": "string",
- "source": {
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string",
- "customer_reference": "string",
- "ssn": "123456789",
- "date_of_birth": "stringstri",
- "party_type": "INDIVIDUAL",
- "address": {
- "address_line1": "1551 South Washington Ave",
- "address_line2": "Suite 130 Piscataway",
- "address_city": "Piscataway",
- "address_state": "NJ",
- "address_country": "USA",
- "address_zip1": "12345",
- "address_zip2": "1234"
}
}, - "source_account": {
- "bank_account": {
- "name_on_account": "Michael Smith",
- "nickname": "Smith",
- "routing_number": "123456789",
- "account_number": "123450206",
- "account_sub_type": "savings",
- "status": "active",
- "account_type": "bank"
}
}, - "destination": {
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string",
- "party_type": "INDIVIDUAL",
- "party_identification": [
- {
- "id": "PART1234",
- "id_type": "string"
}
]
}, - "destination_account": {
- "bank_account": {
- "name_on_account": "Michael Smith",
- "nickname": "Smith",
- "routing_number": "123456789",
- "account_number": "123450206",
- "account_sub_type": "savings",
- "status": "active",
- "account_type": "bank"
}
}, - "amount": {
- "value": "101.05",
- "currency": "string"
}, - "fee": {
- "value": "5.00",
- "currency": "USD",
- "charged_to": "customer"
}, - "payment_reference": "string",
- "end_to_end_reference": "string",
- "hub_instruction_id": "string",
- "businessfunction_entryclass": "VISA.BAI.AA",
- "remittance_info": {
- "comment": "string",
- "additional_info": [
- {
- "document_reference": "string",
- "document_type": "RPIN",
- "document_date": "stringstri",
- "document_amounts": [
- {
- "amount_type": "due_payable_amount",
- "value": "101.05",
- "currency": "string"
}
]
}
]
}, - "payment_date": "stringstri",
- "value_date": "stringstri",
- "payment_method": "TCH_RTP",
- "fulfilment_type": "instant",
- "status": "success",
- "initiation_type": "push",
- "payment_orientation": "sent",
- "status_reason_info": {
- "reason_code": "string",
- "additional_info": "string"
}, - "network_reference": [
- {
- "key": "string",
- "value": "string"
}
], - "purpose": {
- "code": "string",
- "description": "string"
}, - "intermediary_agent": [
- {
- "name_on_account": "Michael Smith",
- "account_routing_scheme": "string",
- "routing_number": "Smith",
- "account_number": "123450206",
- "account_sub_type": "savings"
}
]
}
Fund the new account being opened, charge account opening fees and more using the Collect Fund and Settle Fund API.
Collect Fund API is used to collect the fund for newly opened account.
name_match | string Indicates card account name match strategy to be followed. |
client_key required | any The unique identifier assigned to the client. |
product required | any The product identifier corresponding to the API. |
payment_channel required | any The FI channel vide which the API is invoked. |
access_channel | any This is internal channel through which the API is invoked. |
requestor_type required | any Identifies the requestor type for the API request. |
client_requestor_reference | any The identifier for the requestor of the API, in the client system. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
requestor | any The identifier for the requestor of the API issued by Orbipay. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
context_variant | any To be used if there's a need to provide additional contextual information. For future use. |
idempotent_request_key required | any The unique token that clients can generate and maintain in order to identify an API request. This is used to identify duplicate requests and retrials. |
timestamp required | any The UTC datetime when the API is invoked, in the ISO 8601 format |
X-PAAS-Headers | any For additional context information such as end user IP address, session information and so on. The content is a list of key-value pairs separated by semicolon (;) where key and value are separated by equals sign(=). |
source required | object The JSON that contains all the attributes of party opening the account. | ||||||||||||||||||
source_account required | card_account (object) The account used to fund the newly opened account. | ||||||||||||||||||
destination required | object The party who is opening the account. | ||||||||||||||||||
amount required | object Initial deposits to the account being opened. | ||||||||||||||||||
fee | object The total charges levied to the customer for account opening. | ||||||||||||||||||
payment_reference required | string [ 1 .. 36 ] characters [0-9a-zA-Z_-]{1,36} The unique identifier that the bank might want to assign for the payment. | ||||||||||||||||||
end_to_end_reference required | string [ 1 .. 35 ] characters The reference for the payment that is passed on from the initiator to the recipient. This is the reference that traces the entire flow of the payment. However, please note that certain payment rails do not support an end to end reference. The maximum length for the end_to_end_reference varies across different payment rails and is outlined below
| ||||||||||||||||||
fulfilment_type | string Value: "instant" | ||||||||||||||||||
remittance_info | object Information supplied to enable the matching/reconciliation of the payment. |
The Payment object with id and confirmation mumber issued by Unified Money Movement Services.
Bad Request
Unauthorized
Forbidden
The requested resource doesn't exist.
The parameters were valid but the request failed.
Something went wrong and the request could not be processed.
Server Error.
{- "source": {
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string",
- "ssn": "123456789",
- "customer_reference": "string",
- "address": {
- "address_line1": "1551 South Washington Ave",
- "address_line2": "Suite 130 Piscataway",
- "address_city": "Piscataway",
- "address_state": "NJ",
- "address_country": "USA",
- "address_zip1": "12345",
- "address_zip2": "1234"
}
}, - "source_account": {
- "last_name": "Michael",
- "first_name": "Smith",
- "middle_name": "Smith",
- "owner_type": 1,
- "card_number": "string",
- "expiry_date": "strings",
- "cvv": "",
- "phone": "string",
- "address": {
- "address_line1": "1551 South Washington Ave",
- "address_line2": "Suite 130 Piscataway",
- "address_city": "Piscataway",
- "address_state": "NJ",
- "address_country": "USA",
- "address_zip1": "12345",
- "address_zip2": "1234"
}
}, - "destination": {
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string"
}, - "amount": {
- "value": "101.05",
- "currency": "string"
}, - "fee": {
- "value": "5.00",
- "currency": "USD",
- "charged_to": "customer"
}, - "payment_reference": "string",
- "end_to_end_reference": "string",
- "fulfilment_type": "instant",
- "remittance_info": {
- "comment": "string",
- "additional_info": [
- {
- "document_reference": "string",
- "document_type": "VCHR",
- "document_date": "stringstri"
}
]
}
}
{- "id": "string",
- "confirmation_number": "string",
- "source": {
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string",
- "ssn": "123456789",
- "customer_reference": "string",
- "address": {
- "address_line1": "1551 South Washington Ave",
- "address_line2": "Suite 130 Piscataway",
- "address_city": "Piscataway",
- "address_state": "NJ",
- "address_country": "USA",
- "address_zip1": "12345",
- "address_zip2": "1234"
}
}, - "source_account": {
- "last_name": "Michael",
- "first_name": "Smith",
- "middle_name": "Smith",
- "owner_type": 1,
- "card_number": "string",
- "expiry_date": "strings",
- "phone": "string",
- "account_type": "card",
- "account_sub_type": "debit",
- "address": {
- "address_line1": "1551 South Washington Ave",
- "address_line2": "Suite 130 Piscataway",
- "address_city": "Piscataway",
- "address_state": "NJ",
- "address_country": "USA",
- "address_zip1": "12345",
- "address_zip2": "1234"
}
}, - "destination": {
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string"
}, - "amount": {
- "value": "101.05",
- "currency": "string"
}, - "fee": {
- "value": "5.00",
- "currency": "USD",
- "charged_to": "customer"
}, - "payment_reference": "string",
- "end_to_end_reference": "string",
- "fulfilment_type": "instant",
- "payment_date": "stringstri",
- "status": "success",
- "initiation_type": "pull",
- "payment_orientation": "received",
- "remittance_info": {
- "comment": "string",
- "additional_info": [
- {
- "document_reference": "string",
- "document_type": "VCHR",
- "document_date": "stringstri"
}
]
}
}
Settle Fund API is used to settle the fund collected using the Collect Fund API to the respective DDAs being opened or the associated fee and other charges accounts.
client_key required | any The unique identifier assigned to the client. |
product required | any The product identifier corresponding to the API. |
payment_channel required | any The FI channel vide which the API is invoked. |
access_channel | any This is internal channel through which the API is invoked. |
requestor_type required | any Identifies the requestor type for the API request. |
client_requestor_reference | any The identifier for the requestor of the API, in the client system. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
requestor | any The identifier for the requestor of the API issued by Orbipay. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
context_variant | any To be used if there's a need to provide additional contextual information. For future use. |
idempotent_request_key required | any The unique token that clients can generate and maintain in order to identify an API request. This is used to identify duplicate requests and retrials. |
timestamp required | any The UTC datetime when the API is invoked, in the ISO 8601 format |
X-PAAS-Headers | any For additional context information such as end user IP address, session information and so on. The content is a list of key-value pairs separated by semicolon (;) where key and value are separated by equals sign(=). |
source required | object The JSON that contains all the attributes of party opening the account. | ||||||||||||||||||
destination required | object The recipient of funds. | ||||||||||||||||||
destination_account required | bank_account (object) Indicates the recipient account of the payment. | ||||||||||||||||||
amount required | object Amount being settled. | ||||||||||||||||||
payment_reference required | string [ 1 .. 36 ] characters [0-9a-zA-Z_-]{1,36} The unique identifier that the bank might want to assign for the payment. | ||||||||||||||||||
end_to_end_reference required | string [ 1 .. 35 ] characters The reference for the payment that is passed on from the initiator to the recipient. This is the reference that traces the entire flow of the payment. However, please note that certain payment rails do not support an end to end reference. The maximum length for the end_to_end_reference varies across different payment rails and is outlined below
| ||||||||||||||||||
fulfilment_type | string Enum: "instant" "instant.BOOK_TRANSFER" "instant.TCH_RTP" "instant.FEDNOW" "urgent.FEDWIRE" | ||||||||||||||||||
remittance_info | object Information supplied to enable the matching/reconciliation of the payment. |
The Payment object with id and confirmation mumber issued by Unified Money Movement Services.
Bad Request
Unauthorized
Forbidden
The requested resource doesn't exist.
The parameters were valid but the request failed.
Something went wrong and the request could not be processed.
Server Error.
{- "source": {
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string",
- "ssn": "123456789",
- "customer_reference": "string",
- "address": {
- "address_line1": "1551 South Washington Ave",
- "address_line2": "Suite 130 Piscataway",
- "address_city": "Piscataway",
- "address_state": "NJ",
- "address_country": "USA",
- "address_zip1": "12345",
- "address_zip2": "1234"
}
}, - "destination": {
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string"
}, - "destination_account": {
- "name_on_account": "Michael Smith",
- "routing_number": "123456789",
- "account_number": "123450206",
- "account_number_format": "MICR",
- "account_sub_type": "savings"
}, - "amount": {
- "value": "101.05",
- "currency": "string"
}, - "payment_reference": "string",
- "end_to_end_reference": "string",
- "fulfilment_type": "instant",
- "remittance_info": {
- "comment": "string",
- "additional_info": [
- {
- "document_reference": "string",
- "document_type": "VCHR",
- "document_date": "stringstri"
}
]
}
}
{- "id": "string",
- "confirmation_number": "string",
- "source": {
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string",
- "ssn": "123456789",
- "customer_reference": "string",
- "address": {
- "address_line1": "1551 South Washington Ave",
- "address_line2": "Suite 130 Piscataway",
- "address_city": "Piscataway",
- "address_state": "NJ",
- "address_country": "USA",
- "address_zip1": "12345",
- "address_zip2": "1234"
}
}, - "destination": {
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string"
}, - "destination_account": {
- "name_on_account": "Michael Smith",
- "routing_number": "123456789",
- "account_number": "123450206",
- "account_number_format": "MICR",
- "account_sub_type": "savings"
}, - "amount": {
- "value": "101.05",
- "currency": "string"
}, - "payment_reference": "string",
- "end_to_end_reference": "string",
- "fulfilment_type": "instant",
- "payment_method": "TCH_RTP",
- "payment_date": "stringstri",
- "status": "success",
- "initiation_type": "push",
- "payment_orientation": "sent",
- "remittance_info": {
- "comment": "string",
- "additional_info": [
- {
- "document_reference": "string",
- "document_type": "VCHR",
- "document_date": "stringstri"
}
]
}
}
client_key required | string The unique identifier assigned to the client. |
product required | string The product identifier corresponding to the API. |
payment_channel required | string The FI channel vide which the API is invoked. |
access_channel | string This is internal channel through which the API is invoked. |
requestor_type required | string Identifies the requestor type for the API request. |
client_requestor_reference | string The identifier for the requestor of the API, in the client system. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
requestor | string The identifier for the requestor of the API issued by Orbipay. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
context_variant | string To be used if there's a need to provide additional contextual information. For future use. |
idempotent_request_key required | string The unique token that clients can generate and maintain in order to identify an API request. This is used to identify duplicate requests and retrials. |
timestamp required | string The UTC datetime when the API is invoked, in the ISO 8601 format |
processing_mode | string Indicates whether the transaction will be processed synchronously or asynchronously, in a non-blocking fashion. |
X-PAAS-Headers | string For additional context information such as end user IP address, session information and so on. The content is a list of key-value pairs separated by semicolon (;) where key and value are separated by equals sign(=). |
destination | object |
destination_account required | object Indicates the recipient account of the payout. |
amount required | Array of objects amount |
amount_modification_allowed | boolean Enum: true false Indicates if the person is allowed to pay a different amount then the requested amount. |
requested_execution_date required | string |
expiry_date | string |
early_payment_allowed | boolean Enum: true false Indicates if the person is allowed to pay before the requested execution date. |
additional_info | Array of objects Information supplied to enable the matching/reconciliation of an entry with the item(s) that the payout is intended to settle, such as bills or RFPs received. |
Success
Bad Request
System Error.
Server Error.
{- "destination": {
- "customer_id": "string",
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string"
}, - "destination_account": {
- "bank_account": {
- "name_on_account": "Michael Smith",
- "nickname": "Smith",
- "routing_number": "123456789",
- "account_number": "123450206",
- "account_sub_type": "savings"
}
}, - "amount": [
- {
- "value": "101.05",
- "currency": "string"
}
], - "amount_modification_allowed": true,
- "requested_execution_date": "string",
- "expiry_date": "string",
- "early_payment_allowed": true,
- "additional_info": [
- {
- "document_reference": "string",
- "document_type": "RPIN",
- "document_date": "stringstri",
- "document_amounts": [
- {
- "amount_type": "due_payable_amount",
- "value": "101.05",
- "currency": "string"
}
]
}
]
}
{- "id": "string",
- "hub_instruction_id": "string",
- "destination": {
- "customer_id": "string",
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string"
}, - "destination_account": {
- "bank_account": {
- "name_on_account": "Michael Smith",
- "nickname": "Smith",
- "routing_number": "123456789",
- "account_number": "123450206",
- "account_sub_type": "savings"
}
}, - "amount": [
- {
- "value": "101.05",
- "currency": "string"
}
], - "amount_modification_allowed": true,
- "requested_execution_date": "string",
- "expiry_date": "string",
- "early_payment_allowed": true,
- "additional_info": [
- {
- "document_reference": "string",
- "document_type": "RPIN",
- "document_date": "stringstri",
- "document_amounts": [
- {
- "amount_type": "due_payable_amount",
- "value": "101.05",
- "currency": "string"
}
]
}
], - "status": "success"
}
client_key required | string The unique identifier assigned to the client. |
product required | string The product identifier corresponding to the API. |
payment_channel required | string The FI channel vide which the API is invoked. |
access_channel | string This is internal channel through which the API is invoked. |
requestor_type required | string Identifies the requestor type for the API request. |
client_requestor_reference | string The identifier for the requestor of the API, in the client system. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
requestor | string The identifier for the requestor of the API issued by Orbipay. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
context_variant | string To be used if there's a need to provide additional contextual information. For future use. |
idempotent_request_key required | string The unique token that clients can generate and maintain in order to identify an API request. This is used to identify duplicate requests and retrials. |
timestamp required | string The UTC datetime when the API is invoked, in the ISO 8601 format |
X-PAAS-Headers | string For additional context information such as end user IP address, session information and so on. The content is a list of key-value pairs separated by semicolon (;) where key and value are separated by equals sign(=). |
id required | string [ 0 .. 20 ] characters [0-9]{1,20} The unique identifier assigned to rfp. |
external_reference | string [ 0 .. 50 ] characters [0-9a-zA-Z._-]{0,50} The unique identifier that the client might want to assign for the rfp. |
cancellation_reason | string [ 1 .. 100 ] characters [0-9a-zA-Z._-]{0,50} The Cancellaton reason. |
reject_payment | boolean Enum: true false Indicates if the cancellation is not possible the if payment should be rejected or not. |
Success
Bad Request
System Error.
Server Error.
{- "id": "string",
- "external_reference": "string",
- "cancellation_reason": "string",
- "reject_payment": true
}
{- "error": [
- {
- "code": "string",
- "message": "string",
- "target": "string",
- "innerError": [
- { }
]
}
]
}
The API is used to accept or reject an RFP received earlier. This is, in turn, communicated to the sender of the RFP (creditor). Accepting an RFP does not automatically originate a credit transfer against the RFP. This will have to be initiated explicitly per the terms of the RFP that have been accepted.
rfp_id required | string The reference of the RFP received that is being accepted or rejected. |
client_key required | string The unique identifier assigned to the client. |
product required | string The product identifier corresponding to the API. |
payment_channel required | string The FI channel vide which the API is invoked. |
access_channel | string This is internal channel through which the API is invoked. |
requestor_type required | string Identifies the requestor type for the API request. |
client_requestor_reference | string The identifier for the requestor of the API, in the client system. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
requestor | string The identifier for the requestor of the API issued by Orbipay. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
context_variant | string To be used if there's a need to provide additional contextual information. For future use. |
idempotent_request_key required | string The unique token that clients can generate and maintain in order to identify an API request. This is used to identify duplicate requests and retrials. |
timestamp required | string The UTC datetime when the API is invoked, in the ISO 8601 format |
X-PAAS-Headers | string For additional context information such as end user IP address, session information and so on. The content is a list of key-value pairs separated by semicolon (;) where key and value are separated by equals sign(=). |
action required | string Enum: "accepted" "rejected" Indicates if the RFP is being accepted or rejected. |
comment | string [ 1 .. 100 ] characters [0-9a-zA-Z._-]{0,100} Customer’s comments or memo on the RFP being accepted or rejected. |
Success
Bad Request
Unauthorized
Forbidden
The requested resource doesn't exist.
The parameters were valid but the request failed.
Something went wrong and the request could not be processed.
Server Error.
{- "action": "accepted",
- "comment": "string"
}
{- "error": [
- {
- "code": "string",
- "message": "string",
- "target": "string",
- "innerError": [
- { }
]
}
]
}
Get Payment Status API returns the current status of payment.
client_key required | any The unique identifier assigned to the client. |
product required | any The product identifier corresponding to the API. |
payment_channel required | any The FI channel vide which the API is invoked. |
access_channel | any This is internal channel through which the API is invoked. |
requestor_type required | any Identifies the requestor type for the API request. |
client_requestor_reference | any The identifier for the requestor of the API, in the client system. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
requestor | any The identifier for the requestor of the API issued by Orbipay. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
context_variant | any To be used if there's a need to provide additional contextual information. For future use. |
idempotent_request_key required | any The unique token that clients can generate and maintain in order to identify an API request. This is used to identify duplicate requests and retrials. |
timestamp required | any The UTC datetime when the API is invoked, in the ISO 8601 format |
X-PAAS-Headers | any For additional context information such as end user IP address, session information and so on. The content is a list of key-value pairs separated by semicolon (;) where key and value are separated by equals sign(=). |
payment_reference | string [ 1 .. 36 ] characters [0-9a-zA-Z_-]{1,36} The unique identifier that the bank might want to assign for the payment. |
id | string The unique identifier assigned by Unified Money Movement Services to payment. Constraints: CMM11 |
The Payment object with id and confirmation mumber issued by Unified Money Movement Services.
Bad Request
Unauthorized
Forbidden
The requested resource doesn't exist.
The parameters were valid but the request failed.
Something went wrong and the request could not be processed.
Server Error.
{- "payment_reference": "string",
- "id": "string"
}
{- "payment_reference": "string",
- "id": "string",
- "hub_instruction_id": "string",
- "confirmation_number": "string",
- "status": "scheduled",
- "status_reason_info": {
- "reason_code": "string",
- "additional_info": "string"
}
}
The API is used to get information on the Routing and Transit Number. It returns the details of the corresponding Participant in the RTP Network, the RTP messages that it supports and the current status of the participant.
routing_number required | string The Routing Number for which the real-time capabilities need to be checked. |
client_key required | any The unique identifier assigned to the client. |
product required | any The product identifier corresponding to the API. |
payment_channel required | any The FI channel vide which the API is invoked. |
access_channel | any This is internal channel through which the API is invoked. |
requestor_type required | any Identifies the requestor type for the API request. |
client_requestor_reference | any The identifier for the requestor of the API, in the client system. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
requestor | any The identifier for the requestor of the API issued by Orbipay. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
context_variant | any To be used if there's a need to provide additional contextual information. For future use. |
idempotent_request_key required | any The unique token that clients can generate and maintain in order to identify an API request. This is used to identify duplicate requests and retrials. |
timestamp required | any The UTC datetime when the API is invoked, in the ISO 8601 format |
X-PAAS-Headers | any For additional context information such as end user IP address, session information and so on. The content is a list of key-value pairs separated by semicolon (;) where key and value are separated by equals sign(=). |
Success
Bad Request
Unauthorized
Forbidden
The requested resource doesn't exist.
The parameters were valid but the request failed.
Something went wrong and the request could not be processed.
Server Error.
{- "routing_number": "011401533",
- "participants": [
- {
- "network": "TCH_RTP",
- "participant_name": "FI Branch",
- "financial_institution": "FI sample",
- "receive_services": "CRDT, RFP, ACK, RMT, RFI, RFRF, RFPR, RFIR, RFRFR",
- "status": "online",
- "intermediary_agent": [
- {
- "routing_number": "Smith",
- "financial_institution": "ABC Bank National Association"
}
]
}
]
}
The API is used to validate a card for payment.
name_match | string Indicates card account name match strategy to be followed. |
client_key required | any The unique identifier assigned to the client. |
product required | any The product identifier corresponding to the API. |
payment_channel required | any The FI channel vide which the API is invoked. |
access_channel | any This is internal channel through which the API is invoked. |
requestor_type required | any Identifies the requestor type for the API request. |
client_requestor_reference | any The identifier for the requestor of the API, in the client system. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
requestor | any The identifier for the requestor of the API issued by Orbipay. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
context_variant | any To be used if there's a need to provide additional contextual information. For future use. |
idempotent_request_key required | any The unique token that clients can generate and maintain in order to identify an API request. This is used to identify duplicate requests and retrials. |
timestamp required | any The UTC datetime when the API is invoked, in the ISO 8601 format |
X-PAAS-Headers | any For additional context information such as end user IP address, session information and so on. The content is a list of key-value pairs separated by semicolon (;) where key and value are separated by equals sign(=). |
businessfunction_entryclass | VISA (string) The payment network specific code corresponding to the business application or function for the transaction. This corresponds to the Business Application Identifier (BAI) in the case of Visa transactions. |
card_account | object |
Success
Bad Request
Unauthorized
Forbidden
The requested resource doesn't exist.
The parameters were valid but the request failed.
Something went wrong and the request could not be processed.
Server Error.
{- "businessfunction_entryclass": "VISA.BAI.AA",
- "card_account": {
- "account_holder_id": "string",
- "nickname": "Smith",
- "account_holder_type": "customer",
- "last_name": "Michael",
- "first_name": "Smith",
- "middle_name": "Smith",
- "owner_type": 1,
- "card_number": "string",
- "expiry_date": "strings",
- "cvv": "",
- "phone": "string",
- "address": {
- "address_line1": "1551 South Washington Ave",
- "address_line2": "Suite 130 Piscataway",
- "address_city": "Piscataway",
- "address_state": "NJ",
- "address_country": "USA",
- "address_zip1": "12345",
- "address_zip2": "1234"
}
}
}
{- "card_account": {
- "account_holder_id": "string",
- "nickname": "Smith",
- "account_holder_type": "customer",
- "last_name": "Michael",
- "first_name": "Smith",
- "middle_name": "Smith",
- "owner_type": 1,
- "card_number": "string",
- "expiry_date": "strings",
- "cvv": "",
- "card_type": "master",
- "account_sub_type": "debit",
- "issuer_name": "string",
- "phone": "string",
- "address": {
- "address_line1": "1551 South Washington Ave",
- "address_line2": "Suite 130 Piscataway",
- "address_city": "Piscataway",
- "address_state": "NJ",
- "address_country": "USA",
- "address_zip1": "12345",
- "address_zip2": "1234"
}
}, - "verification_result": {
- "status": "approved",
- "name_match_result_code": "string",
- "services_supported": [
- [
- {
- "key": null,
- "value": null
}
]
], - "status_reason_info": {
- "reason_code": "string",
- "additional_info": "string"
}
}
}
The API is used to evaluate the fee for a transaction.
client_key required | any The unique identifier assigned to the client. |
product required | any The product identifier corresponding to the API. |
payment_channel required | any The FI channel vide which the API is invoked. |
access_channel | any This is internal channel through which the API is invoked. |
requestor_type required | any Identifies the requestor type for the API request. |
client_requestor_reference | any The identifier for the requestor of the API, in the client system. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
requestor | any The identifier for the requestor of the API issued by Orbipay. Either the client_requestor_reference or the requestor has to be available in every API request for audit purposes. |
context_variant | any To be used if there's a need to provide additional contextual information. For future use. |
idempotent_request_key required | any The unique token that clients can generate and maintain in order to identify an API request. This is used to identify duplicate requests and retrials. |
timestamp required | any The UTC datetime when the API is invoked, in the ISO 8601 format |
X-PAAS-Headers | any For additional context information such as end user IP address, session information and so on. The content is a list of key-value pairs separated by semicolon (;) where key and value are separated by equals sign(=). |
source required | object The JSON that contains all the attributes of customer to be created. |
source_account required | bank_account (object) or card_account (object) Indicates source account |
destination required | object The recipient of funds if the recipient is different from the customer.This is required only if destination is not the customer. |
destination_account required | bank_account (object) or card_account (object) Indicates the recipient account of the payment. |
amount required | object The amount being transfered from the source account to the destination account. |
businessfunction_entryclass required | VISA (string) or NACHA (string) The payment network specific code corresponding to the business application or function for the transaction. This corresponds to the Business Application Identifier (BAI) in the case of Visa transactions, the Standard Entry Class (SEC) code in the case of ACH transactions and so on. |
fulfilment_type required | string Enum: "instant" "instant.TCH_RTP" "instant.FEDNOW" "urgent.FEDWIRE" "xb.fedwire" "xb.fedwire.convera" |
Success
Bad Request
Unauthorized
Forbidden
The requested resource doesn't exist.
The parameters were valid but the request failed.
Something went wrong and the request could not be processed.
Server Error.
{- "source": {
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string",
- "ssn": "123456789",
- "date_of_birth": "stringstri",
- "customer_reference": "string",
- "party_type": "INDIVIDUAL",
- "address": {
- "address_line1": "1551 South Washington Ave",
- "address_line2": "Suite 130 Piscataway",
- "address_city": "Piscataway",
- "address_state": "NJ",
- "address_country": "USA",
- "address_zip1": "12345",
- "address_zip2": "1234"
}
}, - "source_account": {
- "bank_account": {
- "name_on_account": "Michael Smith",
- "nickname": "Smith",
- "routing_number": "123456789",
- "account_number": "123450206",
- "account_sub_type": "savings",
}
}, - "destination": {
- "id": "string",
- "name": "Michael",
- "email": "userid@example.com",
- "phone": "string"
}, - "destination_account": {
- "bank_account": {
- "name_on_account": "Michael Smith",
- "nickname": "Smith",
- "routing_number": "123456789",
- "account_number": "123450206",
- "account_sub_type": "savings",
}
}, - "amount": {
- "value": "101.05",
- "currency": "string"
}, - "businessfunction_entryclass": "VISA.BAI.AA",
- "fulfilment_type": "instant"
}
{- "source_account": {
- "bank_account": {
- "name_on_account": "Michael Smith",
- "nickname": "Smith",
- "routing_number": "123456789",
- "account_number": "123450206",
- "account_sub_type": "savings",
}
}, - "destination_account": {
- "bank_account": {
- "name_on_account": "Michael Smith",
- "nickname": "Smith",
- "routing_number": "123456789",
- "account_number": "123450206",
- "account_sub_type": "savings",
}
}, - "amount": {
- "value": "101.05",
- "currency": "string"
}, - "businessfunction_entryclass": "VISA.BAI.AA",
- "fulfilment_type": "instant",
- "fee": {
- "value": "5.00",
- "currency": "USD",
- "charged_to": "customer"
}
}
API returns the status of application, it is up or down.It will be accessible with HTTP BASIC Authentication.
The Json file with the current status of application.
Bad Request
Unauthorized
Forbidden
The requested resource doesn't exist.
The parameters were valid but the request failed.
Something went wrong and the request could not be processed.
Server Error.
[- {
- "product": "string",
- "status": null,
- "last_updated": null
}
]