Skip to content

Create a refund

Request

Creates a new refund object.

Security
bearerAuth
Query
fields[]Array of strings

Allows you to specify which fields are returned in the response.

Accepted values `custom_fields`, `created_by_id`, `updated_by_id`, `created_time`, `id`, `updated_time`, `account_id`, `amount`, `refund_date`, `external`, `gateway_id`, `gateway_reconciliation_reason`, `gateway_reconciliation_status`, `gateway_response`, `gateway_response_code`, `gateway_state`, `comment`, `payment_method_id`, `payout_id`, `reason_code`, `reference_id`, `refund_method_type`, `refund_number`, `statement_descriptor`, `statement_descriptor_phone`, `state`, `state_transitions`
Example:fields[]=id,created_time
refund.fields[]Array of stringsdeprecated

Allows you to specify which fields are returned in the response.

Accepted values `custom_fields`, `created_by_id`, `updated_by_id`, `created_time`, `id`, `updated_time`, `account_id`, `amount`, `refund_date`, `external`, `gateway_id`, `gateway_reconciliation_reason`, `gateway_reconciliation_status`, `gateway_response`, `gateway_response_code`, `gateway_state`, `comment`, `payment_method_id`, `payout_id`, `reason_code`, `reference_id`, `refund_method_type`, `refund_number`, `statement_descriptor`, `statement_descriptor_phone`, `state`, `state_transitions`
Example:refund.fields[]=id,created_time
account.fields[]Array of strings

Allows you to specify which fields are returned in the response.

Accepted values `custom_fields`, `created_by_id`, `updated_by_id`, `created_time`, `id`, `updated_time`, `auto_pay`, `account_number`, `bill_to_id`, `sold_to_id`, `billing_document_settings`, `communication_profile_id`, `crm_id`, `sales_rep`, `parent_account_id`, `payment_gateway`, `payment_terms`, `remaining_credit_memo_balance`, `remaining_debit_memo_balance`, `remaining_invoice_balance`, `remaining_payment_balance`, `sequence_set_id`, `tax_certificate`, `batch`, `tax_identifier`, `bill_cycle_day`, `description`, `name`, `currency`, `default_payment_method_id`, `enabled`
Example:account.fields[]=id,created_time
payment_method.fields[]Array of strings

Allows you to specify which fields are returned in the response.

Accepted values `custom_fields`, `created_by_id`, `updated_by_id`, `created_time`, `id`, `updated_time`, `type`, `account_id`, `bank_identification_number`, `device_session_id`, `ip_address`, `maximum_payment_attempts`, `payment_retry_interval`, `state`, `use_default_retry_rule`, `existing_mandate`, `last_failed_sale_transaction_time`, `last_transaction_time`, `last_transaction_status`, `number_of_consecutive_failures`, `total_number_of_processed_payments`, `total_number_of_error_payments`, `billing_details`, `card`, `apple_pay`, `google_pay`, `ach_debit`, `cc_ref`, `paypal_adaptive`, `paypal_express_native`, `paypal_express`, `sepa_debit`, `betalings_debit`, `autogiro_debit`, `bacs_debit`, `au_becs_debit`, `nz_becs_debit`, `pad_debit`
Example:payment_method.fields[]=id,created_time
applied_to.fields[]Array of strings

Allows you to specify which fields are returned in the response.

Accepted values `id`, `amount`, `billing_document_id`, `billing_document_type`
Example:applied_to.fields[]=id,created_time
refund_applied_to_item.fields[]Array of strings

Allows you to specify which fields are returned in the response.

Accepted values `id`, `amount`, `credit_memo_item_id`, `taxation_item_id`
Example:refund_applied_to_item.fields[]=id,created_time
expand[]Array of strings

Allows you to expand responses by including related object information in a single call. See the Expand responses section of the Quickstart API Tutorials for detailed instructions.

filter[]Array of strings

A case-sensitive filter on the list. See the Filter lists section of the Quickstart API Tutorial for detailed instructions.
Note that the filters on this operation are only applicable to the related objects. For example, when you are calling the "Retrieve a billing document" operation, you can use the filter[] parameter on the related objects such as filter[]=items[account_id].EQ:8ad09e208858b5cf0188595208151c63

page_sizeinteger, [ 1 .. 99 ]

The maximum number of results to return in a single page. If the specified page_size is less than 1 or greater than 99, Zuora will return a 400 error.

Headers
zuora-track-idstring

A custom identifier for tracking API requests. If you set a value for this header, Zuora returns the same value in the response header. This header enables you to track your API calls to assist with troubleshooting in the event of an issue. The value of this field must use the US-ASCII character set and must not include any of the following characters: colon (:), semicolon (;), double quote ("), or quote (').

asyncboolean

Making asynchronous requests allows you to scale your applications more efficiently by leveraging Zuora's infrastructure to enqueue and execute requests for you without blocking. These requests also use built-in retry semantics, which makes them much less likely to fail for non-deterministic reasons, even in extreme high-throughput scenarios. Meanwhile, when you send a request to one of these endpoints, you can expect to receive a response in less than 150 milliseconds and these calls are unlikely to trigger rate limit errors. If set to true, Zuora returns a 202 Accepted response, and the response body contains only a request ID.

Default:false
zuora-entity-idsstring

An entity ID. If you have Multi-entity enabled and the authorization token is valid for more than one entity, you must use this header to specify which entity to perform the operation on. If the authorization token is only valid for a single entity or you do not have Multi-entity enabled, you do not need to set this header.

idempotency-keystring

Specify a unique idempotency key if you want to perform an idempotent POST or PATCH request. Do not use this header in other request types. This idempotency key should be a unique value, and the Zuora server identifies subsequent retries of the same request using this value. For more information, see Idempotent Requests.

accept-encodingstring

Include a accept-encoding: gzip header to compress responses, which can reduce the bandwidth required for a response. If specified, Zuora automatically compresses responses that contain over 1000 bytes. For more information about this header, see Request and Response Compression.

content-encodingstring

Include a content-encoding: gzip header to compress a request. Upload a gzipped file for the payload if you specify this header. For more information, see Request and Response Compression.

Bodyapplication/jsonrequired
amountnumberrequired

Refund amount.

descriptionstring

An arbitrary string attached to the object. Often useful for displaying to users.

gateway_optionsobject
Example:
{ "key": "value" }
refund_datestring, (date)

The date when the refund takes effect.

refund_method_typestring
Enum:"cash""check""wire_transfer""pay_pal""credit_card""cc_ref""ach_debit""debit_card""other"
reason_codestring

User-provided reason for the refund.

statement_descriptorstring, <= 35 characters

A payment gateway-specific field used by Orbital, Vantiv and Verifi.

statement_descriptor_phonestring, <= 20 characters

A payment gateway-specific field used by Orbital, Vantiv and Verifi.

externalboolean

If true, indicates that this refund is not handled by Zuora.

reference_idstring

Transaction identifier returned by the payment gateway. You may use this field to reconcile refunds between your payment gateway and Zuora Payments.

second_reference_idstring

A second transaction identifier returned by the payment gateway if there is an additional transaction for the refunds. You may use this field to reconcile payments between your payment gateway and Zuora Payments.

bank_account_accountstring

An active account in your Zuora Chart of Accounts.

on_account_accountstring

An active account in your Zuora Chart of Accounts.

unapplied_payment_accountstring

An active account in your Zuora Chart of Accounts.

custom_fieldsobject(CustomFields)

Set of user-defined fields associated with this object. Useful for storing additional information about the object in a structured format.

credit_memoobject(RefundCreditMemoRequest)

The related credit memo.

billing_documentsArray of objects(BillingDocumentPaymentApplicationRequest)

Indicates to which billing documents (invoices or debit memos) is the refund applied.

{ "account_id": "2c92c0f96abc17de016abd62bd0c5854", "amount": 5, "refund_date": "2022-09-07", "refund_method_type": "cash", "external": true, "payment_id": "8ad0887e83163bc7018319b1b6573d80", "statement_descriptor": "statement_descriptor", "statement_descriptor_phone": "statement_descriptor" }

Responses

Default Response

Headers
ratelimit-limitstring

The request limit quota for the time window closest to exhaustion. See rate limits for more information.

ratelimit-remainingnumber

The number of requests remaining in the time window closest to quota exhaustion. See rate limits for more information.

ratelimit-resetnumber

The number of seconds until the quota resets for the time window closest to quota exhaustion. See rate limits for more information.

zuora-request-idstring

Zuora’s internal identifier for this request.

zuora-track-idstring

A user-supplied identifier for this request. If you supply a zuora-track-id as a request header, Zuora returns the zuora-track-id as a response header.

Bodyapplication/json
idstring
updated_by_idstringread-only

Unique identifier of the Zuora user who last updated the object

updated_timestring, (date-time)read-only

The date and time when the object was last updated in ISO 8601 UTC format.

created_by_idstringread-only

Unique identifier of the Zuora user who created the object

created_timestring, (date-time)read-only

The date and time when the object was created in ISO 8601 UTC format.

custom_fieldsobject(CustomFields)

Set of user-defined fields associated with this object. Useful for storing additional information about the object in a structured format.

custom_objectsobjectread-only

The custom objects associated with a Zuora standard object.

amountnumber

Refund amount.

descriptionstring

An arbitrary string attached to the object. Often useful for displaying to users.

gateway_optionsobject
Example:
{ "key": "value" }
refund_datestring, (date)

The date when the refund takes effect.

refund_method_typestring
Enum:"cash""check""wire_transfer""pay_pal""credit_card""cc_ref""ach_debit""debit_card""other"
payment_idstringread-only

Identifier for the payment, either payment_number or `payment_id.

reason_codestring

User-provided reason for the refund.

statement_descriptorstring

A payment gateway-specific field used by Orbital, Vantiv and Verifi.

statement_descriptor_phonestring

A payment gateway-specific field used by Orbital, Vantiv and Verifi.

externalboolean

If true, indicates that this refund is not handled by Zuora.

reference_idstring

Transaction identifier returned by the payment gateway. You may use this field to reconcile refunds between your payment gateway and Zuora Payments.

second_reference_idstring

A second transaction identifier returned by the payment gateway if there is an additional transaction for the refunds. You may use this field to reconcile payments between your payment gateway and Zuora Payments.

bank_account_accountstring

An active account in your Zuora Chart of Accounts.

on_account_accountstring

An active account in your Zuora Chart of Accounts.

unapplied_payment_accountstring

An active account in your Zuora Chart of Accounts.

payment_method_idstringread-only

Identifier of the payment method used to create this refund.

account_idstring

Identifier of the customer this refund is for, if one exists.

accountobject(Account)

The account that owns the refund

gateway_idstring

Identifier of the payment gateway that Zuora will use to authorize the payments that are made with this payment method. If you do not set this field, Zuora will use one of the following payment gateways instead: The default payment gateway of the customer account that owns the payment method, if the payment method is associated with a customer account or the default payment gateway of your Zuora tenant.

commentstring

Comments about the refund.

gateway_responsestringread-only

Message returned by the payment gateway for this refund.

gateway_response_codestringread-only

Code returned by the payment gateway for this refund.

gateway_statestringread-only

The payment gateway state of the refund.

Enum:"marked_for_submission""submitted""settled""not_submitted""failed"
payment_methodobject(PaymentMethod)

Payment method information.

refund_numberstring

Human-readable identifier for this object; may be user-supplied.

state_transitionsobject(RefundStateTransitions)

The timestamps at which the object's state was updated.

statestringread-only

The state of the refund.

Enum:"draft""posted""processing""processed""error""canceled"
gateway_reconciliation_reasonstringread-only

Gateway reconciliation reason.

gateway_reconciliation_statusstringread-only

Gateway reconciliation state.

payout_idstringread-only

Identifier of the payout from the payment gateway.

applied_toArray of objects(RefundsAppliedToResponse)read-only
Response
{ "id": "8ad08aef83163bc5018319cfc9e00711", "updated_by_id": "2c92c0946a6dffc0016a7faab604299b", "updated_time": "2022-09-07T14:16:32-07:00", "created_by_id": "2c92c0946a6dffc0016a7faab604299b", "created_time": "2022-09-07T14:16:32-07:00", "custom_fields": { "field__c": "custom field value" }, "account_id": "2c92c0f96abc17de016abd62bd0c5854", "amount": 5, "refund_date": "2022-09-07", "payment_method_id": "8f64d4d73a20057bce2d3aedf9212bd1", "reason_code": "Standard Refund", "external": true, "gateway_state": "not_submitted", "refund_number": "R-00001109", "state_transitions": {}, "state": "processed" }