> This page is for Developers.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://zuora.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://zuora.ferndocs.com/_mcp/server.

# List payment applications

GET https://rest.test.zuora.com/object-query/payment-applications

Lists payment applications. You can use the query parameters to filter, expand, and sort the returned results.


Reference: https://zuora.ferndocs.com/developers/api-reference/zuora-api/object-query/object-queries/query-payment-applications

## Authentication

- `Authorization` header (bearer token, required) — Use `Bearer {{token}}` in the `Authorization` header for authentication.

## Servers

- `https://rest.test.zuora.com` (US Developer & Central Sandbox (incl. Test Drive), default)
- `https://rest.sandbox.na.zuora.com` (US API Sandbox Cloud 1)
- `https://rest.apisandbox.zuora.com` (US API Sandbox Cloud 2)
- `https://rest.na.zuora.com` (US Production Cloud 1)
- `https://rest.zuora.com` (US Production Cloud 2)
- `https://rest.test.eu.zuora.com` (EU Developer & Central Sandbox)
- `https://rest.sandbox.eu.zuora.com` (EU API Sandbox)
- `https://rest.eu.zuora.com` (EU Production)
- `https://rest.test.ap.zuora.com` (APAC Developer & Central Sandbox)
- `https://rest.ap.zuora.com` (APAC Production)

## Request

### Query parameters

- `pageSize` (integer, optional, default: 10) — The maximum number of results to return in a single page. If the specified `pageSize` is less than 1 or greater than 99, Zuora will return a 400 error.
- `cursor` (string, optional) — A cursor for use in pagination. A cursor defines the starting place in a list. For instance, if you make a list request and receive 100 objects, ending with `next_page=W3sib3JkZXJ=`, your subsequent call can include `cursor=W3sib3JkZXJ=` in order to fetch the next page of the list.
- `sort[]` (list of string, optional) — A case-insensitive query parameter that specifies the sort order of the list, which can be either ascending (e.g. `accountnumber.ASC`) or descending (e.g. `accountnumber.DESC`). You cannot sort on properties in arrays. If the array-type properties are specified for the `sort[]` parameter, they are ignored. Supported sortable fields: - id - updateddate - effectivedate - accountid - paymentid - applicationgroupid
- `expand[]` (list of enum, optional) — Allows you to expand responses by including related object information in a single call.
  - Allowed values: `payment`
- `filter[]` (list of string, optional) — A case-insensitive filter on the list. Supported filterable fields: * id * updateddate * effectivedate * accountid * paymentid * applicationgroupid * \{indexedcustomfield}: Use the format like `customField__c` to filter on custom fields.
- `fields[]` (list of string, optional) — A case-insensitive query parameter that allows you to specify which fields are returned in the response.
- `includeNullFields` (boolean, optional, default: false) — Specifies whether to include fields with the `null` value in the response. - If set to `true`, all fields will be returned in the response, including those with the `null` value. - If set to `false`, only fields with non-null values will be returned.

### Headers

- `Idempotency-Key` (string, optional) — 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. With this header specified, the Zuora server can identify subsequent retries of the same request using this value, which prevents the same operation from being performed multiple times by accident.
- `Accept-Encoding` (string, optional) — Include the `Accept-Encoding: gzip` header to compress responses as a gzipped file. It can significantly reduce the bandwidth required for a response. If specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a `Content-Encoding` header with the compression algorithm so that your client can decompress it.
- `Content-Encoding` (string, optional) — Include the `Content-Encoding: gzip` header to compress a request. With this header specified, you should upload a gzipped file for the request payload instead of sending the JSON payload.
- `Zuora-Track-Id` (string, optional) — A custom identifier for tracing the API call. If you set a value for this header, Zuora returns the same value in the response headers. This header enables you to associate your system process identifiers with Zuora 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 (`"`), and quote (`'`).
- `Zuora-Entity-Ids` (string, optional) — An entity ID. If you have [Zuora Multi-entity](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Multi-entity) enabled and the OAuth token is valid for more than one entity, you must use this header to specify which entity to perform the operation in. If the OAuth token is only valid for a single entity, or you do not have Zuora Multi-entity enabled, you should not set this header.
- `Zuora-Org-Ids` (string, optional) — Comma separated IDs. If you have Zuora Multi-Org enabled, you can use this header to specify which orgs to perform the operation in. If you do not have Zuora Multi-Org enabled, you should not set this header. The IDs must be a sub-set of the user's accessible orgs. If you specify an org that the user does not have access to, the operation fails. This header is important in Multi-Org (MO) setups because it defines the organization context under which the API should operate—mainly used for read access or data visibility filtering. If the header is not set, the operation is performed in scope of the user's accessible orgs.
- `Zuora-Version` (string, optional) — The minor API version. For a list of available minor versions, see [API upgrades](https://developer.zuora.com/v1-api-reference/api-upgrades/).

## Response

### 200

OK

- `nextPage` (string, optional, nullable) — A string that can be used as the `cursor` value to retrieve the next page of the response if it exists; otherwise absent.
- `data` (list of ExpandedPaymentApplication, optional)

## Errors

### 500 Internal Server Error

Internal server error

- `reasons` (list of CommonOqErrorResponseReasonsItems, optional) — The container of the error code and message. This field is available only if the `success` field is `false`.
- `requestId` (any, optional) — The unique identifier of the request.

### 400 Client Request Error

Invalid input

- `reasons` (list of CommonOqErrorResponseReasonsItems, optional) — The container of the error code and message. This field is available only if the `success` field is `false`.
- `requestId` (any, optional) — The unique identifier of the request.

## Types

### ExpandedPaymentApplication

- `id` (string, optional) — The unique identifier of the payment application.
- `createdById` (string, optional) — The unique identifier of the user who created the payment application.
- `createdDate` (datetime, optional) — The date and time when the payment application was created.
- `updatedById` (string, optional) — The unique identifier of the user who last updated the payment application.
- `updatedDate` (datetime, optional) — The date and time when the payment application was last updated.
- `applyAmount` (double, optional) — The applied amount of the payment.
- `effectiveDate` (date, optional) — The date when the payment application takes effect, in `yyyy-mm-dd` format. The effective date is later than or equal to the maximum effective date of the payment.
- `paymentApplicationStatus` (enum, optional) — The status of the payment application.
  - Allowed values: `Processing`, `Processed`, `Cancelled`
- `accountId` (string, optional) — The ID of the customer account associated with the payment application.
- `paymentId` (string, optional) — The unique ID of the created payment.
- `invoiceId` (string, optional) — The ID of the invoice to which the payment is applied.
- `applicationGroupId` (string, optional) — The ID of the application group to which this payment application belongs.
- `debitMemoId` (string, optional) — The ID of the debit memo to which the payment is applied.
- `billingDocumentOwnerId` (string, optional) — The ID of the billing document owner.
- `accountReceivableAccountingCodeId` (string, optional) — The accountReceivableAccountingCode of a standalone charge. **Note:** This field is available when the Standalone Orders, Zuora Finance, and Invoice Settlement features are enabled.
- `unappliedPaymentAccountingCodeId` (string, optional) — The accounting code for the unapplied payment.
- `cashAccountingCodeId` (string, optional) — The accounting code for cash payments.
- `journalEntryId` (string, optional) — The ID of the journal entry that corresponds to this transaction.
- `payment` (NestedPaymentOnExpand, optional)

### CommonOqErrorResponseReasonsItems

- `code` (integer, optional) — The error code of response.
- `message` (string, optional) — The detail information of the error response

### NestedPaymentOnExpand

- `id` (string, optional) — The unique identifier of the payment.
- `createdById` (string, optional) — The unique identifier of the user who created the payment.
- `createdDate` (datetime, optional) — The time that the payment gets created in the system, in the `YYYY-MM-DD HH:MM:SS` format.
- `updatedById` (string, optional) — The unique identifier of the user who last updated the payment.
- `updatedDate` (datetime, optional) — The time that the payment gets updated in the system, in the `YYYY-MM-DD HH:MM:SS` format.
- `accountId` (string, optional) — The ID of the customer account that the payment is for.
- `accountingCode` (string, optional) — The accounting code for the charge. Accounting codes group transactions that contain similar accounting attributes.
- `amount` (double, optional) — The total amount of the payment.
- `appliedAmount` (double, optional) — The applied amount of the payment.
- `authTransactionId` (string, optional) — The authorization transaction ID from the payment gateway.
- `appliedCreditBalanceAmount` (double, optional) — The amount of the payment to apply to a credit balance.
- `bankIdentificationNumber` (string, optional) — The first six or eight digits of the credit card or debit card used for the payment, when applicable. Use this field to reconcile payments between the gateway and merchant banks.
- `cancelledOn` (datetime, optional) — The date when the payment was canceled.
- `comment` (string, optional, nullable) — Comments about the payment.
- `currency` (string, optional) — When Standalone Payment is not enabled, the `currency` of the payment must be the same as the payment currency defined in the customer account settings through Zuora UI. When Standalone Payment is enabled and `standalone` is `true`, the `currency` of the standalone payment can be different from the payment currency defined in the customer account settings. The amount will not be summed up to the account balance or key metrics regardless of currency.
- `effectiveDate` (date, optional) — The date and time when the payment takes effect, in `yyyy-mm-dd hh:mm:ss` format.
- `gatewayOrderId` (string, optional) — A merchant-specified natural key value that can be passed to the electronic payment gateway when a payment is created.
- `gatewayReconciliationReason` (string, optional) — The reason of gateway reconciliation.
- `gatewayReconciliationStatus` (string, optional) — The status of gateway reconciliation.
- `gatewayResponse` (string, optional) — The message returned from the payment gateway for the payment. This message is gateway-dependent.
- `gatewayResponseCode` (string, optional) — The code returned from the payment gateway for the payment. This code is gateway-dependent.
- `gatewayState` (enum, optional) — The status of the payment in the gateway; use for reconciliation.
  - Allowed values: `MarkedForSubmission`, `Submitted`, `Settled`, `NotSubmitted`, `FailedToSettle`
- `gatewayTransactionState` (string, optional)
- `isStandalone` (boolean, optional) — Indicates whether the payment is a standalone payment. A standalone payment is a payment that is not associated with any invoice or subscription.
- `markedForSubmissionOn` (datetime, optional) — The date and time when a charge was marked and waiting for batch submission to the payment process, in `yyyy-mm-dd hh:mm:ss` format.
- `paymentMethodId` (string, optional) — The unique ID of the payment method that the customer used to make the payment.
- `paymentMethodSnapshotId` (string, optional) — The unique ID of the payment method snapshot which is a copy of the particular Payment Method used in a transaction.
- `paymentOptionId` (string, optional) — ID of the paymentOption object, which describe the transactional level rules for processing payments.
- `paymentNumber` (string, optional) — The unique identification number of a payment.
- `payoutId` (string, optional) — The payout ID of the payment from the gateway side.
- `prepayment` (boolean, optional) — Indicates whether the payment is used as a reserved payment. See [Prepaid Cash with Drawdown](https://knowledgecenter.zuora.com/Zuora_Billing/Billing_and_Invoicing/JA_Advanced_Consumption_Billing/Prepaid_Cash_with_Drawdown) for more information.
- `referencedPaymentID` (string, optional) — The ID of a referenced payment.
- `referenceId` (string, optional) — The transaction ID returned by the payment gateway. Use this field to reconcile payments between your gateway and Zuora Payments.
- `refundAmount` (double, optional) — The amount of the payment that is refunded.
- `secondPaymentReferenceId` (string, optional) — The transaction ID returned by the payment gateway if there is an additional transaction for the payment. Use this field to reconcile payments between your gateway and Zuora Payments.
- `settledOn` (datetime, optional) — The date and time when the payment was settled in the payment processor, in `yyyy-mm-dd hh:mm:ss` format. This field is used by the Spectrum gateway only and not applicable to other gateways.
- `softDescriptor` (string, optional) — A payment gateway-specific field that maps to Zuora for the gateways, Orbital, Vantiv and Verifi.
- `softDescriptorPhone` (string, optional) — A payment gateway-specific field that maps to Zuora for the gateways, Orbital, Vantiv and Verifi.
- `source` (enum, optional) — Indicates how the payment was created, whether through API, manually, import, or payment run.
  - Allowed values: `PaymentRun`, `Import`, `Manually`, `API`
- `sourceName` (string, optional) — Name of the source. It can be a payment run number or a file name.
- `status` (enum, optional) — The status of the payment.
  - Allowed values: `Draft`, `Processing`, `Processed`, `Error`, `Canceled`, `Posted`
- `submittedOn` (datetime, optional) — The date and time when the payment was submitted, in `yyyy-mm-dd hh:mm:ss` format.
- `type` (enum, optional) — The type of the payment.
  - Allowed values: `External`, `Electronic`
- `transferredToAccounting` (enum, optional) — Whether the payment was transferred to an external accounting system. Use this field for integration with accounting systems, such as NetSuite.
  - Allowed values: `Processing`, `Yes`, `No`, `Error`, `Ignore`
- `transactionSource` (enum, optional) — Payment transaction source used to differentiate the transaction source in Stored Credential Transaction framework. - `C_Unscheduled`: Cardholder-initiated transaction (CIT) that does not occur on scheduled or regularly occurring dates. - `M_Recurring`: Merchant-initiated transaction (MIT) that occurs at regular intervals. - `M_Unscheduled`: Merchant-initiated transaction (MIT) that does not occur on scheduled or regularly occurring dates. - `M_MOTO`: Mail Order Telephone Order (MOTO) payment transaction. This option is only available for credit card payments on Stripe v2. See [Overview of Stripe payment gateway integration](https://knowledgecenter.zuora.com/Zuora_Collect/Payment_gateway_integrations/Supported_payment_gateways/Stripe_Payment_Gateway/A_Overview_of_Stripe_payment_gateway_integration) for more information.
  - Allowed values: `C_Unscheduled`, `M_Recurring`, `M_Unscheduled`, `M_MOTO`
- `unappliedAmount` (double, optional) — The unapplied amount of the payment.
- `lastEmailDateTime` (string, optional) — The date and time when the last email was sent to the customer for the payment.
- `gateway` (string, optional) — Name of the gateway instance that processes the payment.
- `account` (NestedPaymentOnExpandAccount, optional) — The account associated with the payment.
- `paymentMethod` (NestedPaymentOnExpandPaymentMethod, optional) — The payment method used for this payment.
- `paymentApplications` (list of NestedPaymentOnExpandPaymentApplicationsItems, optional) — The payment applications associated with the payment.

### NestedPaymentOnExpandAccount

The account associated with the payment.

### NestedPaymentOnExpandPaymentMethod

The payment method used for this payment.

### NestedPaymentOnExpandPaymentApplicationsItems

## Examples

**Response**

```json
{
  "nextPage": "W3sidmFsdWUiOiIyMDI0LTA4LTI4VDIzOjQzOjU1LTA3OjAwIiwib3JkZXJCeSI6eyJmaWVsZCI6IlVwZGF0ZWREYXRlIiwib3JkZXIiOiJERVNDIn19LHsidmFsdWUiOiI4YWQwODFkZDkxOTgyNDkyMDE5MTljZTA1ZDA5MzU1MCIsIm9yZGVyQnkiOnsiZmllbGQiOiJJZCIsIm9yZGVyIjoiREVTQyJ9fV0=",
  "data": [
    {
      "id": "8ad0980c92f64cda019318c7d84d46de",
      "createdById": "2c92c0f972a852360172bbe22ac551b6",
      "createdDate": "2024-11-10T17:12:50-08:00",
      "updatedById": "2c92c0f972a852360172bbe22ac551b6",
      "updatedDate": "2024-11-10T17:12:50-08:00",
      "applyAmount": 100,
      "effectiveDate": "2024-11-10",
      "paymentApplicationStatus": "Processed",
      "accountId": "8ad0875992f6328e0193161d917527e5",
      "paymentId": "8ad0980c92f64cda019318c7d82d46da",
      "invoiceId": "8ad08eb292f6328c019316356a7d5ab3",
      "applicationGroupId": "8ad0980c92f64cda019318c7d84d46dc",
      "billingDocumentOwnerId": "8ad0875992f6328e0193161d917527e5",
      "accountReceivableAccountingCodeId": "2c92c0f86cccaa59016cd5e108bf1206",
      "unappliedPaymentAccountingCodeId": "2c92c0f86cccaa59016cd5e108bf1206"
    }
  ]
}
```

**SDK Code**

```python Object Queries_queryPaymentApplications_example
import requests

url = "https://rest.test.zuora.com/object-query/payment-applications"

querystring = {"fields[]":"[\"id,createddate\"]"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript Object Queries_queryPaymentApplications_example
const url = 'https://rest.test.zuora.com/object-query/payment-applications?fields%5B%5D=%5B%22id%2Ccreateddate%22%5D';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Object Queries_queryPaymentApplications_example
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://rest.test.zuora.com/object-query/payment-applications?fields%5B%5D=%5B%22id%2Ccreateddate%22%5D"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Object Queries_queryPaymentApplications_example
require 'uri'
require 'net/http'

url = URI("https://rest.test.zuora.com/object-query/payment-applications?fields%5B%5D=%5B%22id%2Ccreateddate%22%5D")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java Object Queries_queryPaymentApplications_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://rest.test.zuora.com/object-query/payment-applications?fields%5B%5D=%5B%22id%2Ccreateddate%22%5D")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Object Queries_queryPaymentApplications_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://rest.test.zuora.com/object-query/payment-applications?fields%5B%5D=%5B%22id%2Ccreateddate%22%5D', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Object Queries_queryPaymentApplications_example
using RestSharp;

var client = new RestClient("https://rest.test.zuora.com/object-query/payment-applications?fields%5B%5D=%5B%22id%2Ccreateddate%22%5D");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Object Queries_queryPaymentApplications_example
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://rest.test.zuora.com/object-query/payment-applications?fields%5B%5D=%5B%22id%2Ccreateddate%22%5D")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```