---
title: "POST /api/v4.0/integrations/transactions/refund"
method: POST
path: "/api/v4.0/integrations/transactions/refund"
---

# POST /api/v4.0/integrations/transactions/refund

`POST /api/v4.0/integrations/transactions/refund`

This API processes refunds or cancellations of cashback and points redemption transactions in Gameball. By providing a reverseTransactionId, Gameball identifies the related cashback or redemption transaction and adjusts the customer's points balance accordingly to reflect the refunded or canceled transaction.

## Request body

- object
  - `customerId` string, required — Unique identifier for the customer that you can reference across the customer's whole lifetime. Could be a database ID, random string, email, or anything that uniquely identifies the customer.
  - `email` string — Customer's email address. This is required if your account uses email-based channel merging.
  - `mobile` string — Customer's mobile number. This is required if your account uses mobile-based channel merging.
  - `refundTransactionId` string, required — A unique identifier for the refund process transaction in your system (e.g., refund number or transaction ID). This ID helps track and reference the refund process itself. Example: If a refund is processed for an item, the refundTransactionId could be REFUND-98765, which refers to the specific new refund transaction.
  - `reverseTransactionId` string, required — The unique transaction ID representing the original order being refunded, reversed, or canceled. This ID is sent as reverseTransactionId in the payload and links to the previous transaction. Example: If a customer requests a refund for an order previously made with transaction ID ORDER-12345, the reverseTransactionId will be ORDER-12345 to indicate which order is being refunded.
  - `transactionTime` string, date-time, required — The timestamp of the original transaction in your system (e.g., order datetime, invoice datetime). Must be in UTC (ISO 8601 format).
  - `refundAmount` number — The amount to be refunded from the original transaction. The entire transaction is refunded if this field is not provided. Note: For a full refund, you can use any of the following approaches: Send the refund request without the refundAmount field, Send the refund request with refundAmount set to null, Send the refund request with refundAmount equal to the total paid in the original order.
  - `merchant` object — This object contains details about the specific merchant involved in the transaction, which is particularly important for businesses managing multiple merchants or branches under the same Gameball account. This object can provide identifying information about both the main merchant and any associated branch where the transaction took place.
    - `uniqueId` string — Unique identifier for the merchant.
    - `name` string — Name of the merchant.
    - `branch` object
      - `uniqueId` string, required — Unique identifier for the branch where the transaction took place.
      - `name` string — Name of the branch where the transaction took place.
  - `lineItems` object[] — An array of items from the original transaction that are being refunded. If provided, only the items listed in this array will be refunded from the reverseTransactionId. If this field is not provided, the entire transaction specified by the reverseTransactionId will be refunded.
    - `productId` string — Unique identifier for the product or service being purchased.
    - `quantity` number — Number of units purchased for this product or service.
    - `price` number — The original price of a single product before any tax or discount is applied. This reflects the cost of one unit of the item, not the total for multiple quantities in an order. Example: If the original price of a product is $50 and a customer buys two units, the price for each item would still be recorded as $50, regardless of quantity.
    - `sku` string — Stock Keeping Unit (SKU) for the product.
    - `tags` string[] — Tags associated with the product for categorization or promotional purposes.
    - `category` string[] — Product category, such as fashion or electronics. It can include one or multiple categories. Example: ["natural", "cosmetics"]
    - `weight` number — Weight of the product.
    - `vendor` string — Vendor or manufacturer of the product.
    - `collection` string[] — Collection ID(s) to which the product belongs. It can include one or multiple collections. Example: ["14313", "4343"]
    - `title` string — Product title or name.
    - `taxes` number — The total amount of taxes applied to the line item, expressed in the shop's currency. This amount must be positive and reflects the total taxes based on the quantity of the item.
    - `discount` number — The total discount applied to this line item, expressed as a positive value. This amount should reflect the total discounts based on the quantity of the item.
    - `extra` object — Key-value pairs containing any extra information about the product, such as size, color, or other custom attributes. The values must be of type string or number.

## Response `200`

Refund processed successfully

- object
  - `gameballTransactionId` string — Unique identifier for the refund transaction in the Gameball system.
  - `refundTransactionId` string — Unique identifier for the refund process transaction in your system (e.g., refund number or transaction ID). This ID helps track and reference the refund process itself. Example: If the refund process for an order has a transaction ID REFUND-54321, this ID will be used to track the refund operation.
  - `refundAmount` number — The amount refunded from the original transaction. Example: If a customer was originally charged $100 and you refunded $40, the refundAmount will be 40.
  - `refundEquivalentPoints` number — The number of points equivalent to the monetary value refunded in the transaction. Example: If $40 is refunded and your points-to-currency ratio is 1 point = $0.10, then the refundEquivalentPoints would be 400 points.

---

[API](https://skmtc.net/gameballers/apis/gameball-api.md) · [All operations](https://skmtc.net/gameballers/apis/gameball-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gameballers/gameball-api/versions/2e4a8bfe2291/schema)
