Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a Subscription from Customer Profile APi can not work. #284

Open
phpstudyone opened this issue Feb 9, 2018 · 25 comments
Open

Create a Subscription from Customer Profile APi can not work. #284

phpstudyone opened this issue Feb 9, 2018 · 25 comments
Assignees
Labels
feature-bug Bug in APIs/Feature

Comments

@phpstudyone
Copy link

Create a Subscription from Customer Profile API occasionally cannot work. Can you help me?

  1. I create customerPaymentProfileID is successful.
    image

  2. Then I charge a customer profile id also is successful.
    image

  3. Then I Get Customer Payment Profile also is successful.
    image

4. BUT then I Create a Subscription from Customer Profile is failure

image

@ashtru
Copy link
Contributor

ashtru commented Mar 26, 2018

I tried replicating the issue, and was able to create the subscription using from a payment profile with similar payment and billing information.
Were you able to resolve this issue ? If not, we can work on reproducing it together.

@phpstudyone
Copy link
Author

phpstudyone commented Mar 27, 2018

Environment:

sandbox (The formal environment did not observe this problem)

Steps to repeat:

  1. Create Customer Profile and not include paymentProfiles fields. (Using the Accept Customer Hosted Form capture users' Payment info).
  2. through request Get Accept Customer Profile Page getting token.
  3. When the Accept Customer Hosted Form return successful, request Get Customer Profile got payment profile id.
  4. Get PaymentProfileID immediately after request Create a Subscription from Customer Profile. (The interval between steps 3 and 4 must not exceed 20 seconds)

This problem seems to be caused by data synchronization delay.

My temporary solution is: After getting PaymentProfileID, wait 1 minute to create ARB. This time is usually successful.

@ashtru
Copy link
Contributor

ashtru commented Mar 27, 2018

Thanks for the detailed steps for reproduction, @phpstudyone

Yes, the delay in synchronization is possible.
This is a plausible workaround. Thanks!

@ashtru ashtru closed this as completed Mar 27, 2018
@ashtru ashtru reopened this Mar 27, 2018
@ashtru
Copy link
Contributor

ashtru commented Mar 27, 2018

Also, have you tested your integration using Sandbox recently?
Can you reply to the last comment on #301 ?

@phpstudyone
Copy link
Author

phpstudyone commented Mar 27, 2018

I am so sorry to keep you waiting.

upgrade to 1.9.6 or replace to lib/ssl/cert.pem can solve this problem(CURL ERROR: SSL certificate problem: unable to get local issuer certificate ).

Is this problem(CURL ERROR: SSL certificate problem: unable to get local issuer certificate ) related to failure to create an ARB?

@phpstudyone
Copy link
Author

I took back what I said. Because I found the formal environment also appeared this problem.

@Lardpower
Copy link

Lardpower commented Mar 29, 2018

I have absolutely the same error as @phpstudyone:

#E00040 - The record cannot be found

So the customer profile is created successfully, but I cannot use it immediately:
image

I didn't face this error until the previous week.


I found the same temporary solution about the delay after creating new customer profile in that old thread from Authorize.net forum:

There can be a few seconds latency from the time a profile is created until it becomes available for follow-on requests as data replicates. If you wait a few seconds, does the profile data return?

My tests indicate that I have to wait at least 7-8 seconds after creating the new customer profile before I can proceed and set up new subscription without E00040 error. If I'm waiting about 10 seconds, then I can create successfully subscription with that newly created customer profile. However, some random delay is not an acceptable solution for me.

This error persists in both environments: sandbox and production.

My version of the Authorize.net package:
authorizenet/authorizenet 1.9.6

@ashtru ashtru added the feature-bug Bug in APIs/Feature label Apr 9, 2018
@Lardpower
Copy link

Lardpower commented Jun 14, 2018

@ashtru, do you have any news about this issue?

I see that SDK 1.9.7 has been released, but still I should wait 10 seconds to perform the very base operation — create a new recurring payment. I consider this situation as unacceptable on production environment, where every second matters.

@chsriniv9
Copy link

@phpstudyone @Lardpower
We acknowledge that ARB subscription creation failure is due to data synchronization and introducing delay to address this issue is A temporary solution. We are working to enhance server side to offer seamless transaction flow from customer payment profile creation to new recurring payment creation. We will keep you posted.

@chsriniv9 chsriniv9 assigned chsriniv9 and anuragg29 and unassigned chsriniv9 Jun 15, 2018
@Lardpower
Copy link

@chsriniv9, thank you.

@Lardpower
Copy link

Happy new year everybody.

Is there any progress on this issue or it's abandoned by the developers?

One more question: is there any chance that this problem is solved in the latest release 1.9.9?

Thanks.

@dhcrzf
Copy link

dhcrzf commented Jan 22, 2019

I am experiencing this issue as well (with latest Node.js SDK). Introducing the artificial delay of 8 seconds does work.

@adamdew
Copy link

adamdew commented Jun 5, 2019

Hey everyone, I'm having the same issue as @phpstudyone @Lardpower but only in production, seems to work fine in sandbox. This issue has been open since February 2018, 16 months now. Has anyone come up with any interim solutions other than making users wait 7-10 seconds??

@Lardpower
Copy link

Adam, welcome to the club. Authorize.net developers don't care about this issue, so the only "solution" is to wait 10 seconds, even if it sounds crazy in the middle of the 2019 year.

@abishekrsrikaanth
Copy link

abishekrsrikaanth commented Nov 8, 2019

It kinda sucks that this issue has been going on for this long and hasn't been documented in the integration docs that would help developers if they come across this issue. I wasted about 3-4 hours looking up the docs to figure out what the issue is till I came across this issue report. As a resolution, I charged the customer for the current month and moved the Create Subscription functionality to a delayed queue to start from the next month, so I can send a response back to my customer immediately. Subsequently if the subscription creation fails even after that, then I redo the process again till a success is received from AuthorizeNet.

@abishekrsrikaanth
Copy link

@adamdew hopefully ^ helps

@TusharJoy
Copy link

Guys please try to solve this problem. It's a severe issue for the production server. I am literally wasting my hours try to find what caused the issue.

@phpstudyone
Copy link
Author

Steps to repeat:

  1. Create Customer Profile and not include paymentProfiles fields. (Using the Accept Customer Hosted Form capture users' Payment info).
  2. through request Get Accept Customer Profile Page getting token.
  3. When the Accept Customer Hosted Form return successful, request Get Customer Profile got payment profile id.
  4. Get PaymentProfileID immediately after request Create a Subscription from Customer Profile. (The interval between steps 3 and 4 must not exceed 20 seconds)

This problem seems to be caused by data synchronization delay.

My temporary solution is: After getting PaymentProfileID, wait 1 minute to create ARB. This time is usually successful.

What's even worse now is that there is enough data to show that in the third step above, the user information we obtained will often not have paymentProfileID and payment information. (Waiting for 15s before obtaining is usually successful)

@ashtru @chsriniv9

@Stitrans
Copy link

Stitrans commented Dec 3, 2019 via email

@Stitrans
Copy link

Stitrans commented Dec 3, 2019 via email

@GodAlmighty990
Copy link

I spent about 3 days trying to understand why if I create a customerPaymentProfile and then immediately go to create an ARB subscription I get the E00040 error. Who else got dumped off to Authorize.net after Stripe denies your business? IT. IS. 2023. TIME. FOR. UPDATED. DEV. DOCS. CEO of Authorize.net is rated a D boss when you look him up on google.

@tashhhh2
Copy link

2024 same problem and no one is going to solve it

@utsavsomaiya
Copy link

I have absolutely the same error as @phpstudyone:

#E00040 - The record cannot be found

So the customer profile is created successfully, but I cannot use it immediately: image

I didn't face this error until the previous week.

I found the same temporary solution about the delay after creating new customer profile in that old thread from Authorize.net forum:

There can be a few seconds latency from the time a profile is created until it becomes available for follow-on requests as data replicates. If you wait a few seconds, does the profile data return?

My tests indicate that I have to wait at least 7-8 seconds after creating the new customer profile before I can proceed and set up new subscription without E00040 error. If I'm waiting about 10 seconds, then I can create successfully subscription with that newly created customer profile. However, some random delay is not an acceptable solution for me.

This error persists in both environments: sandbox and production.

My version of the Authorize.net package: authorizenet/authorizenet 1.9.6

I got same issue in laravel app!

@GodAlmighty990
Copy link

GodAlmighty990 commented Sep 5, 2024 via email

@SagarNaliyapara
Copy link

SagarNaliyapara commented Sep 25, 2024

@ashtru Hello, do you have any plans to address this issue, or perhaps suggest a better workaround? I'd be willing to sponsor a fix if needed.

CC @gnongsie

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-bug Bug in APIs/Feature
Development

No branches or pull requests