Update a payment method

This operation allows you to update an existing payment method.

The following request body fields can be updated for any payment method types except for Credit Card Reference Transaction:

  • authGateway
  • gatewayOptions
  • accountHolderInfo
  • ipAddress
  • Custom fields

The following request body fields can be updated only for the Credit Card payment method:

  • expirationMonth
  • expirationYear
  • securityCode

The following request body field can be updated for the Credit Card, Credit Card Reference Transaction, ACH, and Bank Transfer payment methods:

  • mandateInfo
Request
path Parameters
payment-method-id
required
string

Unique ID of the payment method to update.

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.

Authorization
string

The value is in the Bearer {token} format where {token} is a valid OAuth token generated by calling Create an OAuth token.

Zuora-Track-Id
string <= 64 characters

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.

If the header is not set, the operation is performed in scope of the user's accessible orgs.

Request Body schema: application/json
required
object (accountHolderInfo)

The account holder information. This field is not supported in updating Credit Card Reference Transaction payment methods.

accountKey
string

The customer account ID such as 2x92c0f859b0480f0159d3a4a6ee5bb6 or the customer account number such as A02855638.

Note: You can use this field to associate an orphan payment method with a customer account. If a payment method is already associated with a customer account, you cannot change the associated payment method through this operation. You cannot remove the previous account ID and leave this field empty, either.

authGateway
string

Specifies the ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method.

This field is not supported in updating Credit Card Reference Transaction payment methods.

currencyCode
string

The currency used for payment method authorization.

object

The field used to pass gateway-specific parameters and parameter values. The fields supported by gateways vary. For more information, see the Overview topic of each gateway integration in Zuora Knowledge Center.

Zuora sends all the information that you specified to the gateway. If you specify any unsupported gateway option parameters, they will be ignored without error prompts.

This field is not supported in updating Credit Card Reference Transaction payment methods.

ipAddress
string

The IPv4 or IPv6 information of the user when the payment method is created or updated. Some gateways use this field for fraud prevention. If this field is passed to Zuora, Zuora directly passes it to gateways.

If the IP address length is beyond 45 characters, a validation error occurs.

For validating SEPA payment methods on Stripe v2, this field is required.

object

The mandate information for the Credit Card, Credit Card Reference Transaction, ACH, or Bank Transfer payment method.

object

The container for payment method processing options.

expirationMonth
integer

One or two digits expiration month (1-12).

expirationYear
integer

Four-digit expiration year.

securityCode
string

Optional. It is the CVV or CVV2 security code specific for the credit card or debit card. To ensure PCI compliance, this value is not stored and cannot be queried.

If securityCode code is not passed in the request payload, this operation only updates related fields in the payload. It does not validate the payment method through the gateway.

If securityCode is passed in the request payload, this operation retrieves the credit card information from payload and validates them through the gateway.

property name*
additional property
any

Custom fields of the payment method. The name of each custom field has the form customField__c. Custom field names are case sensitive. See Manage Custom Fields for more information.

Custom fields are not supported in updating Credit Card Reference Transaction payment methods.

Responses
200
500

Internal Server Error

4XX

Request Errors

put/v1/payment-methods/{payment-method-id}
Request samples
application/json
{
  • "securityCode": "331"
}
Response samples
application/json
{
  • "id": "2c92c0f86c99b4eb016cae1ee301728f",
  • "success": true
}