Request a Refund
The Refund a Transaction endpoint allows merchants to request a full or partial refund for a transaction.
Refund Flow
- Merchant → PagSeguro: Merchant requests a refund from PagSeguro.
- PagSeguro → Merchant: PagSeguro receives the data and returns the refund identifier to the Merchant.
- PagSeguro: PagSeguro processes the data transferred by the Merchant.
- PagSeguro → Merchant: PagSeguro notifies the Merchant of the transaction status change.
- Merchant: Merchant receives the notification and updates the order status.
Refund Eligibility
Check the refundable field in the Search Transaction Using Transaction Code endpoint:
true→ refundablefalse→ not refundable
Also validate supported payment methods by country Payment Methods Available by Country .
Refund Types
Full Refund
A full refund returns the entire transaction amount, including additional charges.
Partial Refund
A partial refund returns only part of the transaction amount.
- Multiple partial refunds are allowed
- The total refunded amount must not exceed the total transaction amount
Request Parameters
| Field | Description |
|---|---|
reference | Refund reference code in the merchant's store.. |
amount | Amount to be refunded |
notification_url | URL to receive refund status updates |
👉 Important:
The reference must be the code returned by PagSeguro at the time of payment creation.
It is not a merchant-defined reference.
Examples
To request a refund for a transaction, make a request to the Refund a Transaction endpoint, as shown in the example below.
The response will contain details about the refund request, such as ID, amount, and status.
Full Refund
{
"notification_url": "https://www.merchantwebsite.com/notify?type=refund",
"amount": 103.5,
"reference": "REF-XXX-1234567890"
}
{
"id": 35,
"reference": "REF-XXX-1234567890",
"amount": 103.5,
"status": "requested",
"created_at": "2021-04-12T11:16:55Z",
"updated_at": "2021-04-12T11:16:55Z"
}
Partial Refund
{
"notification_url": "https://www.merchantwebsite.com/notify?type=refund",
"amount": 50.0,
"reference": "REF-XXX-1234567890"
}
{
"id": 35,
"reference": "REF-XXX-1234567890",
"amount": 50.0,
"status": "requested",
"created_at": "2021-04-12T11:16:55Z",
"updated_at": "2021-04-12T11:16:55Z"
}
👉 In this scenario:
- Refunded amount: 50.00
- Remaining refundable amount: 53.50
✅ The merchant can still request additional refunds up to the remaining 53.50, including a refund of the full remaining balance.
Response
A successful request returns:
id: Refund identifieramount: Refunded valuestatus: Refund status
Key Rules
- Refund availability depends on transaction status and payment method
- Refund updates are asynchronous and sent via notification
