PUT /v1/payment-methods/{payment-method-id}
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
Servers
- https://rest.test.zuora.com
- https://rest.sandbox.na.zuora.com
- https://rest.apisandbox.zuora.com
- https://rest.na.zuora.com
- https://rest.zuora.com
- https://rest.test.eu.zuora.com
- https://rest.sandbox.eu.zuora.com
- https://rest.eu.zuora.com
Path parameters
Name | Type | Required | Description |
---|---|---|---|
payment-method-id |
String | Yes |
Unique ID of the payment method to update. |
Request headers
Name | Type | Required | Description |
---|---|---|---|
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/json" |
Content-Encoding |
String | No |
Include the |
Zuora-Track-Id |
String | No |
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 ( |
Authorization |
String | No |
The value is in the |
Zuora-Entity-Ids |
String | No |
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 do not need to set this header. |
Zuora-Org-Ids |
String | No |
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. |
Accept-Encoding |
String | No |
Include the If specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a |
Request body fields
Name | Type | Required | Description |
---|---|---|---|
currencyCode |
String | No |
The currency used for payment method authorization. |
gatewayOptions |
Object | No |
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. |
gatewayOptions.key |
String | No |
The name of a gateway-specific parameter. |
gatewayOptions.value |
String | No |
The value of the gateway-specific parameter. |
authGateway |
String | No |
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. |
securityCode |
String | No |
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. |
ipAddress |
String | No |
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. |
processingOptions |
Object | No |
The container for payment method processing options. |
processingOptions.checkDuplicated |
Boolean | No |
Indicates whether to perform a duplication check when you create a payment method of the following types:
The default value is With this field set to For more information, see Duplication check on payment methods. |
accountKey |
String | No |
The ID of the customer account associated with this payment method, such as 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. |
mandateInfo |
Object | No |
The mandate information for the Credit Card, Credit Card Reference Transaction, ACH, or Bank Transfer payment method. |
mandateInfo.mandateStatus |
String | No |
The status of the mandate from the gateway side. |
mandateInfo.mandateReason |
String | No |
The reason of the mandate from the gateway side. |
mandateInfo.mandateId |
String | No |
The mandate ID. |
accountHolderInfo |
Object | No |
The account holder information. This field is not supported in updating Credit Card Reference Transaction payment methods. |
accountHolderInfo.email |
String | No |
The email address of the account holder. |
accountHolderInfo.phone |
String | No |
The phone number of the account holder. |
accountHolderInfo.country |
String | No |
The country where the account holder stays. This field is required for SEPA payment methods on Stripe v2 for certain countries. |
accountHolderInfo.state |
String | No |
The state where the account holder stays. |
accountHolderInfo.zipCode |
String | No |
The zip code for the address of the account holder. |
accountHolderInfo.addressLine1 |
String | No |
The first line of the address for the account holder. This field is required for SEPA Direct Debit payment methods on Stripe v2 for certain countries. |
accountHolderInfo.city |
String | No |
The city where the account holder stays. |
accountHolderInfo.addressLine2 |
String | No |
The second line of the address for the account holder. |
expirationMonth |
Integer | No |
One or two digits expiration month (1-12). |
expirationYear |
Integer | No |
Four-digit expiration year. |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.