Skip to main content

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.

mc send fast refund.drawio.png
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

payment_disbursement.disbursement_reference

HAPPYPATH_DISB_000001

string

Required. A partner-assigned unique reference identifier for the disbursement. Alphanumeric and * , - . _ ~. Length 6-40.

payment_disbursement.payment_type

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

payment_disbursement.amount

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.

payment_disbursement.currency

USD

string

Required. The currency of the amount as an ISO 4217 uppercase alpha-3 currency code; For example, US Dollars is USD.

payment_disbursement.sender_account_uri

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).

payment_disbursement.recipient_account_uri

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).

payment_disbursement.sender

 

object

Information about the sender of the transaction.

Optional.

If you provide this object, you must provide first_name and last_name.

payment_disbursement.sender.first_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.

payment_disbursement.sender.last_name

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.

payment_disbursement.sender.account_type

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.

payment_disbursement.sender.address


object

Sender's address.

Optional.

If you provide this object, you must provide line1, city and country.

payment_disbursement.sender.address.line1

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'.

payment_disbursement.sender.address.line2

Unit 5

string

Second line of the sender's address. Alphanumeric Special [a-zA-Z0-9 !"#$%&'()*+,-./\:;<=>?@[]_`{|}~ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ]

payment_disbursement.sender.address.city

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'.

payment_disbursement.sender.address.country_subdivision

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.

payment_disbursement.sender.address.postal_code

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.

payment_disbursement.sender.address.country

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.

payment_disbursement.recipient

 

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.

payment_disbursement.recipient.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'.

payment_disbursement.recipient.first_name

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'.

payment_disbursement.recipient.account_type

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.

payment_disbursement.recipient.address


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.

payment_disbursement.recipient.address.line1

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'.

payment_disbursement.recipient.address.line2

Unit B

string

Second line of the recipient's address. Alphanumeric Special [a-zA-Z0-9 !"#$%&'()*+,-./\:;<=>?@[]_`{|}~ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ]

payment_disbursement.recipient.address.city

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'.

payment_disbursement.recipient.address.country_subdivision

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.

payment_disbursement.recipient.address.postal_code

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.

payment_disbursement.recipient.address.country

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.

payment_disbursement.recipient.name_on_account

Lucy Lawrence

string

Name on the account. Applicable for non-card only. Details- 1-40

payment_disbursement.participant

 

Participant

Object

Information about a participant that may be passed along to the network. For example Bank which is registered in MC Send program.

payment_disbursement.participant.merchant_category_code

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.

payment_disbursement.participant.mastercard_assigned_merchant_id

12AB46

string

The Merchant ID assigned by Mastercard. Alphanumeric, length 6.

payment_disbursement.participant.purchase_trace_id

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.

payment_disbursement.funding_source

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.

payment_disbursement.transaction_purpose

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

disbursement.id

HAPPYPATH_DISB_000001

string

A partner-assigned unique reference identifier for the disbursement. Alphanumeric and * , - . _ ~. Length 6-40.

disbursement.payment_type

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

disbursement.created

2026-02-12T09:59:29Z

string

Request's acceptance timestamp

disbursement.status

REVERSED

string

Actual status

disbursement.original_status

APPROVED

string

Origin status

Example detailed workflow step by step
  1. Lucy returns her purchase to merchant and wants her money back.
  2. Merchant request his Bank to make a refund.
  3. Merchant's Bank requests Fast Refund to Verestro providing transaction metadata + marks payment_type as FRD in the request.
  4. Verestro calls Mastercard Send by executing proper method and provides data such as:
    1. Bank's identifier (partner_id)
    2. transaction metadata
    3. payment_type=FRD
  5. Mastercard Send checking is:
    1. Merchant's Bank is registered in Mastercard Send program.
    2. Merchant's Bank supports Fast Refund.
    3. Lucy's card is active.
    4. Lucy's issuing bank is registered in Mastercard Send program.
    5. Lucy's issuing bank supports Fast Refund.
  6. Mastercard Send informs Lucy’s issuing bank that it has funds for purchase return.
  7. 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).
    1. Mastercard Send gets response from the Lucy's issuing bank that funds have been collected - code 00.
  8. Mastercard Send informs Verestro about refund confirmation.
  9. Verestro informs Merchant's Bank about refund confirmation.
  10. Merchant's Bank informs Merchant abount refund confirmation.
  11. (Settlement) – "Next day" - Mastercard Send once per 24h sumarizes all such refunds and:
    1. totals the amounts of all Fast Refunds initiated by the Merchant's Bank.
    2. 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.