Highnote's Unified Platform uses Unified Funds Transfers (UFTs) to initiate Instant Payments, of which, Instant Network Transfers are one payment rail, enabled through Visa Direct and Mastercard Move.
Unified Funds Transfers (UFTs) enable your cardholders to make near real-time domestic money movements between cards, whether personal or business.
To maintain PCI SAQ-A compliance, we recommend using Highnote's Checkout SDK to exchange PCI card data for a PaymentMethodToken
:
PaymentMethodToken
.createReusablePaymentMethodToken
.PaymentMethodToken.token
as the UnifiedFundsTransferQuote.destination.id
.Quotes are valid for 30 minutes. Once a quote has expired, you must generate a new one.
To start a card-to-card Unified Funds Transfer, you must request a quote for the fees to present to the user.
Use the following mutation to create a UnifiedFundsTransferQuote
in a quote state.
You may get back multiple quotes depending on the fee and time estimate.
FinancialAccount
owned by user.PaymentMethodToken.token
generated by the user that represents the non-Highnote issued card.source.amount
or destination.amount
. The unspecified amount will be calculated based on the defined amount plus the fee.To send a defined amount, use source.amount
and the fees will come off the destination.amount
. For example, if the source.amount
is defined as $100 USD, and the fee is $1 USD, the resulting destination.amount
will be defined as $99 USD.
To set the destination as a defined amount, use destination.amount
and the fees will come off the source.amount
. For example, if the destination.amount
is defined as $100 USD, and the fee is $1 USD, the resulting source.amount
will be defined as $101 USD.
Each UnifiedFundsTransferQuote
has an expiresAt
value for how long the quote is valid for.
Reference that timestamp to ensure the quote is still valid when offering it to the user.
Once the user has chosen a quote, you can initiate the transfer. Use a UnifiedFundsTransferQuote.quoteIdentifier
that has not expired to start the transfer.
To look up an existing Instant Network Transfer, use the following query: