Skip to content
Last updated

Refund a settled transaction

Prerequisites

Step 1: Confirm the transaction has settled

Retrieve the transaction and verify transaction_state is settled.

curl -X GET \
  https://api.dev.paradisegateway.net/v1/transactions/TRANSACTION-01JMRSPCK7XVNP3KS8F2W4T6Y \
  -H "APIKEY: YOUR-API-KEY"

If the state is authorized or captured, use a cancel (void) instead — it releases held funds immediately without incurring processing fees.

Step 2: Issue the refund

Send POST /v1/transactions/{id}/cancel with type: refund.

Full refund

Specify the original transaction amount to refund the full payment.

curl -X POST \
  https://api.dev.paradisegateway.net/v1/transactions/TRANSACTION-01JMRSPCK7XVNP3KS8F2W4T6Y/cancel \
  -H "Content-Type: application/json" \
  -H "APIKEY: YOUR-API-KEY" \
  -d '{
    "type": "refund",
    "amount": 15000
  }'

Partial refund

Specify a lesser amount to refund only part of the transaction.

{
  "type": "refund",
  "amount": 5000
}

This refunds 50.00 USD of the original 150.00 USD transaction.

Step 3: Verify the response

{
  "id": "TRANSACTION-01JMRSPCK7XVNP3KS8F2W4T6Y",
  "object": "RefundTransactionResponse",
  "type": "refund",
  "transaction_state": "authorized",
  "response_status": "Approved",
  "response_code": "00",
  "response_message": "The API request is approved.",
  "amount": 15000,
  "correlation_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901"
}

The refund transaction enters the next settlement batch. The person typically sees the credit on their statement within 5–10 business days.

Refund settlement

A refund is itself a transaction that goes through the batch settlement process. The refund amount is deducted from the merchant's next settlement batch.

Deciding: cancel or refund?

Transaction stateActionResult
authorized / capturedCancel (cancel)Hold released immediately, no funds move
settledRefund (refund)Credit returned to person in 5–10 days

Next steps