RealTime Payments- API Features & flows
RealTime Payments (RTP) enables money transfer through three distinct flows:
- Money Transfer
- Pull Funds
- Push Funds
Below, we describe each of these flows:
Money Transfer
Money Transfer is an operation designed to withdraw funds (Pull) from one card and transfer funds (Push) to another Visa card.
-
The user requests money transfer at either the Domestic or Cross-Border level.
-
The program owner integrates with Novopayment through the Real Time Payments API, which can obtain cardholder and card information through Alias Directory or by entering that information if the user is not registered in Alias Directory or does not wish to register.
-
RTP performs validation operations (See guide RTP Validation Operations Flow).
3.1. Novopayment Validation Operations (See guide RTP Validation Operations Flow).
3.2. Validation against networks (See guide. RTP Validation Operations Flow).
-
If a transfer is cross-border, RTP consults the core of Foreign Exchange Rates to perform currency exchange.
4.1. Exchange Rates constructs the exchange query between two currencies.
4.2. Exchange rates are validated against the networks.
-
Integration with Visa's connector to perform the Pull and Push.
5.1. The connector receives all the requirements to execute a Pull and Push transaction and sends them to the networks for execution.
5.2. The networks perform the corresponding validations and send a response.
If the response is successful, proceed to step 6; if it fails, proceed to step 5.3.
5.3. If the response fails, consume the Query API service.
5.4. In the event that the transaction is not successful, the Query API service will attempt to perform the transaction again within a specified time and according to the configured attempts.
5.5. The networks will make attempts to execute the transaction according to the configured settings.
-
If the transaction was successful, RTP confirms the status to the program owner (6.1).
-
RealTimePayments responds to the program owner indicating whether the transaction was successful or failed (7.1).
Pull Funds
Pull Funds is an operation that withdraws funds from the sender's card (Pull). This flow allows the program owner to finalize the money transfer by placing the funds (credit) in the recipient's account using another internal process of the client (e.g., when the credit is to the program's own cards).
-
The user requests money transfer at either the Domestic or Cross-Border level.
-
The program owner integrates with Novopayment through the Real Time Payments API, which obtains the instrument of payment data.
-
It performs validation operations (See Section II. RTP Validation Operations Flow).
-
If a transfer is cross-border, RTP consults Foreign Exchange Rates to perform currency exchange.
4.1. Exchange Rates constructs the exchange query between two currencies.
4.2. Exchange rates are validated against the networks.
-
Integration with the connector of Visa to perform the Pull, which will withdraw the resources from the sender's account.
5.1. The connector receives all the requirements to execute a Pull transaction and sends them to the networks for execution.
5.2. The networks perform the corresponding validations and send a response.
If the response is successful, proceed to step 6, and if it fails, proceed to step 5.3.
5.3. If the response fails, consume the Query API.
5.4. In case the transaction is not successful, the Query API will attempt to perform the transaction again within a specified time and according to the configured attempts.
5.5. The networks will make attempts to execute the transaction according to the configured settings.
-
If the transaction was successful, RTP confirms the status to the program owner (6.1).
-
RTP responds to the program owner, indicating whether the transaction Pull was successful or failed (7.1).
Push Funds
Push Funds is an operation that adds funds to a recipient's card. This flow allows the program owner to initiate the transfer by withdrawing the funds from the sender's account using another process.
-
The user requests money transfer at either the Domestic or Cross-Border level.
-
The Program Owner integrates with Novopayment through the Real Time Payments API, which obtains the instrument of payment data.
-
It performs validation operations (See Section II. RTP Validation Operations Flow).
-
If a transfer is cross-border, RTP consults Foreign Exchange Rates to perform currency exchange.
4.1. Exchange Rates constructs the exchange query between two currencies.
4.2. Exchange rates are validated against the networks.
-
Integration with Visa's connector to perform the Push, which will deposit the funds into the recipient's account.
5.1. The connector receives all the requirements to execute a Push transaction and sends them to the networks for execution.
5.2. The networks perform the corresponding validations and send a response.
If the response is successful, proceed to step 6, and if it fails, proceed to step 5.3.
5.3. If the response fails, consume the Query API.
5.4. In case the transaction is not successful, the Query API will attempt to perform the transaction again within a specified time and according to the configured attempts.
5.5. The networks will make attempts to execute the transaction according to the configured settings.
-
If the transaction was successful, RTP confirms the status to the Program Owner (6.1).
-
RTP responds to the Program Owner, indicating whether the transaction Push was successful or failed (7.1).
Reverse Funds
Reverse Funds is an operation that automatically reverses a Pull-type transaction within a 24-hour window after the transaction.
A reverse request is initiated when the transfer fails during the Push transaction. The complete flow is as follows:
-
The user requests a money transfer.
-
The Program Owner connects with Real Time Payment for the money transfer.
-
RTP connects with Novopayment's validation operations for card information (status, card type, among others), card attributes, and restrictive list checks.
3.1. Validation operations services from RTP connect with the networks.
3.2. The network provides validation responses and responds to the corresponding validation operation service (Inquiry, Security, Customer Monitoring, and Exchange Rates).
-
After validation, the Query API confirms the transaction status within a specified time. If the transfer status is successful:
-
RTP responds to the Program Owner with the successful status of the transaction.
5.1. The user is informed of the successful transaction status. If the money transfer fails (as the Push was not executed):
-
Consume Novopayment's Reverse Pull API service.
6.1. Novopayment's Reverse Pull API service validates with the networks.
6.2. The networks provide pre-validation responses.
-
In case the reversal is not successful, the Query API will attempt to execute it again within a specified time.
7.1. Query API validates with the networks.
7.2. The networks send the corresponding reversal status confirmation.
-
Novopayment, as a Payment Enabler, responds to the program owner with the status of the reversal.
-
The reversal status is communicated to the user through the application.
Reverse Adjustment
Reverse Adjustment is an operation to request manual reversal of a Pull-type transaction, without a 24-hour window after the transaction. This is typically due to failures in the execution of the Push or disputes.
-
The program owner initiates the reversal request.
-
Consume Novopayment's Reverse Adjustment API service.
2.1. Novopayment's Reverse Adjustment API service validates with the networks.
2.2. The networks provide pre-validation responses.
In case the reversal is not successful:
-
The Query API service will attempt to execute it again within a specified time.
3.1. Query API validates with the networks.
3.2. The networks send the corresponding reversal status confirmation.
-
Novopayment, as a Payment Enabler, responds to the program owner with the status of the reversal.
-
The reversal status is communicated to the user through the application.
Reports
Reports is an online service that allows you to query data from operations performed within a range of up to 120 days. You can query the following information per registered acquirer BIN:
- Masked Card Token
- Transaction conducted
- Transaction status
- Purpose
- Amount
- Tax
- Processing date
- Reason for transaction response codes
Requirements for Implementation
To implement this solution, the following are required:
- Have an acquiring BIN.
- Documentation of the base wallet flow.
- KYC (Know Your Customer) process.
- Transaction flow.
- Brokers interested in implementing.
- Definitions of Domestic or Cross-Border business models.
- Use cases, flows, and identification of the APIs to be used.