Payees (Beneficiaries)
Overview
The Payees module is an integral part of the customer API that allows users to manage their list of payees—people or organizations they need to send money to. It provides a suite of API endpoints that facilitate various operations required to maintain an up-to-date payee list for customers within the platform.
Create Payee - Allows users to add a new payee with details such as name, banking information, and address. This is essential for setting up new beneficiaries for transactions.
Edit Payee - Users can update the details of an existing payee. This endpoint is useful for making corrections or changes to the payee information, such as their bank account details or address.
Get Payee by ID - Enables a user to retrieve information about a payee by submitting the ID of the payee.
List Payees - Retrieve a list of payees associated with a customer
Delete Payee - Allows a user to delete a Payee, removing it from being an option for further transfer destinations
Create Card Payee - Allows a user to create a new payee for use with Visa Direct.
View Card Payee - Allows a user view details for a card payee.
List Card Payees - Retrieves a list of available card payees.
Initiate ACH Pull - Allows a manager to initiate an ACH pull request from a customer's payee. If used with a card payee, will initiate a Visa Direct pull instead.
Create Payee
This endpoint creates a new payee for a specific customer. A payee is essentially a destination that where one would send a payment to outside of the banking system, such as a bank account. A customer can use this feature to add a new person or company they need to send money to. The customer inputs necessary banking details and address information to set up the payee in their account
Endpoint:
/api/v3/customer/payees/create
Method:
POST
Request Body: application/json
CustomersId
(Integer, Required): The identifier for the customer.CustomerAssetAccountsId
(Integer, Required): Customer's account from which funds will be sent.PayeeType
(String, Required): The type of payee, values can bePersonal
orCompany
.RoutingNumber
(String, Optional, For domestic payees): The routing number of the payee's bank for domestic transactions.AccountNumber
(String, Required): The bank account number of the payee.BankName
(String, Optional): The bank's name. This will be looked up based on other information if not included.Bic
(String, Optional, For international payees): The SWIFT/BIC code for international banking purposes.IntermediaryBic
(String, Optional, For international payees): Bank intermediary SWIFT/BIC code.Iban
(String, Optional, For international payees): The International Bank Account Number for international transactions.PayeesReference
(String, Optional): A customer-defined reference for the payee.Name
(String, Required): The full name of the payee.AddressLine1
(String, Required): The primary address line for the payee.AddressLine2
(String, Optional): The secondary address line for the payee (if any).TownCity
(String, Required): The town or city where the payee is located.State
(String, Required): The state or region where the payee is located.Country
(String, Required): The country where the payee is located.Postcode
(String, Required): The postal code associated with the payee's address.Transmitter
(Object, Optional): Transmitter information, required for financial institutions.Transmitter.FirstPartyTransfer
(Boolean, Required): Is this payee for first party transfers?Transmitter.Name
(String, Required if not a first party transfer): Transmitter's name.Transmitter.AccountNumber
(String, Optional): Transmitter's account number.Transmitter.AddressLine1
(String, Required if not a first party transfer): Transmitter's address line 1.Transmitter.AddressLine2
(String, Optional): Transmitter's address line 2.Transmitter.TownCity
(String, Required if not a first party transfer): Transmitter's town or city.Transmitter.State
(String, Required if not a first party transfer): Transmitter's state. For USA use the ANSI 2-letter state codes.Transmitter.Postcode
(String, Required if not a first party transfer): Transmitter's postcode.Transmitter.CountryCode
(String, Required if not a first party transfer): Transmitter's alpha-3 country code.Transmitter.Type
(String, Required if not a first party transfer): Transmitter's type, either 'Individual' or 'Company'.Transmitter.DateOfBirth
(String, Required if type is 'Individual', ISO 8061): The transmitter's date of birth in "YYYY-MM-DD" format.
Request Body Example:
Response Body (Success): application/json
id
(Integer): A generated ID that references the newly created payee.details
(Object): An object containing details about the newly created payee:id
(Integer): Same as the outerid
field for ease of access.customersId
(Integer): The customer's ID for whom the payee was created.customerAssetAccountsId
(Integer): Customer's account from which funds will be sent. to payee.payeeType
(String): The type of payee,Personal
orCompany
.payeeReference
(String): Customer defined payee reference.routingNumber
(String): The routing number of the payee's bank.accountNumber
(String): The bank account number of the payee.bic
(String): The SWIFT/BIC code of the payee.IntermediaryBic
(String): Payee's intermediary BIC numberiban
(String): The International Bank Account Number of the payee.name
(String): The full name of the payee.addressLine1
(String): The primary address line for the payee.addressLine2
(String): The secondary address line for the payee.townCity
(String): The town or city where the payee is located.state
(String): The state or region where the payee is located.postcode
(String): The postal code for the payee's address.country
(String): The country where the payee is located.bankName
(String): The name of the payee's bank.transmitterFirstPartyTransfer
(Boolean): Is this payee for first party transfers?transmitterName
(String): Transmitter's name.transmitterAccountNumber
(String): Transmitter's account number.transmitterAddressLine1
(String): Transmitter's address line 1.transmitterAddressLine2
(String): Transmitter's address line 2.transmitterTownCity
(String): Transmitter's town or city.transmitterState
(String): Transmitter's state.transmitterPostcode
(String): Transmitter's postcode.transmitterCountryCode
(String): Transmitter's alpha-3 country code.transmitterType
(String): Transmitter's type, either 'Individual' or 'Company'.transmitterDateOfBirth
(String, ISO 8061): The transmitter's date of birth in "YYYY-MM-DD" format.
status
(Integer): The status code, typically "1" for success.errors
(Array): An array containing any error messages related to the request.
Response Body Example:
Possible Error Response:
Required
(Error Code): Indicates that a required field is missing or has a zero value.Invalid
(Error Code): Suggests that a field contains an invalid value.Documents_Not_Verified
(Error Code): This action cannot be performed for the customer due to KYC (Know Your Customer) requirements not being met.
Edit Payee
Users can update the details of someone they've set up to send payments to (a payee). They'll need to provide specific information like the account details they wish to change. Once submitted, the system updates the payee's details, confirming the updates with the user or reporting why it wasn't able to if there's an issue. Only non-null fields will be updated. This endpoint cannot be used to edit card payees.
Endpoint:
/api/v3/customer/payees/edit
Method:
PATCH
Request Body Parameters: application/json
Only non-null fields will be updated!
Id
(Integer, Required): The ID of the payee to be edited.PayeeType
(String, Optional): The type of payee, values can bePersonal
orCompany
.RoutingNumber
(String, Optional): The routing number of the payee's bank for domestic transactions.AccountNumber
(String, Optional): The bank account number of the payee.BankName
(String, Optional): The bank's name, which will be looked up based on other information if not included.Bic
(String, Optional): The SWIFT/BIC code for international banking purposes.IntermediaryBic
(String, Optional, For international payees): Bank intermediary SWIFT/BIC codeIban
(String, Optional): The International Bank Account Number for international transactions.PayeesReference
(String, Optional): A customer-defined reference for the payee.Name
(String, Optional): The full name of the payee.AddressLine1
(String, Optional): The primary address line for the payee.AddressLine2
(String, Optional): The secondary address line for the payee (if any).TownCity
(String, Optional): The town or city where the payee is located.State
(String, Optional): The state or region where the payee is located.Country
(String, Optional): The country where the payee is located.Postcode
(String, Optional): The postal code associated with the payee's address.Transmitter
(Object, Optional): Transmitter information, required for financial institutions.Transmitter.FirstPartyTransfer
(Boolean, Required): Is this payee for first party transfers?Transmitter.Name
(String, Required if not a first party transfer): Transmitter's name.Transmitter.AccountNumber
(String, Optional): Transmitter's account number.Transmitter.AddressLine1
(String, Required if not a first party transfer): Transmitter's address line 1.Transmitter.AddressLine2
(String, Optional): Transmitter's address line 2.Transmitter.TownCity
(String, Required if not a first party transfer): Transmitter's town or city.Transmitter.State
(String, Required if not a first party transfer): Transmitter's state. For USA use the ANSI 2-letter state codes.Transmitter.Postcode
(String, Required if not a first party transfer): Transmitter's postcode.Transmitter.CountryCode
(String, Required if not a first party transfer): Transmitter's alpha-3 country code.Transmitter.Type
(String, Required if not a first party transfer): Transmitter's type, either 'Individual' or 'Company'.Transmitter.DateOfBirth
(String, Required if type is 'Individual', ISO 8061): The transmitter's date of birth in "YYYY-MM-DD" format.
Request Body Example:
Response Body Parameters: application/json
id
(Integer): A reference ID for the payee; not used in the example.details
(Object): An object containing updated details about the payee, including:id
(Integer): The ID of the payee that was edited.customersId
(Integer): The customer's ID associated with the edited payee.customerAssetAccountsId
(Integer): Customer's account from which funds will be sent. to payee.payeeType
(String): The updated type of payee,Personal
orCompany
.payeesReference
(String): The updated customer defined payee reference.routingNumber
(String): The updated routing number of the payee's bank.accountNumber
(String): The updated bank account number of the payee.bic
(String): The updated SWIFT/BIC code of the payee.IntermediaryBic
(String): Payee's intermediary BIC numberiban
(String): The updated International Bank Account Number of the payee.name
(String): The updated name of the payee.addressLine1
(String): The updated address line for the payee.addressLine2
(String, Nullable): The updated address line 2 for the payee.townCity
(String): The updated town or city where the payee is located.state
(String): The updated state or region where the payee is located.postcode
(String): The updated postal code for the payee's address.country
(String): The updated country where the payee is located.bankName
(String): The updated bank name of the payee.transmitterFirstPartyTransfer
(Boolean): Is this payee for first party transfers?transmitterName
(String): Transmitter's name.transmitterAccountNumber
(String): Transmitter's account number.transmitterAddressLine1
(String): Transmitter's address line 1.transmitterAddressLine2
(String): Transmitter's address line 2.transmitterTownCity
(String): Transmitter's town or city.transmitterState
(String): Transmitter's state.transmitterPostcode
(String): Transmitter's postcode.transmitterCountryCode
(String): Transmitter's alpha-3 country code.transmitterType
(String): Transmitter's type, either 'Individual' or 'Company'.transmitterDateOfBirth
(String, ISO 8061): The transmitter's date of birth in "YYYY-MM-DD" format.
Success Response Example:
Error Codes:
Required
(Error Code): Indicates that a required field is missing or has a zero value.Invalid
(Error Code): Suggests that a field contains an invalid value.Documents_Not_Verified
(Error Code): The action cannot be performed for the customer due to KYC (Know Your Customer) requirements not being met.
Error Response Example:
Get Payee by ID
Users can retrieve the details of someone they've set up to send payments to (a payee). They'll need to provide the specific ID of the payee to retrieve information. This endpoint should not be used for card payees, use the card view endpoint instead.
Endpoint:
/api/v3/customer/payees/get
Method:
GET
List Payees
Retrieve a list of payees associated with a customer. Card payees will not be present in this list and have their own list endpoint.
Endpoint:
/api/v3/customer/payees/list
Method:
GET
Delete Payee
Allows a user to delete a Payee, removing it from being an option for further transfer destinations. This endpoint is also used to delete card payees.
Endpoint:
/api/v1/customer/payees/delete
Method:
DELETE
Create Card Payee
Add a card (Visa Direct) payee using card details.
Endpoint:
/api/v1/customer/payees/card/create
Method:
POST
View Card Payee
View details for a card payee
Endpoint:
/api/v1/customer/payees/card/get
Method:
GET
List Card Payees
List all available card payees
Endpoint:
/api/v1/customer/payees/card/list
Method:
GET
Initiate ACH Pull
Allows a manager to initiate an ACH pull request from a customer's payee. If used with a card payee, will instead pull using Visa Direct.
Endpoint:
/api/v1/customer/payees/pullfunds
Method:
POST
Request Body Parameters: application/json
PayeesId
Integer
PayeesId where the bank can pull funds from
Yes
Amount
Decimal
Amount to be pulled from payee
Yes
CustomerAssetAccountsId
Integer
The destination customer account id
Yes
Reference
String
For pooled account this should be the reference of the pooled account.
Maximum 15 characters allowed
Yes
Request Body Example
Response Body
id
Integer
Transfer Id
details.
details.id
Integer
Transaction Id
details.accountsId
Integer
Transaction account Id
details.fromTransactionsId
Integer
Nullable linked from transaction Id
details.fromAccountsId
Integer
Nullable linked from account Id
details.toTransactionsId
Integer
Nullable linked to transaction Id
details.toAccountsId
Integer
Nullable linked to account Id
details.amount
Decimal
Transaction amount
details.description
String
Transaction description
details.dateTime
ISO 8601
Transaction date
details.bPending
Bool
Is transaction pending
details.bApproved
Bool
Is screening approved
Request Body Example
Potential Error Codes
Required
Required field not provided
Invalid
Provided destination account is invalid or provided payee id is invalid
Funding_Already_Pending
If there is already some pull funds are pending on the destination customer account, not allowed to do another pull to the account.
Invalid_Source_Account
Provided source account is invalid
Invalid_Asset
Asset associated with the account is not fiat currency or both account have different assets.
Ach_limit_exceed_5000
The requested amount is greater than the allowed ach limit
Invalid_Reference_For_FBO_Account
For pooled destination account, given reference should match with the destination account reference
Internal_Error
Any unknown error
Last updated