# Retrieve a payment method Use this operation to get the detailed information of an electronic payment method. To retrieve information of both electronic and non-electronic payment methods, use the Object Query operation. Note: This operation also supports retrieving the custom payment method created through the Open Payment Method service. Endpoint: GET /v1/payment-methods/{payment-method-id} Version: 2026-02-20 Security: bearerAuth ## Header parameters: - `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: - `payment-method-id` (string, required) Unique ID of the payment method to update. ## Response 200 fields (application/json): - `accountHolderInfo` (object) The account holder information. - `accountHolderInfo.accountHolderName` (string) The full name of the account holder. - `accountHolderInfo.addressLine1` (string) The first line of the address for the account holder. - `accountHolderInfo.addressLine2` (string) The second line of the address for the account holder. - `accountHolderInfo.city` (string) The city where the account holder stays. - `accountHolderInfo.country` (string) The country where the account 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. - `accountHolderInfo.email` (string) The email address of the account holder. - `accountHolderInfo.phone` (string) The phone number of the account holder. - `accountHolderInfo.state` (string) The state where the account holder stays. - `accountHolderInfo.zipCode` (string) The zip code for the address of the account holder. - `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 permission. The end customer can login again and select the same method for the access token to be linked again. Enum: "Active", "Expired", "Expiring", "Inactive" - `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. - `createdBy` (string) ID of the user who created this payment method. - `createdOn` (string) The date and time when the payment method was created, in yyyy-mm-dd hh:mm:ss format. - `creditCardMaskNumber` (string) The masked credit card number, such as: *1112 - `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" - `id` (string) The payment method ID. - `ipAddress` (string) The IP address of the user when the payment method was created or updated. - `isDefault` (boolean) Indicates whether this payment method is the default payment method for the account. - `lastFailedSaleTransactionDate` (string) The date of the last failed attempt to collect payment with this payment method. - `lastTransaction` (string) Indicates the occurrence and status of the last transaction. - `lastTransactionTime` (string) The time when the last transaction of this payment method happened. - `mandateInfo` (object) The mandate information for the Credit Card, Apple Pay, Google Pay, Credit Card Reference Transaction, ACH, or Bank Transfer payment method. The following mandate fields are common to all supported payment methods: * mandateId * mandateReason * mandateStatus The following mandate fields are specific to the ACH and Bank Transfer payment methods: * mandateReceivedStatus * existingMandateStatus * mandateCreationDate * mandateUpdateDate The following mandate fields are specific to the Credit Card, Apple Pay, and Google Pay payment methods: * mitTransactionId * mitProfileAgreedOn * mitConsentAgreementRef * mitConsentAgreementSrc * mitProfileType * mitProfileAction - `mandateInfo.existingMandateStatus` (string) Indicates whether the mandate is an existing mandate. Enum: "Yes", "No" - `mandateInfo.mandateCreationDate` (string) The date on which the mandate was created. - `mandateInfo.mandateId` (string) The mandate ID. - `mandateInfo.mandateReason` (string) The reason of the mandate from the gateway side. - `mandateInfo.mandateReceivedStatus` (string) Indicates whether the mandate is received from the gateway Enum: "Yes", "No" - `mandateInfo.mandateStatus` (string) The status of the mandate from the gateway side. - `mandateInfo.mandateUpdateDate` (string) The date on which the mandate was updated. - `mandateInfo.mitConsentAgreementRef` (string) Reference for the consent agreement that you have established with the customer. - `mandateInfo.mitConsentAgreementSrc` (string) Required if you set the mitProfileAction field. Specifies how the consent agreement has been established with the customer. The allowed value is External. If you do not specify the mitProfileAction field, Zuora will automatically create a stored credential profile for the payment method, with the default value External set to this field. Enum: "External" - `mandateInfo.mitProfileAction` (string) Specifies how Zuora creates and activates the stored credential profile. Only applicable if you set the status field to Active. - Activate (default) - Use this value if you are creating the stored credential profile after receiving the customer's consent. Zuora will create the stored credential profile then send a cardholder-initiated transaction (CIT) to the payment gateway to validate the stored credential profile. If the CIT succeeds, the status of the stored credential profile will be Active. If the CIT does not succeed, Zuora will not create a stored credential profile. If the payment gateway does not support the stored credential transaction framework, the status of the stored credential profile will be Agreed. - Persist - Use this value if the stored credential profile represents a stored credential profile in an external system. The status of the payment method's stored credential profile will be Active. If you do not specify this field, Zuora will automatically create a stored credential profile for the payment method, with the default value Activate set to this field. Enum: "Activate", "Persist" - `mandateInfo.mitProfileAgreedOn` (string) The date on which the stored credential profile is agreed. The date format is yyyy-mm-dd. - `mandateInfo.mitProfileType` (string) Indicates the type of the stored credential profile. If you do not specify the mitProfileAction field, Zuora will automatically create a stored credential profile for the payment method, with the default value Recurring set to this field. - `mandateInfo.mitTransactionId` (string) Specifies the ID of the transaction. Only applicable if you set the mitProfileAction field to Persist. - `maxConsecutivePaymentFailures` (integer) The number of allowable consecutive failures Zuora attempts with the payment method before stopping. - `numConsecutiveFailures` (integer) The number of consecutive failed payments for this payment method. It is reset to 0 upon successful payment. - `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. - `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. - `status` (string) The status of the payment method. Enum: "Active", "Closed", "Scrubbed" - `tokenId` (string) A gateway unique identifier that replaces sensitive payment method data or represents a gateway's unique customer profile. Note: This field is only returned for the Credit Card Reference Transaction payment type. - `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. Enum: "CreditCard", "CreditCardReferenceTransaction", "ACH", "SEPA", "Betalingsservice", "Autogiro", "Bacs", "Becs", "Becsnz", "PAD", "PayPalCP", "PayPalEC", "PayPalNativeEC", "PayPalAdaptive", "AdyenApplePay", "AdyenGooglePay", "GooglePay" - `updatedBy` (string) ID of the user who made the last update to this payment method. - `updatedOn` (string) The last date and time when the payment method was updated, in yyyy-mm-dd hh:mm:ss format. - `useDefaultRetryRule` (boolean) Indicates whether this payment method uses the default retry rules configured in the Zuora Payments settings. - `cardBinInfo` (object) The BIN information of a card payment method. - `cardBinInfo.brand` (string) The card brand, such as Visa and MasterCard. - `cardBinInfo.cardClass` (string) The type of the card. Enum: "ChargeCard", "Credit", "Debit", "DeferredDebit", "Prepaid" - `cardBinInfo.productType` (string) The product type of the card. Enum: "Commercial_or_Corporate_Card", "Consumer_Card" - `cardBinInfo.issuer` (string) The issuer bank of the card, such as JPMORGAN CHASE BANK N.A.. - `cardBinInfo.issuingCountryCode` (string) The issuing country code of the card, such as US. - `IBAN` (string) The International Bank Account Number used to create the SEPA payment method. The value is masked. - `accountNumber` (string) The number of the customer's bank account and it is masked. - `bankCode` (string) The sort code or number that identifies the bank. This is also known as the sort code. - `bankTransferType` (string) The type of the Bank Transfer payment method. For example, SEPA. - `branchCode` (string) The branch code of the bank used for Direct Debit. - `businessIdentificationCode` (string) The BIC code used for SEPA. The value is masked. - `identityNumber` (string) The identity number of the account holder or the cardholder. - `bankABACode` (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. - `bankAccountName` (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. - `bankAccountNumber` (string) The bank account number associated with the ACH payment. This field is only required if the type field is set to ACH. - `bankAccountType` (string) The type of bank account associated with the ACH payment. 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" - `bankName` (string) The name of the bank where the ACH payment account is held. 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 a dummy value. - `cardNumber` (string) The masked credit card number. When cardNumber is null, the following fields will not be returned: - expirationMonth - expirationYear - accountHolderInfo - `expirationMonth` (integer) One or two digits expiration month (1-12). - `expirationYear` (integer) Four-digit expiration year. - `securityCode` (string) The CVV or CVV2 security code for the credit card or debit card. Only required if changing expirationMonth, expirationYear, or cardHolderName. To ensure PCI compliance, this value isn''t stored and can''t be queried. - `BAID` (string) ID of a PayPal billing agreement. For example, I-1TJ3GAGG82Y9. - `email` (string) Email address associated with the PayPal payment method. - `preapprovalKey` (string) The PayPal preapproval key. - `googleBIN` (string) This field is only available for Google Pay payment methods. - `googleCardNumber` (string) This field is only available for Google Pay payment methods. - `googleCardType` (string) This field is only available for Google Pay payment methods. For Google Pay payment methods on Adyen, the first 100 characters of [paymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant) returned from Adyen are stored in this field. - `googleExpiryDate` (string) This field is only available for Google Pay payment methods. - `googleGatewayToken` (string) This field is only available for Google Pay payment methods. - `appleBIN` (string) This field is only available for Apple Pay payment methods. - `appleCardNumber` (string) This field is only available for Apple Pay payment methods. - `appleCardType` (string) This field is only available for Apple Pay payment methods. For Apple Pay payment methods on Adyen, the first 100 characters of [paymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant) returned from Adyen are stored in this field. - `appleExpiryDate` (string) This field is only available for Apple Pay payment methods. - `appleGatewayToken` (string) This field is only available for Apple Pay payment methods. ## Response 500 fields (application/json): - `reasons` (array) Example: [{"code":"ObjectNotFound","message":"Notification definition with id 6e569e1e05f040eda51a927b140c0ac1 does not exist"}] - `reasons.code` (string) The error code of response. - `reasons.message` (string) The detail information of the error response ## Response 4XX fields (application/json): - `processId` (string) The ID of the process that handles the operation. - `reasons` (array) The container of the error code and message. This field is available only if the success field is false. - `reasons.code` (string) The error code of response. - `reasons.message` (string) The detail information of the error response - `requestId` (string) Unique identifier of the request. - `success` (boolean) Indicates whether the call succeeded.