authorize.netauthorize.net-arb

Why can't I create multiple subscriptions for a customer profile with the same amount and interval?


I am using the PHP SDK to create Subscriptions for customers in the following flow.

Create customer -> add payment profile -> create subscription.

The first subscription is created perfectly. After that if I try to create a subscription that on my side is a different subscription but has the same amount, interval, and occurrences I get the following error.

Error Code E00012

"You have submitted a duplicate of Subscription 4362497. A duplicate subscription will not be created."

The issue I have with this is that I'm passing a different refId and a different subscription name.

Is there anyway to create multiple subscriptions that have the same amount, interval and occurrences? There must be some way to define a different subscription that has those other fields the same.


Solution

  • According to Authorize.Net:

    The ARB system checks a new subscription for duplicates, using these fields:

    • subscription.article.merchantID
    • subscription.article.customerInfo.payment.creditCard.cardNumber
    • subscription.article.customerInfo.payment.eCheck.routingNumber
    • subscription.article.customerInfo.payment.eCheck.accountNumber
    • subscription.article.customerInfo.customerID
    • subscription.article.customerInfo.billingInfo.billToAddress.firstName
    • subscription.article.customerInfo.billingInfo.billToAddress.lastName
    • subscription.article.customerInfo.billingInfo.billToAddress.company
    • subscription.article.customerInfo.billingInfo.billToAddress.streetAddress
    • subscription.article.customerInfo.billingInfo.billToAddress.city
    • subscription.article.customerInfo.billingInfo.billToAddress.stateProv
    • subscription.article.customerInfo.billingInfo.billToAddress.zip
    • subscription.orderInfo.amount
    • subscription.orderInfo.invoice
    • subscription.recurrence.startDate
    • subscription.recurrence.interval
    • subscription.recurrence.unit

    If all of these fields are duplicated in an existing subscription, E00012 will result. Modifying any of these fields should result in a unique subscription.

    The invoice number seems like the best field to modify to make each subscription unique.