Skip to main content
Search

Cancel a Refund Request

The BeneficiaryVASP calls this endpoint when it no longer intends to proceed with a refund. GTR marks the refund as cancelled and sends REFUND_DECISION (callbackType: 22) with decision: CANCEL to the OriginatorVASP.

Required implementation role: BeneficiaryVASP

  • Your role: BeneficiaryVASP
  • Counterparty: OriginatorVASP
  • Endpoint: POST /api/verify/v3/refund/cancel
curl --location --request POST '/api/verify/v3/refund/cancel' \
--cert-type P12 --cert ./certificate.p12:'[CERTIFICATE_PASSWORD]' \
--header 'Authorization: Bearer [LOGIN_TOKEN]' \
--header 'Content-Type: application/json' \
--data-raw '{
"refundBasicInfo": {"requestId": "beneficiary-exchange-550e8400-e29b-41d4-a716-446655440000"},
"refundCancelReason": {
"cancelReasonType": "SYSTEM_ERROR",
"cancelReason": "The refund transfer could not be created"
}
}'
FieldRequiredDescription
refundBasicInfo.requestIdYesExisting refund request ID, maximum 128 characters.
refundCancelReason.cancelReasonTypeYesNOT_SUPPORT or SYSTEM_ERROR for a VASP-initiated cancellation, maximum 64 characters. Timeout values such as DECISION_TIMEOUT and TX_ID_NOTIFY_TIMEOUT are system-generated.
refundCancelReason.cancelReasonYesHuman-readable cancellation reason, maximum 1,024 characters.

Only the recorded BeneficiaryVASP may cancel the request. A completed, rejected, or already cancelled refund is not editable.

{
"verifyStatus": 100000,
"verifyMessage": "this refund record has been cancelled",
"data": null
}

What happens next

After the BeneficiaryVASP cancels the refund, the OriginatorVASP receives the cancellation through the Refund Decision or Cancellation callback.