2.1 - Sending a Payment Order with Joint Payment
The joint payment functionality allows multiple payers to be included in a single payment request.
The joint payment functionality allows multiple payers to be included in a single payment request, making it easier to divide expenses among multiple people.
With this feature, you can specify the payers and the corresponding amounts each will contribute, generating a single, consolidated payment.
Additionally, the solution ensures a clear and transparent distribution of the amounts owed by each payer, preventing confusion and eliminating the need for multiple individual transactions.
This approach not only saves time but also reduces the risk of errors, making it easier to reconcile payments between all parties involved.
Version 1
Feature available from: October 2024
This documentation is under construction and may be subject to change.
How It Works
API Method = GeneratePaymentOrder
This method allows you to send joint payment orders. When the data is received from the customer, our API verifies that the payers have sufficient balance to proceed with the transaction. It then creates a beneficiary, who undergoes a Pix key match verification, followed by a KYC (Know Your Customer) process, and finally processes the transaction for the chosen beneficiary.
{
"Method": "GeneratePaymentOrder",
"PartnerId": 425,
"BusinessUnitId": 10950,
"Value": 10.00,
"Type": 1,
"Identifier": "{{$guid}}",
"PaymentDate": "2024-08-15",
"Payer": {
"AccountKey": "",
"TaxNumber": "052.134.123-00",
"Bank": "450",
"BankBranch": "0001",
"BankAccount": "218538",
"BankAccountDigit": "2",
"JointValue": 5
},
"Beneficiary": {
"Name": "Paulo Joaquim Veras",
"MotherName": "Ana Alencar Veras",
"Ocuppation": "QA",
"Nationality": "Brazileiro",
"BirthCity": "Crateús",
"BirthState": "Ceará",
"Country": "Brazil",
"CompanyActivity": "Payments",
"ContactInfo": {
"Mail": "[email protected]",
"Phone": "(88) 99437-0450"
},
"AccountInfo": {
"Key": "",
"PixKey": "87.233.401/0001-70",
"AccountType": "1",
"TaxNumber": "87.233.401/0001-70",
"Bank": "450",
"BankBranch": "0001",
"BankAccount": "1123705",
"BankAccountDigit": "0"
}
},
"Tags": [
"Payment Order",
"Vitor Ted Interno"
],
"JointPayment": [
{
"JointValue": 5.00,
"Bank": "450",
"BankBranch": "0001",
"BankAccount": "22751639",
"BankAccountDigit": "8",
"TaxNumber": "619.531.270-37"
}
]
}
Description:
Parameter | Description | To Identify Beneficiary | To Qualify Beneficiary | Type |
---|---|---|---|---|
Mandatory | Mandatory | |||
Method | Method to be used | YES | YES | STRING |
PartnerId | Partner ID provided by FitBank | YES | YES | INT64 |
BusinessUnitId | Business ID provided by FitBank | YES | YES | INT64 |
Value | Payment Order payment value | YES | YES | NUMBER |
Type* | Payment Method Used 0 - Pix 1 - TED | NO | NO | NUMBER |
Identifier | Id reference to the payment order generated | YES | YES | STRING |
PaymentDate* | Payment date set to settle the payment | YES | YES | STRING |
Payer | - | - | YES | OBJECT |
TaxNumber | Payer's CPF (NP) or CNPJ (LP) | YES | YES | STRING |
Bank | Payer's Bank Code (Ex.: “450”) | YES | YES | STRING |
BankBranch | Payer's Bank agency code (Ex.: “0001”) | YES | YES | STRING |
BankAccount | Payer's Bank account (Ex.: “146492”) | YES | YES | STRING |
BankAccountDigit | Payer's Account Digit (Ex.: “1”) | YES | YES | STRING |
JointValue | Amount to be paid by the main payer | NO | NO | NUMBER |
Beneficiary | - | - | - | OBJECT |
Name | Beneficiary's name (NP or LP) | YES | YES | STRING |
Gender | Beneficiary's gender (NP only) | NO | NO | INTEGER |
MaritalStatus | Beneficiary's civil status (NP only) | NO | NO | INTEGER |
Occupation | Beneficiary's ocupation (NP only) | DESIRABLE FOR NP | NO | STRING |
Nationality | Beneficiary's nationality (NP only) | DESIRABLE FOR NP | DERISABLE FOR NP | STRING |
Country | Beneficiary's country of origin | DESIRABLE FOR NP | DERISABLE FOR NP | STRING |
BirthCity | Beneficiary's city (NP only) | NO | NO | STRING |
BirthState | Beneficiary's state (NP only) | NO | NO | STRING |
BirthDate | Beneficiary's birth date (NP only) | DESIRABLE FOR NP | YES | STRING |
MothersName | Beneficiary's mother's name (NP only) | DESIRABLE FOR NP | YES | STRING |
CompanyType | Company tipe (LP only) | DESIRABLE FOR LP | MANDATORY FOR LP | INTEGER |
CompanyActivity | Company activity (LP only) | DESIRABLE FOR LP | MANDATORY FOR LP | STRING |
ConstitutionDate | Company's date of incorporation (LP only) | DESIRABLE FOR LP | MANDATORY FOR LP | STRING |
ContactInfo | - | - | - | OBJECT |
Beneficiary's email | DESIRABLE | YES | STRING | |
Phone | Beneficiary's phone | DESIRABLE | YES | STRING |
AccountInfo | - | - | - | OBJECT |
PixKey | Beneficiary's Pix key | YES | YES | STRING |
TaxNumber | Beneficiary's CPF (NP) or CNPJ (LP) | YES | YES | STRING |
AccountType | Beneficiary's account type | YES | YES | Normal = 0 Savings = 1 |
ToBankIdentifier | Receiver's ISPB Bank Code | NO | NO | Banking code of indirect banking institutions |
Bank | Beneficiary's Bank Code (Ex.: “450”) | MANDATORY FOR TED (available in expected V2) | MANDATORY FOR TED (available in expected V2) | STRING |
BankBranch | Beneficiary's Bank agency code (Ex.: “0001”) | MANDATORY FOR TED (available in expected V2) | MANDATORY FOR TED (available in expected V2) | STRING |
BankAccount | Beneficiary's Bank account (Ex.: “146492”) | MANDATORY FOR TED (available in expected V2) | MANDATORY FOR TED (available in expected V2) | STRING |
BankAccountDigit | Beneficiary's Account Digit (Ex.: “1”) | MANDATORY FOR TED (available in expected V2) | MANDATORY FOR TED (available in expected V2) | STRING |
Tags | List of tags: (Ex.: Payment, API Test) | NO | NO | STRING |
JointPayment | - | NO | NO | OBJECT |
JointValue | Amount to be paid by the joint payer | YES | YES | NUMBER |
Bank | JointPayer's Bank Code (Ex.: “450”) | YES | YES | STRING |
BankBranch | JointPayer's Bank agency code (Ex.: “0001”) | YES | YES | STRING |
BankAccount | JointPayer's Account (Ex.: “146492”) | YES | YES | STRING |
BancAccountDigit | JointPayer's Account Digit (Ex.: “1”) | YES | YES | STRING |
TaxNumber | JointPayer's CPF (NP) or CNPJ (LP) | YES | YES | STRI |
Important:
- To avoid errors and issues with the operation, the
PaymentDate
field must follow the specified format:- For Pix with bank details, the
PaymentDate
field should be formatted as: 2024-02-16T15:00:00 - For Pix key, the
PaymentDate
field should be formatted as: 2024-02-16
- For Pix with bank details, the
- Type: The joint payment will be processed via Pix.
- The
ToBankIdentifier
field is optional. However, if a Payment Order is made using bank details, this field becomes mandatory.
Important Information on Joint Payment:
- The sum of the
JointValue
amounts must exactly match the value specified inValue
. - The requisition may contain more than one joint payment.
Explanation
NP = Natural Person
LP = Legal Person
Identified Beneficiary = Is the initial step, and will meet most cases, without the need for additional information (is the beneficiary who only needs the information required to settle payment orders)
Qualified Beneficiary = Qualification is a more in-depth step that demands more information about the beneficiary. This step will only be required when, after sending the initial request, the system returns a EXC0033 error. In this situation, a new request must be sent, with the mandatory data for the qualification process (beneficiary who needs to present information previously considered optional for KYC validation)
Pix Key Pattern
Type | Example | Description | Comments |
---|---|---|---|
Phone Number | +5585997784745 | Country code + area code + 9 prefix + number | The telephone number format follows the international E.164 standard, which is composed of [+] [country code] [area code without the zero] [9 prefix] [telephone number]. In Brazil, this format has a maximum number of 14 (fourteen) digits. For example, cell phone from Fortaleza/Brazil (country code: 55), Fortaleza area code (DDD) 85, cell phone number (with prefix) 9XXXX-YYYY, you must enter +5585997784745 (without spaces and dashes between digits). |
[email protected] | Beneficiary's email address | ||
CPF | 05878565412 | Beneficiary's CPF | If the Tax Number length is less than 11, must to fill 0 on left |
CNPJ | 3612311780015 | Beneficiary's CNPJ | If the Tax Number length is less than 14, must to fill 0 on left |
Random Key | c45134fc-69c8-4416-aa0b-703bcb5c4121 | Beneficiary's Random Key |
By Real Time Payments (Pix)
There are two ways to process the Payment Order by Real Time Payment (Pix) in a quick and efficient way:
Payment Request by Pix Key
When sending the Payment Order, the customer needs to inform only the beneficiary's Pix key and TaxNumber (CPF or CNPJ), which can be the CPF/CNPJ number, e-mail, telephone or a random key generated by Brazil's Central Bank (Banco Central). With this data, our API proceeds to verify the correspondence between the Pix key and the payee, then performs the beneficiary's KYC process and concludes the transfer.
Payment Request by Pix with bank informations
When sending the Payment Order, if the beneficiary does not have a Pix key, the customer must inform the beneficiary's bank details and CPF or CNPJ. Having this data, our API verifies if the informed banking data corresponds to one of the institutions that operates with Pix and, if so, proceeds with the transfer.
Updated 2 days ago