Refunds

Return funds securely with sale-referenced or adhoc refunds, while ensuring proper validation and risk controls.

Refunds allow you to return funds to your customers in a simple and secure way.

PCE supports two types of refund workflows:

  1. Payment-Referenced Refunds: Linked directly to the original sale or capture, providing stronger security and easier reconciliation.
    1. Full Refund: The complete amount of the original transaction is returned to the customer.
    2. Partial Refund: Only a portion of the original transaction amount is returned, while the remaining balance stays captured. Multiple partial refunds can be issued until the full captured amount is refunded.
  2. Ad-hoc Refunds: Independent payouts that can be used when no original transaction reference is available.

This section explains when to use each workflow and provides guidelines for handling both full and partial refunds.

Prerequisites

  • Merchant account with refund permissions
  • PCI DSS Level 1 compliance for sale referenced refunds
  • Adhoc refunds require explicit activation and KYC checks

Payment-Referenced Refunds

Payment referenced refunds link a reversal directly to its original sale or capture. This ensures you don’t refund more than the captured amount and provides automated reconciliation checks.

When to use

  • Product returns (online or in-store)
  • Partial refunds for out-of-stock items
  • Service cancellations with prorated refunds

Create Partial or Full Refunds

To create Partial or Full Refund for an existing Payment:

  1. Use the POST /checkout/v3/payment/{id} endpoint that includes:

    Parameter

    Description

    ternderType

    Set to CARD for card transactions.

    amount

    Negative Amount of Payment (in US currency units). For example, "amount"= "-15".

    • Specify the complete amount of payment to initiate a Full Refund.
    • Specify partial amount of payment to initiate a Partial Refund. You can initiate multiple refunds until the total refund amount is less than or equal to the original payment amount.

    cardAccount

    Valid Card Account Token which can be fetched from the GET

    /checkout/v3/payment/{id}

    of the parent sale or capture.

    merchantId

    Merchant location ID.

  2. The GET /checkout/v3/payment/{id} endpoint gives a response of the refund with:

    • id: Unique identifier for the refund payment.
    • paymentToken: Secure token for future operations like void the refund.
    • status: Status of the refund. You will also receive the result in a webhook.
  3. Wait for the Refund webhook to learn the outcome of the request.

You can store the id and paymentToken for:

  • Retrieving refund payment's details later.
  • Voiding the refund (if needed).

Adhoc Refunds

Adhoc refunds (non-referenced) create standalone credit transactions not tied to any prior sale. They require additional risk controls and are disabled by default.

When to use

  • Goodwill gestures (customer service credits)
  • Promotional payouts or cashback rewards
  • Error corrections without original transaction reference
  • Insurance or claim payouts directly to card

Create Adhoc refunds

To create an Adhoc Refund:

  1. Use the POST /checkout/v3/payment endpoint that includes:
ParameterDescription
ternderTypeSet to CARD for card transactions.
amountNegative Amount (in US currency units). For example, "amount"= "-15"
cardAccountValid Card Account Token of the parent sale against which the refund is being initiated.
merchantIdMerchant location ID
  1. The GET /checkout/v3/payment/{id} endpoint gives a response with:
  • id: Unique identifier for the payment
  • paymentToken: Secure token for future operations like void the refund.
  • status: Status of the refund. You will also receive the result in a webhook.
  1. Wait for the Refund webhook to learn the outcome of the request.

Void Refund

Void operation will cancel the previously initiated refund. This is useful when the transaction needs to be canceled due to any reason.

Voiding helps avoid unnecessary holds on customer funds and improves customer experience.

Use voids when:

  • A refund is no longer needed.

NOTE:

  • Void of refund is only possible before it is settled (before batch closure).

Steps to Void a Refund

To Void a Refund:

  1. Use the DELETE /checkout/v3/payment/{id} endpoint.
  2. The GET /checkout/v3/payment/{id} endpoint gives a response with:
    • status: Status of the payment marked as VOIDED.
  3. Wait for the Void Authorization Webhook to learn the outcome of the request.

Once voided, the refund cannot be captured. No settlement occurs; the void transaction is final.



© 2025 Priority Technology Holdings LLC. All rights reserved.