Changelog

PHP Library Reference

BaseResponse

All the responses have the fields described here. Meaning all the responses described below in the document will have following fields besides the ones specific to each response.

ParameterTypeDescription
operationIDstringUnique ID generated to identify a specific operation.
successbooleanReturns true if request is successful and false otherwise.
statusstringThe status of the job.

done - Operation Completed.
failed - Operation Failed.
user_input_required - Pending User Input.
initialized - Operation In Progress.

For further explanation see Operation Statuses.
userInputsarrayArray of userInput objects, that are needed to complete this operation.

Specifies the type of further information required from the user before the job can be completed.

Note: It's only returned if operation status is user_input_required
typestringType of error encountered.

Note: It's only returned if operation status is failed
msgstringDetailed description of the error.

Note: It's only returned if operation status is failed

userInput Object

ParameterTypeDescription
idstringType of input required.

You can read more about user input types on User Input Types.
querystringTextual description of what is required from the user side.
indexintIs used in case more than one user input is requested.
Will always be 0 If only one input is requested.
answerstringUser input that must be submitted. In the response it will always be empty.

Methods

auth->exchangeToken

Method is used to obtain user's permanent access token by exchanging it with access code received during the user authentication (user login).

Note:

You can read more about how to obtain a permanent token on Obtain an Access Token.

Method Description
function exchangeToken($accessCode, $connectionID)
Input Parameters
ParameterTypeDescription
accessCode
REQUIRED
stringUnique code for a user’s successful login to Connect. Returned in the response of UserLogin.
connectionID
REQUIRED
stringThe connectionID from a user’s successful log in to Connect.
Response

In addition to the fields described in the BaseResponse, it has the following fields, which will only be returned if the status is done:

ParameterTypeDescription
AccessTokenstringA unique permanent token linked to the user.

data->getIdentity

Method is used to retrieve personal details about the user.

Method Description
function getIdentity($accessToken, $userSecret, $userInputs = [], $operationID = "")
Input Parameters
ParameterTypeDescription
accessToken
REQUIRED
stringAccess Token obtained using the ExchangeToken method.
userSecret
REQUIRED
stringThe userSecret from a user’s successful log in to Connect.
operationID
OPTIONAL
stringThe OperationID from a previous call's response.
Required only when resuming a previous call that responded with user_input_required status, to provided user inputs.
userInputs
OPTIONAL
arrayArray of UserInput object, that are needed to complete this operation.
Required only if a previous call responded with user_input_required status.

You can read more about user inputs specification on Specify User Input
userInput Object
ParameterTypeDescription
IdstringType of input required.

You can read more about user input types on User Input Types.
IndexintIs used in case more than one user input is requested.
Will always be 0 If only one input is requested.
AnswerstringUser input that must be submitted.
Response

In addition to the fields described in the BaseResponse, it has the following fields, which will only be returned if the status is done:

ParameterTypeDescription
identityarrayAn object (associative array) containing the identity data of the user.

data->getAccounts

Method is used to retrieve list of all the bank accounts registered on the user. The list will contain all types of bank accounts.

Method Description
function getAccounts($accessToken, $userSecret, $userInputs = [], $operationID = "")
Input Parameters
ParameterTypeDescription
accessToken
REQUIRED
stringAccess Token obtained using the ExchangeToken method.
userSecret
REQUIRED
stringThe userSecret from a user’s successful log in to Connect.
operationID
OPTIONAL
stringThe OperationID from a previous call's response.
Required only when resuming a previous call that responded with user_input_required status, to provided user inputs.
userInputs
OPTIONAL
arrayArray of UserInput object, that are needed to complete this operation.
Required only if a previous call responded with user_input_required status.

You can read more about user inputs specification on Specify User Input
userInput Object
ParameterTypeDescription
idstringType of input required.

You can read more about user input types on User Input Types.
indexintIs used in case more than one user input is requested.
Will always be 0 If only one input is requested.
answerstringUser input that must be submitted.
Response

In addition to the fields described in the BaseResponse, it has the following fields, which will only be returned if the status is done:

ParameterTypeDescription
AccountsarrayAn array containing the accounts data of the user.

data->getBalance

Method is used to retrieve balance on specific bank account of the user.

Method Description
function getBalance($accessToken, $userSecret, $accountID, $userInputs = [], $operationID = "")
Input Parameters
ParameterTypeDescription
accountID
REQUIRED
stringThe bank account ID which its balance is requested.
Retrieved from one of the accounts returned from the GetAccounts method.
accessToken
REQUIRED
stringAccess Token obtained using the ExchangeToken method.
userSecret
REQUIRED
stringThe userSecret from a user’s successful log in to Connect.
operationID
OPTIONAL
stringThe OperationID from a previous call's response.
Required only when resuming a previous call that responded with user_input_required status, to provided user inputs.
userInputs
OPTIONAL
arrayArray of UserInput object, that are needed to complete this operation.
Required only if a previous call responded with user_input_required status.

You can read more about user inputs specification on Specify User Input
userInput Object
ParameterTypeDescription
idstringType of input required.

You can read more about user input types on User Input Types.
indexintIs used in case more than one user input is requested.
Will always be 0 If only one input is requested.
answerstringUser input that must be submitted.
Response

In addition to the fields described in the BaseResponse, it has the following fields, which will only be valid if the status is done:

ParameterTypeDescription
BalanceBalanceAn object (associative array) containing the account's balance information.

data->getTransactions

Method is used to retrieve transactions that user has performed over a specific period of time from their bank account. The transaction list is unfiltered, meaning the response will contain all the transactions performed by the user (not just the transactions performed using your app).

Date range of the transactions that can be retrieved varies for each bank. The range supported by the users bank is shown in the response parameter transactionRange of Get Accounts Metadata endpoint.

Method Description
function getTransactions($accessToken, $userSecret, $accountID, $fromDate, $toDate, $userInputs = [], $operationID = "")
Input Parameters
ParameterTypeDescription
accountID
REQUIRED
stringThe bank account ID which its transactions are requested.
Retrieved from one of the accounts returned from the getAccounts method.
fromDate
REQUIRED
stringThe start date of the transactions wanted.
It should be in this format: YYYY-MM-DD
toDate
REQUIRED
stringThe end date of the transactions wanted.
It should be in this format: YYYY-MM-DD
accessToken
REQUIRED
stringAccess Token obtained using the ExchangeToken method.
userSecret
REQUIRED
stringThe userSecret from a user’s successful log in to Connect.
operationID
OPTIONAL
stringThe OperationID from a previous call's response.
Required only when resuming a previous call that responded with user_input_required status, to provided user inputs.
userInputs
OPTIONAL
arrayArray of UserInput object, that are needed to complete this operation.
Required only if a previous call responded with user_input_required status.

You can read more about user inputs specification on Specify User Input
userInput Object
ParameterTypeDescription
idstringType of input required.

You can read more about user input types on User Input Types.
indexintIs used in case more than one user input is requested.
Will always be 0 If only one input is requested.
answerstringUser input that must be submitted.
Response

In addition to the fields described in the BaseResponse, it has the following fields, which will only be valid if the status is done:

ParameterTypeDescription
TransactionsarrayArray containing the transactional data for the specified account within the specified period.

data->getCategorizedTransactions

Method is used to retrieve transactions that user has performed over a specific period of time from their bank account. The transaction list is unfiltered, meaning the response will contain all the transactions performed by the user (not just the transactions performed using your app).

Every transaction in the response is categorized. Transaction categories stay the same across all banks.

Date range of the transactions that can be retrieved varies for each bank. The range supported by the users bank is shown in the response parameter transactionRange of Get Accounts Metadata endpoint.

Method Description
function getCategorizedTransactions($accessToken, $userSecret, $accountID, $fromDate, $toDate, $userInputs = [], $operationID = "")
Input Parameters
ParameterTypeDescription
accountID
REQUIRED
stringThe bank account ID which its transactions are requested.
Retrieved from one of the accounts returned from the getAccounts method.
fromDate
REQUIRED
stringThe start date of the transactions wanted.
It should be in this format: YYYY-MM-DD
toDate
REQUIRED
stringThe end date of the transactions wanted.
It should be in this format: YYYY-MM-DD
accessToken
REQUIRED
stringAccess Token obtained using the ExchangeToken method.
userSecret
REQUIRED
stringThe userSecret from a user’s successful log in to Connect.
operationID
OPTIONAL
stringThe OperationID from a previous call's response.
Required only when resuming a previous call that responded with user_input_required status, to provided user inputs.
userInputs
OPTIONAL
arrayArray of UserInput object, that are needed to complete this operation.
Required only if a previous call responded with user_input_required status.

You can read more about user inputs specification on Specify User Input
userInput Object
ParameterTypeDescription
idstringType of input required.

You can read more about user input types on User Input Types.
indexintIs used in case more than one user input is requested.
Will always be 0 If only one input is requested.
answerstringUser input that must be submitted.
Response

In addition to the fields described in the BaseResponse, it has the following fields, which will only be valid if the status is done:

ParameterTypeDescription
TransactionsarrayArray containing the transactional data for the specified account within the specified period.

data->getEnrichedTransactions

Method is used to retrieve transactions that user has performed over a specific period of time from their bank account. The transaction list is unfiltered, meaning the response will contain all the transactions performed by the user (not just the transactions performed using your app).

Every transaction in the response is categorized and has further details about the brand that the transfer is associated with. Transaction categories stay the same across all banks.

Date range of the transactions that can be retrieved varies for each bank. The range supported by the users bank is shown in the response parameter transactionRange of Get Accounts Metadata endpoint.

Method Description
function getEnrichedTransactions($accessToken, $userSecret, $accountID, $fromDate, $toDate, $userInputs = [], $operationID = "")
Input Parameters
ParameterTypeDescription
accountID
REQUIRED
stringThe bank account ID which its transactions are requested.
Retrieved from one of the accounts returned from the getAccounts method.
fromDate
REQUIRED
stringThe start date of the transactions wanted.
It should be in this format: YYYY-MM-DD
toDate
REQUIRED
stringThe end date of the transactions wanted.
It should be in this format: YYYY-MM-DD
accessToken
REQUIRED
stringAccess Token obtained using the ExchangeToken method.
userSecret
REQUIRED
stringThe userSecret from a user’s successful log in to Connect.
operationID
OPTIONAL
stringThe OperationID from a previous call's response.
Required only when resuming a previous call that responded with user_input_required status, to provided user inputs.
userInputs
OPTIONAL
arrayArray of UserInput object, that are needed to complete this operation.
Required only if a previous call responded with user_input_required status.

You can read more about user inputs specification on Specify User Input
userInput Object
ParameterTypeDescription
idstringType of input required.

You can read more about user input types on User Input Types.
indexintIs used in case more than one user input is requested.
Will always be 0 If only one input is requested.
answerstringUser input that must be submitted.
Response

In addition to the fields described in the BaseResponse, it has the following fields, which will only be valid if the status is done:

ParameterTypeDescription
TransactionsarrayArray containing the transactional data for the specified account within the specified period.

payment->getBeneficiaries

Method is used to retrieve list of all the beneficiaries already added for a user within a financial institution.

Method Description
function getBeneficiaries($accessToken, $userSecret, $userInputs = [], $operationID = "")
Input Parameters
ParameterTypeDescription
accessToken
REQUIRED
stringAccess Token obtained using the ExchangeToken method.
userSecret
REQUIRED
stringThe userSecret from a user’s successful log in to Connect.
operationID
OPTIONAL
stringThe OperationID from a previous call's response.
Required only when resuming a previous call that responded with user_input_required status, to provided user inputs.
userInputs
OPTIONAL
arrayArray of UserInput object, that are needed to complete this operation.
Required only if a previous call responded with user_input_required status.

You can read more about user inputs specification on Specify User Input
userInput Object
ParameterTypeDescription
idstringType of input required.

You can read more about user input types on User Input Types.
indexintIs used in case more than one user input is requested.
Will always be 0 If only one input is requested.
answerstringUser input that must be submitted.
Response

In addition to the fields described in the BaseResponse, it has the following fields, which will only be returned if the status is done:

ParameterTypeDescription
BeneficiariesarrayAn array containing the beneficiary information.

payment->createBeneficiary

Method is used to retrieve list of all the beneficiaries already added for a user within a financial institution.

Method Description
function createBeneficiary($accessToken, $userSecret, $beneficiaryData, $userInputs = [], $operationID = "")
Input Parameters
ParameterTypeDescription
beneficiaryData
REQUIRED
arrayAn object (associative array) that contains info about the beneficiary that should be added.
accessToken
REQUIRED
stringAccess Token obtained using the ExchangeToken method.
userSecret
REQUIRED
stringThe userSecret from a user’s successful log in to Connect.
operationID
OPTIONAL
stringThe OperationID from a previous call's response.
Required only when resuming a previous call that responded with user_input_required status, to provided user inputs.
userInputs
OPTIONAL
arrayArray of UserInput object, that are needed to complete this operation.
Required only if a previous call responded with user_input_required status.

You can read more about user inputs specification on Specify User Input
userInput Object
ParameterTypeDescription
idstringType of input required.

You can read more about user input types on User Input Types.
indexintIs used in case more than one user input is requested.
Will always be 0 If only one input is requested.
answerstringUser input that must be submitted.
beneficiaryData object
ParameterTypeDescription
name
REQUIRED
stringName of the beneficiary.
nickame
REQUIRED
stringNickame of the beneficiary.
accountNumber
REQUIRED
stringAccount number of the beneficiary.
iban
REQUIRED
stringBeneficiary's IBAN number.
swiftCode
REQUIRED
stringBeneficiary's financial institution's SWIFT code.
type
REQUIRED
stringType of beneficiary.
For further explanation see Beneficiary Types.
address
REQUIRED
arrayAn object (associative arry) containing the address information of the beneficiary.
country
REQUIRED
stringName of the country in all uppercase letters.
branchAddress
REQUIRED
stringAddress of the financial institution’s specific branch.
branchName
REQUIRED
stringName of the financial institution’s specific branch.
phoneNumber
OPTIONAL
stringBeneficiary's phone number.
routingNumber
OPTIONAL
stringBeneficiary's Routing number, needed only for US banks accounts.
Address Object
ParameterTypeDescription
line1
REQUIRED
stringStreet name and number. Note: value should not contain any commas or special characters.
line2
REQUIRED
stringCity name. Note: value should not contain any commas or special characters.
line3
REQUIRED
stringCountry name. Note: value should not contain any commas or special characters.
Response

Method returns only the fields defined in the BaseResponse.


payment->createTransfer

Method is used to initiate a new payment from one account to another account.

Important

We suggest you use TransferAutoflow method instead to initiate a payment. TransferAutoFlow abstracts all the validations and processing logic, required to initiate a transaction using CreateTransfer method.

You can read about TransferAutoFlow further in the document.

Method Description
function createTransfer($accessToken, $userSecret, $transferData, $userInputs = [], $operationID = "")
Input Parameters
ParameterTypeDescription
transferData
REQUIRED
arrayAn object (associative array) that contains info about the transfer that should be initiated.
accessToken
REQUIRED
stringAccess Token obtained using the ExchangeToken method.
userSecret
REQUIRED
stringThe userSecret from a user’s successful log in to Connect.
operationID
OPTIONAL
stringThe OperationID from a previous call's response.
Required only when resuming a previous call that responded with user_input_required status, to provided user inputs.
userInputs
OPTIONAL
arrayArray of UserInput object, that are needed to complete this operation.
Required only if a previous call responded with user_input_required status.

You can read more about user inputs specification on Specify User Input
userInput Object
ParameterTypeDescription
idstringType of input required.

You can read more about user input types on User Input Types.
indexintIs used in case more than one user input is requested.
Will always be 0 If only one input is requested.
answerstringUser input that must be submitted.
transferData Object
ParameterTypeDescription
senderID
REQUIRED
stringThe id of the account which the money should be sent from.
Retrieved from one of the accounts array returned from the getAccounts method.
amount
REQUIRED
float64The amount of money which should be sent.
receiverID
OPTIONAL
stringThe id of the beneficiary which the money should be sent to.
Retrieved from one of the beneficiaries array returned from the getBeneficiaries method.
Needed only when creating a transfer from a bank that requires the receiver to be already registered as a beneficiary to perform a transaction.
name
OPTIONAL
stringThe name of receiver.
Needed only when creating a transfer from a bank that handles the creation of beneficiaries on its own, internally, and doesn't require the receiver to be already registered as a beneficiary to perform a transaction.
accountNumber
OPTIONAL
stringThe Account Number of the receiver's account.
Needed only when creating a transfer from a bank that handles the creation of beneficiaries on its own, internally, and doesn't require the receiver to be already registered as a beneficiary to perform a transaction.
iban
OPTIONAL
stringThe IBAN of the receiver's account.
Needed only when creating a transfer from a bank that handles the creation of beneficiaries on its own, internally, and doesn't require the receiver to be already registered as a beneficiary to perform a transaction.
Response

In addition to the fields described in the BaseResponse, it has the following fields, which will only be returned if the status is done:

ParameterTypeDescription
referencestringTransaction reference string returned by the bank.

payment->transferAutoflow

Method is used to initiate a new payment from one account to another account, without having to care nor handle any special cases or scenarios.

Method Description
function transferAutoflow($accessToken, $userSecret, $transferAutoFlowData, $userInputs = [], $operationID = "")
Input Parameters
ParameterTypeDescription
transferAutoflowData
REQUIRED
arrayAn object (associative array) that contains info about the transfer that should be initiated, and any other details that's used to automate the operation.
accessToken
REQUIRED
stringAccess Token obtained using the ExchangeToken method.
userSecret
REQUIRED
stringThe userSecret from a user’s successful log in to Connect.
operationID
OPTIONAL
stringThe OperationID from a previous call's response.
Required only when resuming a previous call that responded with user_input_required status, to provided user inputs.
userInputs
OPTIONAL
arrayArray of UserInput object, that are needed to complete this operation.
Required only if a previous call responded with user_input_required status.

You can read more about user inputs specification on Specify User Input
userInput Object
ParameterTypeDescription
idstringType of input required.

You can read more about user input types on User Input Types.
indexintIs used in case more than one user input is requested.
Will always be 0 If only one input is requested.
answerstringUser input that must be submitted.
transferAutoflowData Object
ParameterTypeDescription
senderID
REQUIRED
stringThe id of the account which the money should be sent from.
Retrieved from one of the accounts array returned from the getAccounts method.
amount
REQUIRED
floatThe amount of money which should be sent.
beneficiary
REQUIRED
arrayAn object (associative) that holds the info about the beneficiary which the money should be sent to.
bankID
REQUIRED
stringThe bankID of the user which is initiating this transfer.
beneficiary object
ParameterTypeDescription
name
REQUIRED
stringName of the beneficiary.
nickname
REQUIRED
stringNickame of the beneficiary.
accountNumber
REQUIRED
stringAccount number of the beneficiary.
iban
REQUIRED
stringBeneficiary's IBAN number.
swiftCode
REQUIRED
stringBeneficiary's financial institution's SWIFT code.
type
REQUIRED
stringType of beneficiary.
For further explanation see Beneficiary Types.
address
REQUIRED
arrayAn object (associative arry) containing the address information of the beneficiary.
country
REQUIRED
stringName of the country in all uppercase letters.
branchAddress
REQUIRED
stringAddress of the financial institution’s specific branch.
branchName
REQUIRED
stringName of the financial institution’s specific branch.
phoneNumber
OPTIONAL
stringBeneficiary's phone number.
routingNumber
OPTIONAL
stringBeneficiary's Routing number, needed only for US banks accounts.
address Object
ParameterTypeDescription
line1
REQUIRED
stringStreet name and number. Note: value should not contain any commas or special characters.
line2
REQUIRED
stringCity name. Note: value should not contain any commas or special characters.
line3
REQUIRED
stringCountry name. Note: value should not contain any commas or special characters.
Response

In addition to the fields described in the BaseResponse, it has the following fields, which will only be returned if the status is done:

ParameterTypeDescription
referencestringTransaction reference string returned by the bank.

ACH

ach.createPull

Method is used to create an ACH Pull transaction

Method Description

public function createPull($accessToken, $userSecret, $transferData, $userInputs = [], $operationID = "")

Input Parameters

NameTypeDescription
accessToken
REQUIRED
StringAccess Token obtained using Exchange Token method.

You can read more about how to obtain a permanent token on Obtain an Access Token
userSecret
REQUIRED
StringUser secret returned during the successful authentication in Connect Layer
transfer
REQUIRED
Object<Transfer>Details of the ACH transfer
operationID
OPTIONAL
StringThe operationID from a previous call's response. Required only when resuming a previous call that responded with user_input_required status, to provided user inputs.
userInputs
OPTIONAL
Array<userInputs>Array of UserInputs object, required only if initial request responded with user inputs specification.

You can read more about user inputs specification on Specify User Input

Transfer Object

NameTypeDescription
senderIdStringsenderId of the Account from where the amount must be transferred.
amountNumberAmount of the transfer
descriptionStringA message associated with the transfer.

UserInputs Object

NameTypeDescription
idEnumType of input required. Can be one of the following:

otp

secret_question

captcha

pin

confirmation

token


You can read more about user input types on User Input Types
queryStringTextual description of what is required from the user side
indexNumberIs used in case more than one user input is requested.

will always be 0 If only one input is requested.
answerStringUser input that must be submitted. In the response it will always be empty.

Response

Method returns standard Base Response. You can find description of standard response in the beginning of the document.

ach.getPull

Method is used to get an existing ACH Pull transaction

Method Description

public function getPull($accessToken, $userSecret, $userInputs = [], $operationID = "")

Input Parameters

NameTypeDescription
accessToken
REQUIRED
StringAccess Token obtained using Exchange Token method.

You can read more about how to obtain a permanent token on Obtain an Access Token
userSecret
REQUIRED
StringUser secret returned during the successful authentication in Connect Layer
operationID
REQUIRED
StringThe operationID from a previous call's response. Used to locate the ACH transaction.
userInputs
OPTIONAL
Array<userInputs>Array of UserInputs object, required only if initial request responded with user inputs specification.

You can read more about user inputs specification on Specify User Input

Response

NameTypeDescription
transferObject<Transfer>Details of the ACH transfer

Transfer Object

NameTypeDescription
statusStringStatus of the transfer (ENUM: 'pending', 'completed', 'returned', 'rejected')
amountNumberAmount of the transfer
currencyObject<Currency>Currency type of the transfer

Currency Object

NameTypeDescription
CodeStringCurrency code
NameStringFull name of the Currency