ZenPayments
  1. Card Payments
ZenPayments
  • General Information
    • Authentication
    • Errors
    • Responses
    • Filters
      • Example - gte
      • Example - between
      • Example - like
      • Example - in
      • Example - non-empty
    • Pagination
      • 10 results per page
    • Data Types
  • Merchants
    • Sandbox
      • Sandbox Payment Gateway
    • Card Payments
      • Authorization
        POST
      • Sale
        POST
      • Capture
        POST
      • Partial Capture
        POST
      • Refund
        POST
      • Partial Refund
        POST
      • Soft/Dynamic Descriptor
        POST
      • Card Authentication
        POST
      • Card Tokenization
        POST
      • Card Tokenization with Global Token
        POST
      • Sale with a Fee Terminal
        POST
    • Hosted Form
      • Generate
      • Generate with Billing and Contact Information
    • Hosted Fields
      • How it Works
      • Hosted Fields Token
        • Hosted Fields Token
      • Integration Guide
        • Step 1: Include the JavaScript Library
        • Step 2: Add HTML Elements for all payment fields
        • Step 3: Set the AccessToken and Configure the rest of the form
        • Step 4: Add styling
        • Step 5: Listen for Events
        • Step 6: Get the tokenized card
          • Get the tokenized card
        • Add Payment Method Page
        • Testing your integration
    • CustomerVault
      • Sandbox
        • Sandbox Dashboard
      • Hosted Card Form
        • Generate
      • Customers
        • List
        • View
        • Create
        • Update
        • Archive
        • Delete
      • Cards
        • List Cards
        • View
        • Add Card
        • Update Exp Date
        • Archive
        • Unarchive
        • Delete
      • Billing Information
        • List
        • View
        • Update
        • Create
      • Shipping Information
        • List
        • View
        • Update
        • Create
      • Recurring Payment
        • List
        • View
        • Update
        • Create
    • Transaction Reporting
      • List
      • View
    • Response Codes
      • Verification Response Codes
    • 3DSecure
      • Version
      • Create
        • Create
      • Check
        • Check
      • Test Cards
    • Account Updater
      • Card Compatibility
      • How It Works
        • Sale with Account Updater
    • ACH Payments
      • General Information
      • Transactions
        • SEC Codes
        • Statuses
        • Actions
          • Action
        • History Log
          • Log
        • List
        • View
        • Create ACH
        • Create ACH & Save Customer
        • Create ACH for an existing Customer
        • Create ACH for an existing Customer and specific Account
        • Remove
      • Hosted Form
        • Example Request
      • Customers
        • List Customers
        • View specific Customer
        • Create Customer
        • Update Customer
        • Delete a Customer
      • Customer Accounts
        • List Customer Accounts
        • Create Customer Account
        • Update Customer Account
        • Delete a Customer Account
      • Bank Information
        • View
      • ACH Settlements
        • List
        • View
      • ACH Webhooks
        • New ACH Record
        • ACH Status Update
        • New ACH Customer
    • Reporting
      • Sandbox
        • Sandbox Dashboard
      • Authorizations
        • List
        • List with Filters
      • Batches
        • List
        • List with Filters
        • Summary
      • Payouts
        • List
        • View
        • Export
      • Chargebacks
        • Disputes
          • Upload a temporary file
          • Create a Dispute
          • Preview
          • Submit
        • Webhooks
          • Signatures
          • Events
            • Chargeback
              • New Chargeback Record
              • Chargeback Update
        • View
          • List
          • View
      • Statements
        • List
        • Download
      • Reserve
        • List
      • Fraud Report
        • Generate
      • Visa Verifi
        • Submiting External Transactions
          • Submit
        • List
      • Other Reports
        • Request a Report
        • Check Status
        • Download
    • Gateway Test Cards
  • Platforms
    • Sandbox
      • Sandbox Dashboard
    • Onboarding
      • Boarding Applications
        • Campaigns
          • List
        • Equipment
          • Terminals
            • List
            • View
          • View
          • Update
        • List
          • List Boarding Applications
        • Create
          • Create Boarding Application
        • Delete
          • Delete Boarding Application
        • View
          • View Boarding Application
        • Update
          • Update Boarding Application
        • Principals
          • List Principals
          • Create Principal
          • Update a Single Principal
          • Mass update Principals
          • Delete Principal
        • Processing
          • View Processing section
          • Update Processing section
        • Merchant Category Codes (MCCs)
          • List MCCs
        • ACH
          • View ACH section
          • Update ACH section
        • Documents
          • Attachment About
            • List All Document Categories
          • View all documents
          • MPA
          • Assign a single document
          • Assign multiple documents
          • Update a single document
          • Delete a single document
        • Fees
          • Types
            • List
          • Other Fees
            • Add
            • Update
            • Delete
          • List all fees
          • View a specific fee
          • Update a single fee
          • Update multiple fees
        • Bank Accounts
          • Add
          • Update
          • Change
        • Validate
          • Validate a Boarding Application
        • URL
          • GET URL of Boarding Application
        • Signature
          • Request E-sign
            • Request Signature
          • Embed E-sign
            • Embeded E-sign Example Flow 1
            • Embeded E-sign Example Flow 2
            • Request Embed
          • Manually Signing
            • Manual Sign
          • External eSign Signing
            • External eSign
        • Automation
          • AutoSign
            • Set AutoSign
          • AutoUnderwriting
            • Set AutoUnderwriting
        • Status
          • Set status to Underwriting
        • Notes
          • List
          • Create
      • Merchants
        • Terminals
          • List Terminals
          • View a specific Terminal
          • VAR Sheet
          • VAR View
        • List Merchants
      • DBA
        • List
        • View
      • Attachments
        • Temporary Upload
          • Temporary Upload
        • Chunk Upload
          • Initialize
          • Upload Request 1/2
          • Upload Request 2/2
        • Standard Upload
        • List attachments
        • View
        • View in browser
        • Download
        • Delete
      • Webhooks
        • Signatures
        • Events
          • Boarding Application
          • Merchant
            • Account
              • New Acquiring Account
              • New ACH Account
              • Closed Acquiring Account
              • Closed ACH Account
            • Terminal
              • New Terminal Record
              • Update Terminal Record
              • Delete Terminal Record
    • Reporting
      • Authorizations
        • List
        • List with Filters
      • Batches
        • List
        • List with Filters
        • Summary
      • Payouts
        • List
        • View
        • Export
      • Chargebacks
        • View
          • List
          • View
        • Disputes
          • Upload a temporary file
          • Create a Dispute
          • Preview
          • Submit
        • Webhooks
          • Signatures
          • Events
            • Chargeback
              • New Chargeback Record
              • Chargeback Update
      • Statements
        • List
        • Download
      • Reserve
        • List
      • Fraud Report
        • Generate
      • Other Reports
        • Request a Report
        • Check Status
        • Download
    • Residuals
      • List
      • View
    • Tickets
      • Update Ticket Status
        • Close
        • Re-Open
      • Responses
        • List
        • Create
        • Add an Attachment
      • Attachments
        • List
        • View
        • Create
        • Delete
      • Categories
        • List
      • Notes
        • List
        • View
        • Create
        • Update
        • Delete
        • Attachments
      • List
      • Create
      • View a specific ticket
    • Connect
      • Webhooks
        • Access Granted
        • Access Updated
        • Access Revoked
    • Misc
      • Address Checker
        • List Countries
        • List States
        • List Cities and Zip Codes
        • Filter by City and State
      • BIN Check
        • Get BIN Information
  1. Card Payments

Refund

POST
/payment/<id>/refund
The refund method is used to refund/void an authorized or settled transaction. This method will void or reverse the transaction based on the card network.
Important: We do not allow refunds without transaction.id and an amount that exceeds the captured of the original transaction.
We support additional data for a refund request. If no amount is specified in the request, the system will return the full amount of the original transaction. You need to provide any discount and tax amount that was in the original transaction to perform a partial refund.
Important: In a refund request if the amount is present but the order.tax and order.discounts amounts are not present, the amount must be less than or equal to the subtotal amount of the original order.
The system will create a new transaction id for all refund transactions.
  • If the original transaction has been settled, the new transaction id created by the return will be processed offline and will not generate an auth code.
  • If the original transaction has not been settled, we link the original transaction to the return transaction. The gateway automatically reverses the transaction and an auth code will be generated.
Object
FieldsDescriptionTypeFilterableRequiredReadonly
idUnique ID of the refund recordIntegerYesNoYes
terminalTerminal ObjectObjectNoYesNo
terminal.idDashboard Terminal IDIntegerYesYesNo
amountAmount of the refundNumberNoNoNo

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Body Params application/json

Example
{
    "id": 883,
    "amount": "1.99",
    "origin": "API",
    "type": "Return",
    "level": 1,
    "authCode": null,
    "parent": {
        "id": 882
    },
    "terminal": {
        "id": 24
    },
    "threeds": {
        "id": null
    },
    "card": {
        "bin": 530957,
        "name": null,
        "number": 2257,
        "exp": "2030-12-31",
        "verification": {
            "cvv": null,
            "address": null
        },
        "networkTransactionId": null
    },
    "contact": null,
    "externalId": null,
    "isRecurring": "No",
    "split": null,
    "refunded": false,
    "captured": false,
    "history": [],
    "order": null,
    "feeTransaction": null,
    "batch": {
        "id": null,
        "number": null,
        "batchedOn": null
    },
    "ip": {
        "address": "216.73.161.60",
        "isp": "Ipxo Limited",
        "type": "hosting",
        "location": {
            "city": "New York",
            "state": "NY",
            "country": "US",
            "zip": "10013"
        },
        "info": {
            "isAnonymous": "Yes",
            "isAnonymousVpn": "No",
            "isPublicProxy": "No",
            "isHostingProvider": "Yes",
            "isTorExitNode": "No"
        }
    },
    "status": {
        "status": "Approved",
        "reason": null
    },
    "updatedOn": "2023-05-09 15:51:36",
    "createdOn": "2023-05-09 15:51:36"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/payment/<id>/refund' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "id": 883,
    "amount": "1.99",
    "origin": "API",
    "type": "Return",
    "level": 1,
    "authCode": null,
    "parent": {
        "id": 882
    },
    "terminal": {
        "id": 24
    },
    "threeds": {
        "id": null
    },
    "card": {
        "bin": 530957,
        "name": null,
        "number": 2257,
        "exp": "2030-12-31",
        "verification": {
            "cvv": null,
            "address": null
        },
        "networkTransactionId": null
    },
    "contact": null,
    "externalId": null,
    "isRecurring": "No",
    "split": null,
    "refunded": false,
    "captured": false,
    "history": [],
    "order": null,
    "feeTransaction": null,
    "batch": {
        "id": null,
        "number": null,
        "batchedOn": null
    },
    "ip": {
        "address": "216.73.161.60",
        "isp": "Ipxo Limited",
        "type": "hosting",
        "location": {
            "city": "New York",
            "state": "NY",
            "country": "US",
            "zip": "10013"
        },
        "info": {
            "isAnonymous": "Yes",
            "isAnonymousVpn": "No",
            "isPublicProxy": "No",
            "isHostingProvider": "Yes",
            "isTorExitNode": "No"
        }
    },
    "status": {
        "status": "Approved",
        "reason": null
    },
    "updatedOn": "2023-05-09 15:51:36",
    "createdOn": "2023-05-09 15:51:36"
}'

Responses

🟢200Refund
application/json
Body

Example
{
    "id": 883,
    "amount": "1.99",
    "origin": "API",
    "type": "Return",
    "level": 1,
    "authCode": null,
    "parent": {
        "id": 882
    },
    "terminal": {
        "id": 24
    },
    "threeds": {
        "id": null
    },
    "card": {
        "bin": 530957,
        "name": null,
        "number": 2257,
        "exp": "2030-12-31",
        "verification": {
            "cvv": null,
            "address": null
        },
        "networkTransactionId": null
    },
    "contact": null,
    "externalId": null,
    "isRecurring": "No",
    "split": null,
    "refunded": false,
    "captured": false,
    "history": [],
    "order": null,
    "feeTransaction": null,
    "batch": {
        "id": null,
        "number": null,
        "batchedOn": null
    },
    "ip": {
        "address": "216.73.161.60",
        "isp": "Ipxo Limited",
        "type": "hosting",
        "location": {
            "city": "New York",
            "state": "NY",
            "country": "US",
            "zip": "10013"
        },
        "info": {
            "isAnonymous": "Yes",
            "isAnonymousVpn": "No",
            "isPublicProxy": "No",
            "isHostingProvider": "Yes",
            "isTorExitNode": "No"
        }
    },
    "status": {
        "status": "Approved",
        "reason": null
    },
    "updatedOn": "2023-05-09 15:51:36",
    "createdOn": "2023-05-09 15:51:36"
}
Modified at 2025-08-09 05:39:41
Previous
Partial Capture
Next
Partial Refund
Built with