Create a refund | Moov Documentation

Create a refund

Initiate a refund for a card transfer.

Use the Cancel or refund a card transfer endpoint for more comprehensive cancel and refund options.

See the reversals guide for more information.

To access this endpoint using an access token you'll need to specify the /accounts/{accountID}/transfers.write scope.

POST

/accounts/{accountID}/transfers/{transferID}/refunds

Ask

curl -X POST "https://api.moov.io/accounts/{accountID}/transfers/{transferID}/refunds" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00"

Ask

mc, _ := moov.NewClient()

var accountID string
var transferID string

mc.RefundTransfer(ctx, accountID, transferID, moov.CreateRefund{
    Amount: 1700,
})

Ask

import { Moov } from "@moovio/sdk";

const moov = new Moov({
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.transfers.initiateRefund({
    xIdempotencyKey: "8d9af6b8-67e1-4efa-8188-68039f34097d",
    accountID: "cb6ae9f9-afab-4f06-9eb0-8abf54a3ada2",
    transferID: "04022119-95be-4ef4-9dd4-b3782f6aa7b9",
    createRefund: {
      amount: 1000,
      amountDetails: {
        surcharge: {
          currency: "USD",
          valueDecimal: "12.987654321",
        },
      },
    },
  });

console.log(result);
}

run();

Ask

declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\