Fees

How to handle transactional fees

Overview

Quote APIs offer the ability to calculate a quote with the fee included as part of the sendAmount. This is beneficial to customers who only have a set amount to transfer and don't have additional funds to pay a fee.



How to implement

  1. To include the fee as part of the send amount set the"sendAmountIncludingFee": "true", in the Quote API request.

  2. In the Quote API response, the fee will be subtracted from the sendAmount.Amount.



API Request & Response Examples

curl --request POST \
     --url https://sandboxapi.moneygram.com/transfer/v1/transactions/quote \
     --header 'X-MG-ClientRequestId: 957908758' \
     --header 'accept: application/json' \
     --header 'authorization: Bearer NG46z9GEpNQlh0P5X9ISIHHX4GO3' \
     --header 'content-type: application/json' \
     --data '
{
  "targetAudience": "CONSUMER_FACING",
  "agentPartnerId": 43688984,
  "destinationCountryCode": "IND",
  "destinationCountrySubdivisionCode": "IN-DL",
  "serviceOptionCode": "WILL_CALL",
  "sendAmount": {
    "value": 100,
    "currencyCode": "USD"
  },
  "sendAmountIncludingFee": true
  "receiveCurrencyCode": "INR",
 }
'
{
  "transactions": [
    {
      "transactionId": "5cd02b98-aed2-4a7d-b857-41fb76af108f",
      "serviceOptionCode": "0",
      "serviceOptionName": "WILL_CALL",
      "sendAmount": {
        "amount": {
          "value": 85,
          "currencyCode": "USD"
        },
        "fees": {
          "value": 15,
          "currencyCode": "USD"
        },
        "taxes": {
          "value": 0,
          "currencyCode": "USD"
        },
        "total": {
          "value": 100,
          "currencyCode": "USD"
        }
      },
      "receiveAmount": {
        "amount": {
          "value": 6821.44,
          "currencyCode": "INR"
        },
        "fees": {
          "value": 0,
          "currencyCode": "INR"
        },
        "taxes": {
          "value": 0,
          "currencyCode": "INR"
        },
        "total": {
          "value": 6821.44,
          "currencyCode": "INR"
        },
        "fxRate": 80.2522,
        "fxRateEstimated": false
      }
    }
  ]
}

👍

Good to know:

Default value: If no value is passed for sendAmountIncludingFee: "null", the quote response will default to _exclude _the fee in the sendAmount.




UI Best Practice

We have provided the following wire frames as a basic guide to how Quote API response is typically handled by application UI: