# Retrieve a payment method Retrieve the details of a specific Payment Method object. Endpoint: GET /object-query/payment-methods/{key} Version: 2026-02-20 Security: bearerAuth ## Header parameters: - `Idempotency-Key` (string) 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) 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) 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) 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) An entity ID. If you have Zuora 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) 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) The minor API version. For a list of available minor versions, see API upgrades. ## Path parameters: - `key` (string, required) Object ID or Number. ## Query parameters: - `pageSize` (integer) 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) 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[]` (array) 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. - `expand[]` (array) Allows you to expand responses by including related object information in a single call. Enum: "account" - `filter[]` (array) A case-insensitive filter on the list. - `fields[]` (array) A case-insensitive query parameter that allows you to specify which fields are returned in the response. Example: "id,createddate" - `includeNullFields` (boolean) 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. ## Response 200 fields (application/json): - `id` (string) The unique identifier of the payment method. - `createdById` (string) The unique identifier of the user who created the payment method. - `createdDate` (string) The time that the payment method gets created in the system, in the YYYY-MM-DD HH:MM:SS format. - `updatedById` (string) The unique identifier of the user who last updated the payment method. - `updatedDate` (string) The time that the payment method gets updated in the system, in the YYYY-MM-DD HH:MM:SS format. - `accountId` (string) The unique identifier of the account that the payment method is associated with. - `achAbaCode` (string) The nine-digit routing number or ABA number used by banks. This field is only required if the type field is set to ACH. - `achAccountName` (string) The name of the account holder, which can be either a person or a company. This field is only required if the type field is set to ACH. - `achAccountNumberMask` (string) The masked bank account number associated with the ACH payment method. This field is only required if the type field is set to ACH. - `achAccountType` (string) The type of bank account associated with the ACH payment method. This field is only required if the type field is set to ACH. When creating an ACH payment method on Adyen, this field is required by Zuora but it is not required by Adyen. To create the ACH payment method successfully, specify a real value for this field if you can. If it is not possible to get the real value for it, specify any of the allowed values as a dummy value, Checking preferably. Enum: "BusinessChecking", "Checking", "Saving" - `achAddress1` (string) First address line for the ACH payment method. - `achAddress2` (string) Second address line for the ACH payment method. - `achBankName` (string) The name of the bank where the ACH payment account is held. When creating an ACH payment method on Adyen, this field is required by Zuora but it is not required by Adyen. To create the ACH payment method successfully, specify a real value for this field if you can. If it is not possible to get the real value for it, specify a dummy value. - `achCity` (string) City for the ACH payment method. It is recommended to provide the city and country information when creating a payment method. The information will be used to process payments. If the information is not provided during payment method creation, the city and country data will be missing during payment processing. - `achCountry` (string) Country for the ACH payment method. Must be a valid country name or abbreviation. See View countries or regions for the list of supported country names and abbreviations. It is recommended to provide the city and country information when creating a payment method. The information will be used to process payments. If the information is not provided during payment method creation, the city and country data will be missing during payment processing. - `achPostalCode` (string) Zip code or postal code for the ACH payment method. - `achState` (string) State for the ACH payment method. Must be a valid subregion (state or province) name or code. For more information, see View subregions of a specific country or region. - `active` (boolean) Indicates whether the payment method type is active. This field is for Zuora internal use and does not impact customer integration or use cases. - `isSystem` (boolean) Indicates whether the payment method is a system-generated payment method. This field is for Zuora internal use and does not impact customer integration or use cases. - `accountVerificationService` (string) Displays the name of the service provider. For example, Plaid. - `accountVerificationStatus` (string) Displays the status of the account. Note: - Active - Access token is active. - Expired - Access token has expired and must be linked again. - Expiring - Access token will expire in few days(7 days for Plaid) and must be linked again - Inactive - The end customer has revoked the account pemission. The end customer can login again and select the same method for the access token to be linked again. Enum: "Active", "Expired", "Expiring", "Inactive" - `bankBranchCode` (string) The branch code of the bank used for Direct Debit. - `bankCheckDigit` (string) The check digit in the international bank account number, which confirms the validity of the account. Applicable to direct debit payment methods. - `bankCity` (string) The city of the direct debit bank. - `bankCode` (string) The sort code or number that identifies the bank. This is also known as the sort code. - `bankIdentificationNumber` (string) The first six or eight digits of the payment method's number, such as the credit card number or account number. Banks use this number to identify a payment method. - `bankName` (string) The name of the direct debit bank. - `bankPostalCode` (string) The zip code or postal code of the direct debit bank. - `bankStreetName` (string) The name of the street of the direct debit bank. - `bankStreetNumber` (string) The number of the direct debit bank. - `bankTransferAccountName` (string) The name on the direct debit bank account. - `bankTransferAccountNumberMask` (string) This is a masked displayable version of the bank account number, used for security purposes. For example: XXXXXXXXX54321. - `bankTransferAccountType` (string) The type of the customer's bank account. Applicable to direct debit payment methods. - `bankTransferType` (string) Specifies the type of direct debit transfer. The value of this field is dependent on the country of the user. Possible Values: * AutomatischIncasso (NL) * LastschriftDE (Germany) * LastschriftAT (Austria) * DemandeDePrelevement (FR) * DirectDebitUK (UK) * Domicil (Belgium) * LastschriftCH (CH) * RID (Italy) * OrdenDeDomiciliacion (Spain) * Autogiro (Sweden) * Betalingsservice (Denmark) Enum: "AutomatischIncasso", "LastschriftDE", "LastschriftAT", "DemandeDePrelevement", "DirectDebitUK", "Domicil", "LastschriftCH", "RID", "OrdenDeDomiciliacion", "Autogiro", "Betalingsservice" - `businessIdentificationCode` (string) The business identification code for Swiss direct payment methods that use the Global Collect payment gateway. Only applicable to direct debit payment methods in Switzerland with Global Collect. - `city` (string) The city of the customer's address. Applicable to debit payment methods. - `country` (string) The two-letter country code of the customer's address. Applicable to direct debit payment methods. - `creditCardAddress1` (string) The first line of the card holder's address, which is often a street address or business name. Applicable to credit card and direct debit payment methods. - `creditCardAddress2` (string) The second line of the card holder's address. Applicable to credit card and direct debit payment methods. - `creditCardCity` (string) The city of the card holder's address. Applicable to credit card and direct debit payment methods. - `creditCardCountry` (string) The country where the credit card holder stays. When creating a payment method through a translated UI or Payment Page, a country name in a translated language might be selected. Regardless of the country texts selected when creating the payment method, only the supported country name returns in this field. For a complete list of supported country names, see View countries or regions. Internationalization is not supported for the API field value. - `creditCardExpirationMonth` (integer) One or two digits expiration month. - `creditCardExpirationYear` (integer) Four-digit expiration year. - `creditCardHolderName` (string) The full name of the credit card holder. - `creditCardMaskNumber` (string) The masked credit card number, such as *1112. - `creditCardPostalCode` (string) The postal code for the address of the credit card holder. - `creditCardState` (string) The state where the credit card holder stays. - `creditCardType` (string) The type of the credit card or debit card. Possible values include Visa, MasterCard, AmericanExpress, Discover, JCB, and Diners. For more information about credit card types supported by different payment gateways, see [Supported Payment Gateways](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways). Note: This field is only returned for the Credit Card and Debit Card payment types. - `deviceSessionId` (string) The session ID of the user when the PaymentMethod was created or updated. - `existingMandate` (string) Indicates whether the mandate is an existing mandate. Enum: "Yes", "No" - `email` (string) The email address of the payment method holder. - `firstName` (string) The customer's first name. Only applicable to direct debit payment methods. - `iBAN` (string) The International Bank Account Number used to create the SEPA payment method. The value is masked. - `iPAddress` (string) The IP address of the user when the payment method was created or updated. - `identityNumber` (string) The identity number of the account holder or the cardholder. - `companyName` (string) The name of the company. - `isCompany` (boolean) Whether the customer account is a company. - `lastFailedSaleTransactionDate` (string) The date of the last failed attempt to collect payment with this payment method. - `lastName` (string) The customer's last name. Only applicable to direct debit payment methods. - `lastTransactionDateTime` (string) The date and time of the most recent transaction. - `lastTransactionStatus` (string) The status of the most recent transaction. - `mandateCreationDate` (string) The date on which the mandate was created. - `mandateId` (string) The mandate ID. - `mandateReason` (string) The reason of the mandate from the gateway side. - `mandateReceived` (string) Indicates whether the mandate is received from the gateway. Enum: "Yes", "No" - `mandateStatus` (string) The status of the mandate from the gateway side. - `mandateUpdateDate` (string) The date on which the mandate was updated. - `maxConsecutivePaymentFailures` (integer) The number of allowable consecutive failures Zuora attempts with the payment method before stopping. - `name` (string) The name of the payment method. - `numConsecutiveFailures` (integer) The number of consecutive failed payments for this payment method. It is reset to 0 upon successful payment. - `paymentMethodStatus` (string) The status of the payment method. Enum: "Active", "Closed", "Scrubbed" - `paymentRetryWindow` (integer) The retry interval setting, which prevents making a payment attempt if the last failed attempt was within the last specified number of hours. - `paypalBaid` (string) ID of a PayPal billing agreement. Example: "I-1TJ3GAGG82Y9" - `paypalEmail` (string) Email address associated with the PayPal payment method. - `paypalPreapprovalKey` (string) The PayPal preapproval key. - `paypalType` (string) The type of the PayPal payment method. - `phone` (string) The phone number that the account holder registered with the bank. This field is used for credit card validation when passing to a gateway. - `postalCode` (string) The zip code of the customer's address. Only applicable to direct debit payment methods. - `secondTokenId` (string) A gateway unique identifier that replaces sensitive payment method data. Note: This field is only returned for the Credit Card Reference Transaction payment type. - `state` (string) The state of the customer's address. Only applicable to direct debit payment methods. - `streetName` (string) The street name of the customer's address. Only applicable to direct debit payment methods. - `streetNumber` (string) The street number of the customer's address. Only applicable to direct debit payment methods. - `tokenId` (string) A gateway unique identifier that replaces sensitive payment method data or represents a gateway's unique customer profile. Applicable to CC Reference Transaction payment methods. - `totalNumberOfErrorPayments` (integer) The number of error payments that used this payment method. - `totalNumberOfProcessedPayments` (integer) The number of successful payments that used this payment method. - `type` (string) The type of the payment method. For example, CreditCard. - `useDefaultRetryRule` (boolean) Indicates whether this payment method uses the default retry rules configured in the Zuora Payments settings. - `methodReferenceId` (string) The identification reference of the custom payment method. This field should be mapped to a field name defined in the fields array for the purpose of being used as a filter in reporting tools such as Payment Method Data Source Exports and Data Query. - `userReferenceId` (string) The identification reference of the user or customer account. This field should be mapped to a field name defined in the fields array for the purpose of being used as a filter in reporting tools such as Data Source Exports and Data Query. - `subType` (string) The identification reference indicating the subtype of the custom payment method. This field should be mapped to a field name defined in the fields array for the purpose of being used as a filter in reporting tools such as Data Source Exports and Data Query. - `methodSpecificData` (string) Other method-specific data of the payment method. - `cardBrand` (string) The card brand, such as Visa and MasterCard. - `cardClass` (string) The type of the card. Enum: "ChargeCard", "Credit", "Debit", "DeferredDebit", "Prepaid" - `cardIssuingBank` (string) The issuer bank of the card, such as JPMORGAN CHASE BANK N.A.. - `cardIssuingCountry` (string) The issuing country code of the card, such as US. - `cardProductType` (string) The product type of the card. Enum: "Commercial_or_Corporate_Card", "Consumer_Card" - `account` (object) - `account.id` (string) The unique identifier of the account. - `account.createdById` (string) The unique identifier of the user who created the account. - `account.createdDate` (string) The date and time when the account was created. - `account.updatedById` (string) The unique identifier of the user who last updated the account. - `account.updatedDate` (string) The date and time when the account was last updated. - `account.accountNumber` (string) The account number that identifies the account. - `account.additionalEmailAddresses` (string) An additional email address to receive email notifications. - `account.allowInvoiceEdit` (boolean) Indicates whether associated invoices can be edited. - `account.autoPay` (boolean) Indicates whether future payments are automatically collected when they are due during a payment run. - `account.balance` (number) The customer's total invoice balance minus credit balance. - `account.batch` (string) The alias name given to a batch. A string of 50 characters or less. - `account.bcdSettingOption` (string) The billing cycle day setting option for the account. Enum: "ManualSet", "AutoSet" - `account.billCycleDay` (integer) Billing cycle day (BCD), the day of the month when a bill run generates invoices for the account. - `account.billToId` (string) The unique identifier of the bill-to contact associated with the account. - `account.communicationProfileId` (string) The unique identifier of the communication profile that Zuora uses when sending notifications to the account's contacts. - `account.creditBalance` (number) The current credit balance on the account. - `account.crmId` (string) External identifier of the account in a CRM system. - `account.currency` (string) A currency defined in the web-based UI administrative settings. - `account.customerServiceRepName` (string) Name of the account's customer service representative, if applicable. - `account.defaultPaymentMethodId` (string) ID of the default payment method for the account. - `account.eInvoiceProfileId` (string) ID of the e-invoice profile for this account. Note: This field is available only if you have the E-Invoicing feature in Early Adopter phase enabled. - `account.invoiceDeliveryPrefsEmail` (boolean) Indicates whether the customer wants to receive invoices through email. - `account.invoiceDeliveryPrefsPrint` (boolean) Whether the customer wants to receive printed invoices, such as through postal mail. - `account.invoiceTemplateId` (string) Invoice template ID, configured in Billing Settings in the Zuora UI. - `account.lastInvoiceDate` (string) Date of the most recent invoice for the account; null if no invoice has ever been generated. - `account.lastMetricsUpdate` (string) The date and time when account metrics are last updated, if the account is a partner account. Note: - This field is available only if you have the Reseller Account feature enabled. - If you ever set the partnerAccount field to true for an account, the value of lastMetricsUpdate field is the time when the account metrics are last updated. - `account.name` (string) The name of the account. - `account.notes` (string) A string of up to 65,535 characters. - `account.organizationId` (string) The unique identifier of the organization to which the account belongs. - `account.parentId` (string) Identifier of the parent customer account for this Account object. The length is 32 characters. Use this field if you have Customer Hierarchy enabled. - `account.partnerAccount` (boolean) Whether the customer account is a partner, distributor, or reseller. Note: This field is available only if you have the Reseller Account feature enabled. - `account.paymentMethodCascadingConsent` (boolean) true indicates the consent from your customer to use the Cascading Payment Method feature was collected. false indicates the consent was not collected and the Cascading Payment Method feature is not enabled. - `account.purchaseOrderNumber` (string) The purchase order number provided by your customer for services, products, or both purchased. - `account.salesRepName` (string) Name of the account's sales representative, if applicable. - `account.sequenceSetId` (string,null) The ID of the billing document sequence set to assign to the customer account. The billing documents to generate for this account will adopt the prefix and starting document number configured in the sequence set. If a customer account has no assigned billing document sequence set, billing documents generated for this account adopt the prefix and starting document number from the default sequence set. - `account.shipToId` (string) The unique identifier of the ship-to contact associated with the account. - `account.soldToId` (string) The unique identifier of the sold-to contact associated with the account. - `account.status` (string) The account status. Enum: "Active", "Draft", "Canceled" - `account.taxCompanyCode` (string) Unique code that identifies a company account in Avalara. Note: This feature is in Limited Availability. If you wish to have access to the feature, submit a request at [Zuora Global Support](https://support.zuora.com). - `account.taxExemptCertificateID` (string) ID of the customer tax exemption certificate. Applicable if you use Zuora Tax or Connect tax engines. - `account.taxExemptCertificateType` (string) Type of tax exemption certificate that the customer holds. Applicable if you use Zuora Tax or Connect tax engines. - `account.taxExemptDescription` (string) Description of the tax exemption certificate that the customer holds. Applicable if you use Zuora Tax or Connect tax engines. - `account.taxExemptEffectiveDate` (string) Date when the customer tax exemption starts, in YYYY-MM-DD format. Applicable if you use Zuora Tax or Connect tax engines. - `account.taxExemptEntityUseCode` (string) A unique entity use code to apply exemptions in Avalara AvaTax. See Exempt Transactions for more details. - `account.taxExemptExpirationDate` (string) Date when the customer tax exemption expires, in YYYY-MM-DD format. Applicable if you use Zuora Tax or Connect tax engines. - `account.taxExemptIssuingJurisdiction` (string) Jurisdiction in which the customer tax exemption certificate was issued. - `account.taxExemptStatus` (string) Status of the account tax exemption. Applicable if you use Zuora Tax or Connect tax engines. Required if you use Zuora Tax. Enum: "No", "Yes", "PendingVerification" - `account.totalInvoiceBalance` (number) Total balance of all posted invoices. - `account.unappliedBalance` (number) Total unapplied balance in this currency. - `account.vATId` (string) EU Value Added Tax ID. - `account.mrr` (number) Monthly recurring revenue for the account. - `account.totalDebitMemoBalance` (number) Total balance of all posted debit memos. - `account.unappliedCreditMemoAmount` (number) The total unapplied amount of all posted credit memos in this currency. - `account.creditMemoTemplateId` (string) ID of the credit memo template that is used to generate credit memos for the account. - `account.debitMemoTemplateId` (string) ID of the debit memo template that is used to generate debit memos for the account. - `account.paymentGateway` (string) The name of the payment gateway instance. If null or left unassigned, the account will use the default gateway. - `account.paymentTerm` (string) A payment-terms indicator defined in the web-based UI administrative settings, for example, Net 30. - `account.billTo` (object) The bill-to contact on this account. - `account.shipTo` (object) The ship-to contact on the account. - `account.soldTo` (object) The sold-to contact on the account. - `account.defaultPaymentMethod` (object) The default payment method associated with the account. - `account.subscriptions` (array) The subscriptions associated with the account. - `account.payments` (array) The payments associated with the account. - `account.refunds` (array) The refunds associated with the account. - `account.creditMemos` (array) The credit memos associated with the account. - `account.debitMemos` (array) The debit memos associated with the account. - `account.invoices` (array) The invoices associated with the account. - `account.usages` (array) The usage records associated with the account. - `account.paymentMethods` (array) The payment methods associated with the account. ## Response 500 fields (application/json): - `reasons` (array) The container of the error code and message. This field is available only if the success field is false. - `reasons.code` (integer) The error code of response. - `reasons.message` (string) The detail information of the error response - `requestId` (string) The unique identifier of the request. ## Response 4XX fields (application/json): - `reasons` (array) The container of the error code and message. This field is available only if the success field is false. - `reasons.code` (integer) The error code of response. - `reasons.message` (string) The detail information of the error response - `requestId` (string) The unique identifier of the request.