cancel
Showing results for 
Search instead for 
Did you mean: 

Update ARB Subscription Request - Error E00013

I'm trying to update arb subscriptions to point at new customer payment profiles. However, the API returns error E00013 with message "Phone is invalid. Phone can be one of following formats: 111- 111-1111 or (111) 111-1111."

 

I'm not even submitting the phone number with the request. Here's the code I'm using to construct the request (ruby SDK):

 

profile = CustomerProfileIdType.new(@info[:profile_id],@info[:payment_profile_id])
ARBUpdateSubscriptionRequest.new(
  nil,
  nil,
  @subscription_id,
  ARBSubscriptionType.new(nil,nil,nil,nil,nil,nil,nil,nil,nil,profile)
)

 

That code contructs a request that looks like this:

 

<arbupdatesubscriptionrequest>
  <subscriptionId>395823xx</subscriptionId>
  <subscription>
    <profile>
      <customerProfileId>19217479xx</customerProfileId>
      <customerPaymentProfileId>19557806xx</customerPaymentProfileId>
    </profile>
  </subscription>
</arbupdatesubscriptionrequest>

 

Why should I get a phone number error in this case?

 

Maybe the phone number on the customer profile is invalid. But if that's the case, then why am I able to submit the create customer profile request and the create subscription request without error?

Waterhouse
Contributor
13 REPLIES 13

I really don't see how this could anything other than an anet bug

 

  • createCustomerProfile: passes validation
  • transactions using stored profile information: passes validation
  • create subscription with stored profile information: passes validation
  • createCustomerPaymentProfile with existing profile: passes validation
  • update subscription to use new payment profile: fails validation

 

Every payment profile is submitted with a phone number in E.164 format, but validation only fails on subscription update. I'm beginning to suspect that this issue will never be solved

@Waterhouse

 

Are you including a + sign in the phone number?

 

Richard

Yeah. Would it work if I omitted it?

I did a little experimenting, and the update request only succeeds if both the old payment profile and the new payment profile have phone numbers in US format, which means that it's impossible to make this work for international customers.

 

Is there any way I can get any help with this whatsoever? It's been over a month since I messaged dev support, and they never replied.

 

Is there maybe a way to control API validations from the dashboard? It makes no rational sense for this validation to be present on subscription update and not on any other requests.

 

Is the phone number important on the customer profile? Maybe I could just put in a filler number for every customer and save their real number in our db.

 

I really wish you guys would just make ARB work properly instead of making me spend so much time coming up with workarounds.