Mastercard Send Fast Refund
What is Fast Refund?
Fast Refund is a service that enables merchants to initiate refunds to Mastercard cards, processed via the Mastercard Send infrastructure. This mechanism allows funds to appear in the customer's account almost instantly—typically within 30 minutes.
The Fast Refund service operates within the B2C (Business to Consumer) model. Common use cases include:
-
E-commerce: Instant refunds for returned goods.
-
Insurance Companies: Rapid payouts of small claims or policy adjustments.
How does it work?
To execute a refund, a request must be sent to the following endpoint: POST {base_url}/v1/partners/{partner_id}/disbursements/payment with the payment_type set to FRD. This value ensures that Mastercard Send recognizes the transaction specifically as a refund, triggering the appropriate processing logic. In this request, the partner_id serves as the unique identifier for the Bank (or the Technical Provider acting on its behalf) that is initiating the refund.
Request info
Click to expand example request body in JSON format
{
"payment_disbursement": {
"disbursement_reference": "HAPPYPATH_DISB_000001",
"payment_type": "FRD",
"amount": "5300",
"currency": "USD",
"sender_account_uri": "pan:5102589999999921;exp=2077-02;cvc=123",
"sender": {
"first_name": "XYZ",
"last_name": "Record Store",
"account_type": "03",
"address": {
"line1": "101 Main St",
"line2": "Unit 5",
"city": "Chicago",
"country_subdivision": "IL",
"postal_code": "60618",
"country": "USA"
}
},
"recipient_account_uri": "pan:5102589999999913;exp=2077-08;cvc=123",
"recipient": {
"first_name": "Vinyl",
"last_name": "Importers",
"account_type": "03",
"address": {
"line1": "234 Spiral Drive",
"line2": "Unit B",
"city": "St. Louis",
"country_subdivision": "MO",
"postal_code": "63368",
"country": "USA"
},
"name_on_account": "Lucy Lawrence"
},
"payment_disbursement": {
"participant": {
"merchant_category_code": "6536",
"mastercard_assigned_merchant_id": "12AB46",
"purchase_trace_id": "MS12ybwmc020404",
"transfer_acceptor_address": {
"line1": "123 Elm St",
"line2": "Apartment 9",
"city": "Chicago",
"country_subdivision": "IL",
"postal_code": "60618",
"country": "USA"
}
}
},
"funding_source": "DEBIT",
"transaction_purpose": "00",
"payment_origination_country": "USA"
}
}
Click to expand request parameter's description
|
PARAMETER |
VALUE |
DESCRIPTION |
|
|
HAPPYPATH_DISB_000001 |
string Required. A partner-assigned unique reference identifier for the disbursement. Alphanumeric and * , - . _ ~. Length 6-40. |
|
|
FRD |
string Conditional. Payment type of the disbursement. The allowed payment types for the partner must be enabled by Mastercard during onboarding. If the partner is enabled for multiple payment types, the appropriate payment type must be provided. Otherwise the field is optional. Valid values: AMS = Rapid Merchant Settlement B2B = General Business-to-Business Transfer FRD = Fast Refund GMR = Gaming Repay |
|
|
5300 |
number Required. The amount to be transferred. Numeric integer, 1-999999999999. The decimal point is implied based on the relevant currency exponent. For example, a US Dollar $53 amount is a value of 5300. |
|
|
USD |
string Required. The currency of the amount as an ISO 4217 uppercase alpha-3 currency code; For example, US Dollars is USD. |
|
|
pan:5102589999999921;exp=2077-02;cvc=123 |
string URI identifying the Sender's account number for this disbursement (payment transaction). For disbursements to Mastercard accounts, you must provide a value in this field, for example the full PAN or token (for a card account), full account number (for a Deposit or Bank Account), or full wallet ID (for a wallet). |
|
|
pan:5102589999999111;exp=2055-01;cvc=231 |
string URI identifying the recipient's account number for this disbursement (payment transaction). For disbursements to Mastercard accounts, you must provide a value in this field, for example the full PAN or token (for a card account), full account number (for a Deposit or Bank Account), or full wallet ID (for a wallet). |
|
|
object Information about the sender of the transaction. Optional. If you provide this object, you must provide first_name and last_name. |
|
|
|
Metal |
string The sender's first name. When sender.first_name is present in request, then sender.last_name is required. Alphanumeric Special [a-zA-Z0-9 !"#$%&'()*+,-./\:;<=>?@[]_`{|}~ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ], length 1-40. If the disburser is a business, provide the business name using both the first_name and last_name fields. |
|
|
Record Store |
String required The sender's last name. When sender.last_name is present in request, then sender.first_name is required. Alphanumeric Special [a-zA-Z0-9 !"#$%&'()*+,-./\:;<=>?@[]_`{|}~ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ], length 1-40. If the disburser is a business, provide the business name using both the first_name and last_name fields. |
|
|
03 |
String optional Identifies the sender's account number type. This field is optional. Valid values: '00' Other, '01' RTN + Bank Account, '02' IBAN, '03' Card Account, '04' Email, '05' Phone Number, '06' Bank account number (BAN) + Bank Identification Сode (BIC), '07' Wallet ID, '08' Social Network ID. Numeric, 2 characters. |
|
|
|
object Sender's address. Optional. If you provide this object, you must provide line1, city and country. |
|
|
101 Main St |
string Required. First line of the sender's address. Alphanumeric Special [a-zA-Z0-9 !"#$%&'()*+,-./\:;<=>?@[]_`{|}~ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ], length: 1-50. If you cannot provide the actual value, you must provide the alternative value '#NOTINCLUDED'. |
|
|
Unit 5 |
string Second line of the sender's address. Alphanumeric Special [a-zA-Z0-9 !"#$%&'()*+,-./\:;<=>?@[]_`{|}~ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ] |
|
|
Chicago |
string Required. The sender's city. Alphanumeric Special [a-zA-Z0-9 !"#$%&'()*+,-./\:;<=>?@[]_`{|}~ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ], length: 1-25. If you cannot provide the actual value, you must provide the alternative value '#NOTINCLUDED'. |
|
|
IL |
string The sender's province, state or territory. Conditional, required if sender's country is USA or CAN. Must be an ISO 3166-2 uppercase alpha 2 or 3 character country subdivision code. For example, Missouri is MO. |
|
|
60618 |
string The sender's postal code. For USA, this must be a valid value of 5 digits or 5 digits hyphen 4 digits, for example '63368', '63368-5555'. For other regions, this can be alphanumeric, length 1-10. |
|
|
USA |
string Required. The sender's country as an ISO 3166-1 uppercase alpha-3 country code; For example, the United States of America is USA. |
|
|
Recipient Information about the recipient of the transaction. Conditional. If a 'pan' scheme is provided in the recipient_account_uri, this recipient object is required. If you provide this object, you must provide first_name and last_name. |
|
|
|
Vinyl |
string Required. The recipient's last name. Alphanumeric Special [a-zA-Z0-9 !"#$%&'()*+,-./\:;<=>?@[]_`{|}~ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ], length 1-40. If you cannot provide the actual value, you must provide the alternative value '#NOTINCLUDED'. |
|
|
Importers |
string Required. The recipient's first name. Alphanumeric Special [a-zA-Z0-9 !"#$%&'()*+,-./\:;<=>?@[]_`{|}~ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ], length 1-40. If you cannot provide the actual value, you must provide the alternative value '#NOTINCLUDED'. |
|
|
03 |
string Identifies the recipient's account number type. This field is optional. Valid values: '00' Other, '01' RTN + Bank Account, '02' IBAN, '03' Card Account, '04' Email, '05' Phone Number, '06' Bank account number (BAN) + Bank Identification Сode (BIC), '07' Wallet ID, '08' Social Network ID. Numeric, 2 characters. |
|
|
|
object Recipient's home address. Conditional, required when it is a Visa OCT disbursement and Recipient Account URI institution country is CAN. If you provide this object, you must provide line1 and city. |
|
|
234 Spiral Drive |
string Required. First line of the recipient's address. Alphanumeric Special [a-zA-Z0-9 !"#$%&'()*+,-./\:;<=>?@[]_`{|}~ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ], length: 1-50. If you cannot provide the actual value, you must provide the alternative value '#NOTINCLUDED'. |
|
|
Unit B |
string Second line of the recipient's address. Alphanumeric Special [a-zA-Z0-9 !"#$%&'()*+,-./\:;<=>?@[]_`{|}~ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ] |
|
|
St. Louis |
string Required. The recipient's city. Alphanumeric Special [a-zA-Z0-9 !"#$%&'()*+,-./\:;<=>?@[]_`{|}~ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ], length: 1-25. If you cannot provide the actual value, you must provide the alternative value '#NOTINCLUDED'. |
|
|
MO |
string The recipient's province, state or territory. Conditional, required if sender's country is USA or CAN. Must be an ISO 3166-2 uppercase alpha 2 or 3 character country subdivision code. For example, Missouri is MO. |
|
|
63368 |
string The recipient's postal code. For USA, this must be a valid value of 5 digits or 5 digits hyphen 4 digits, for example '63368', '63368-5555'. For other regions, this can be alphanumeric, length 1-10. |
|
|
USA |
string Required. The sender's country as an ISO 3166-1 uppercase alpha-3 country code; For example, the United States of America is USA. |
|
|
Lucy Lawrence |
string Name on the account. Applicable for non-card only. Details- 1-40 |
|
|
Participant Object Information about a participant that may be passed along to the network. For example Bank which is registered in MC Send program. |
|
|
|
6536 |
string Classification of the merchant's type of business or service. Please contact your Mastercard representative to enable the usage of fields in this section. |
|
|
12AB46 |
string The Merchant ID assigned by Mastercard. Alphanumeric, length 6. |
|
|
MS12ybwmc020404 |
This field is to associate Original Purchase transaction with payment transaction for Fast Refund use case. Applicable for both Single and Dual message transaction. Alphanumeric, length 15. |
|
|
DEBIT |
string Funding source must contain one of the following: CREDIT, DEBIT, PREPAID, DEPOSIT_ACCOUNT, MOBILE_MONEY_ACCOUNT, CASH or OTHER. Optional, required for Visa OCT payment. If not provided, defaults to DEPOSIT_ACCOUNT. |
|
|
00 |
string The purpose of the transaction. String, numeric, length 2. Valid numeric values: 00 = Family Support 01 = Regular Labor Transfers (expatriates) 02 = Travel & Tourism 03 = Education 04 = Hospitalization and Medical Treatment 05 = Emergency Need 06 = Savings 07 = Gifts 08 = Other 09 = Salary 10 = Crowd lending 11 = Crypto currency 12 = Refund to original card 13 = Refund to new card 17 = Recycling Deposit Return 18 = Value Added Tax (VAT) Payment |
Response info
Click to expand example response body in JSON format
{
"disbursement": {
"id": "HAPPYPATH_DISB_000001",
"payment_type": "FRD",
"created": "2026-02-12T09:59:29Z",
"status": "APPROVED",
"original_status": "APPROVED"
}
}
Click to expand response parameter's description
|
PARAMETER |
VALUE |
DESCRIPTION |
|
|
HAPPYPATH_DISB_000001 |
string A partner-assigned unique reference identifier for the disbursement. Alphanumeric and * , - . _ ~. Length 6-40. |
|
|
FRD |
string Conditional. Payment type of the disbursement. The allowed payment types for the partner must be enabled by Mastercard during onboarding. If the partner is enabled for multiple payment types, the appropriate payment type must be provided. Otherwise the field is optional. Valid values: AMS = Rapid Merchant Settlement B2B = General Business-to-Business Transfer FRD = Fast Refund GMR = Gaming Repay |
|
|
2026-02-12T09:59:29Z |
string Request's acceptance timestamp |
|
|
REVERSED |
string Actual status |
|
|
APPROVED |
string Origin status |
Example detailed workflow step by step
- Lucy returns her purchase to merchant and wants her money back.
- Merchant request his Bank to make a refund.
- Merchant's Bank requests Fast Refund to Verestro providing transaction metadata + marks payment_type as FRD in the request.
- Verestro calls Mastercard Send by executing proper method and provides data such as:
- Bank's identifier (partner_id)
- transaction metadata
- payment_type=FRD
- Mastercard Send checking is:
- Merchant's Bank is registered in Mastercard Send program.
- Merchant's Bank supports Fast Refund.
- Lucy's card is active.
- Lucy's issuing bank is registered in Mastercard Send program.
- Lucy's issuing bank supports Fast Refund.
- Mastercard Send informs Lucy’s issuing bank that it has funds for purchase return.
- Lucy's issuing bank confirms the money has been received from Mastercard Send and sends it to Lucy's card (Fast Refund must be done within 30 minutes).
- Mastercard Send gets response from the Lucy's issuing bank that funds have been collected - code 00.
- Mastercard Send informs Verestro about refund confirmation.
- Verestro informs Merchant's Bank about refund confirmation.
- Merchant's Bank informs Merchant abount refund confirmation.
- (Settlement) – "Next day" - Mastercard Send once per 24h sumarizes all such refunds and:
- totals the amounts of all Fast Refunds initiated by the Merchant's Bank.
- withdraws the total sum from the Merchant Bank's settlement account and forwards it to Lucy’s issuing bank.
List of the payment statuses
| Status | Meaning |
|---|---|
| APPROVED | The transaction was successful and has been approved. |
| DECLINED | The transaction has been declined, either by the Receiving Institution or Mastercard. |
| UNKNOWN | The request has been accepted but processing has not completed within the allotted timeframe, possibly due to timeouts or network communication issues. For guidance, see Transaction Responses with an ‘UNKNOWN’ Status. |
| ERROR | Can be returned when a network or system error prevented processing of the transaction. This status is rarely seen in production. |
| REVERSED | The transaction has been reversed. This is unlikely to occur. Mastercard Send Payment Transactions are generally irrevocable and can only be reversed in exceptional circumstances. |
| PENDING | The transaction is still in progress. If you get this status for a card transaction, retry with another GET request. |
| CANCELLED | The non-card transaction has been cancelled. |
