Retrieve refund | Moov Documentation
Retrieve refund
Get details of a refund for a card transfer.
To access this endpoint using an access token you'll need to specify the /accounts/{accountID}/transfers.read scope.
Request
GET
/accounts/{accountID}/transfers/{transferID}/refunds/{refundID}
Examples
Shell
curl -X GET "https://api.moov.io/accounts/{accountID}/transfers/{transferID}/refunds/{refundID}" \
-H "Authorization: Bearer {token}" \
-H "X-Moov-Version: v2026.07.00"
Go
mc, _ := moov.NewClient()
var accountID string
var transferID string
var refundID string
mc.GetRefund(ctx, accountID, transferID, refundID)
TypeScript
import { Moov } from "@moovio/sdk";
const moov = new Moov({
security: {
username: "",
password: "",
},
});
async function run() {
const result = await moov.transfers.getRefund({
transferID: "e90d3386-c5b2-4e2b-b841-efc590eba6c0",
accountID: "bbb69538-edaa-4a0b-b107-f46f2da89864",
refundID: "8e12687e-a4e8-46c9-9e11-a57bbd781e44",
});
console.log(result);
}
run();
PHP
declare(strict_types=1);
require 'vendor/autoload.php';
use Moov\MoovPhp;
use Moov\MoovPhp\Models\Components;
$sdk = MoovPhp\Moov::builder()
->setSecurity(
new Components\Security(
username: '',
password: '',
)
)
->build();
$response = $sdk->transfers->getRefund(
transferID: 'e90d3386-c5b2-4e2b-b841-efc590eba6c0',
accountID: 'bbb69538-edaa-4a0b-b107-f46f2da89864',
refundID: '8e12687e-a4e8-46c9-9e11-a57bbd781e44'
);
if ($response->cardAcquiringRefund !== null) {
// handle response
}
Java
package hello.world;
import io.moov.sdk.Moov;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.operations.GetRefundResponse;
import java.lang.Exception;
public class Application {
public static void main(String[] args) throws Exception {
Moov sdk = Moov.builder()
.security(Security.builder()
.username("")
.password("")
.build())
.build();
GetRefundResponse res = sdk.transfers().getRefund()
.transferID("e90d3386-c5b2-4e2b-b841-efc590eba6c0")
.accountID("bbb69538-edaa-4a0b-b107-f46f2da89864")
.refundID("8e12687e-a4e8-46c9-9e11-a57bbd781e44")
.call();
if (res.cardAcquiringRefund().isPresent()) {
System.out.println(res.cardAcquiringRefund().get());
}
}
}
Python
from moovio_sdk import Moov
from moovio_sdk.models import components
with Moov(
security=components.Security(
username="",
password="",
),
) as moov:
res = moov.transfers.get_refund(transfer_id="e90d3386-c5b2-4e2b-b841-efc590eba6c0", account_id="bbb69538-edaa-4a0b-b107-f46f2da89864", refund_id="8e12687e-a4e8-46c9-9e11-a57bbd781e44")
# Handle response
print(res)
Ruby
require 'moov_ruby'
Models = ::Moov::Models
s = ::Moov::Client.new(
security: Models::Components::Security.new(
username: '',
password: ''
)
)
res = s.transfers.get_refund(transfer_id: 'e90d3386-c5b2-4e2b-b841-efc590eba6c0', account_id: 'bbb69538-edaa-4a0b-b107-f46f2da89864', refund_id: '8e12687e-a4e8-46c9-9e11-a57bbd781e44')
unless res.card_acquiring_refund.nil?
# handle response
end
C#
using Moov.Sdk;
using Moov.Sdk.Models.Components;
var sdk = new MoovClient(security: new Security() {
Username = "",
Password = "",
});
var res = await sdk.Transfers.GetRefundAsync(
transferID: "e90d3386-c5b2-4e2b-b841-efc590eba6c0",
accountID: "bbb69538-edaa-4a0b-b107-f46f2da89864",
refundID: "8e12687e-a4e8-46c9-9e11-a57bbd781e44"
);
// handle response
Response Example
Details of a card refund.
{
"refundID": "string",
"createdOn": "2019-08-24T14:15:22Z",
"updatedOn": "2019-08-24T14:15:22Z",
"status": "created",
"amount": {
"currency": "USD",
"value": 1204
},
"amountDetails": {
"surcharge": {
"currency": "USD",
"valueDecimal": "12.987654321"
}
},
"cardDetails": {
"status": "initiated",
"failureCode": "call-issuer",
"initiatedOn": "2019-08-24T14:15:22Z",
"confirmedOn": "2019-08-24T14:15:22Z",
"settledOn": "2019-08-24T14:15:22Z",
"failedOn": "2019-08-24T14:15:22Z",
"completedOn": "2019-08-24T14:15:22Z"
}
}
Response Headers
401 Unauthorized
- The request contained missing or expired authentication.
403 Forbidden
- The user is not authorized to make the request.
404 Not Found
- The requested resource was not found.
429 Too Many Requests
- Request was refused due to rate limiting.
500 Internal Server Error
- The request failed due to an unexpected error.
503 Service Unavailable
- The request failed because a downstream service failed to respond.
API Version
- Set this header to v2026.07.00 to use the API described in this specification. When omitted, the server defaults to v2024.01.00, which may not match the behavior documented here.