Skip to main content

Duplication check on payment methods

Zuora

Duplication check on payment methods

When creating or updating the following types of payment methods, if fields required for duplication check are passed in, Zuora will check the active and closed payment methods associated with the same billing account to ensure that no duplicate payment methods are created. To enable this duplication check support, submit a request at Zuora Global Support.

Payment method Fields used for duplication check
Credit Card cardNumber
ACH
  • routing number (passed through the bankABACode field)
  • bankAccountNumber
Bank Transfer Autogiro - Direct Debit SE
  • accountNumber
  • branchCode
Bacs - Direct Debit UK
  • accountNumber
  • bankCode
Becs - Direct Entry AU
  • accountNumber
  • branchCode
Becsnz - Direct Debit NZ
  • accountNumber
  • bankCode
  • branchCode
Betalingsservice - Direct Debit DK
  • accountNumber
  • bankCode
SEPA - Single Euro Payments Area IBAN
PAD - Pre-Authorized Debit
  • accountNumber
  • bankCode
  • branchCode

The duplication check is supported in the following approaches to creating or updating payment methods. In addition to the fields listed in the preceding table, ensure the following fields are passed in. Otherwise, the duplication check will not be performed.

Approach Required fields to perform duplication check
Hosted payment page
  • iFrame
  • Direct Post
  • accountKey
  • processingOptions.checkDuplicated = true
Create an account API operation
  • accountKey
  • paymentMethod.processingOptions.checkDuplicated = true
  • accountKey
  • newAccount.paymentMethod.processingOptions.checkDuplicated = true

If the payment method is duplicated, the following error message is returned:

The account number already exists with payment method Id <Payment_Method_ID>, please use a new account number or delete the existing one.

When creating the Credit Card payment method through the API operation, you can also use the checkDuplicated field at the top level of the payment method object to indicate whether to perform the duplication check. However, this field is being deprecated and the nested checkDuplicated field listed in the preceding table takes precedence.