Authorize.net Pro Form not upgrading properly

Hello,

I have a Pro license installed on my site (the domain recently changed from a previous IP address since we are about to launch).

I am very concerned about the Authorize.net Pro Form we have setup. It does not appear to be changing the role properly to Level 1. It appears that the short code is correct. The confirmation message displays (no errors). But the user is still just a “free” member and cannot access level 1 content.

I have disabled and deactivated cache plugin.

I have deleted any unused plugins and cleared all cache.

I have tested in multiple browsers.

In case it matters, we usually apply a coupon code in the form so the user can get the free upgrade. Not sure if this makes any difference, as the payment gateway is live and I don’t want to do a valid payment. Plus it’s a requirement for it to work for free upgrades.

Short code on the page is:

[s2Member-Pro-AuthNet-Form level=“1” ccaps="" desc="$3.99 USD / Monthly (recurring charge, for ongoing access)" cc=“USD” custom=“Our Site URL” ta=“0” tp=“0” tt=“D” ra=“3.99” rp=“1” rt=“M” rr=“1” rrt="" accept=“visa,mastercard,amex,discover” coupon="" accept_coupons=“1” default_country_code=“US” captcha=“0” /]

Any help or advice would be much appreciated.

The IP changing should not have any effect on this functionality, but just out of curiosity, did this work before you changed the IP?

You say that this shortcode does not “change” the role to Level 1. Does that mean these people are already Level 0? I ask because the shortcode you are using is not a modification shortcode, but a registration shortcode. If you are trying to modify existing accounts please try a Billing Modification shortcode. (Hint: You actually only need to add the modify="1" attribute to the shortcode, but I always recommend using the shortcode generators to avoid typos or other mistakes.)

Hi JediShark,
Thank you. Your answer was very helpful. We actually want the form to respond in both ways (if it’s a new sign up, they are automatically level 1; if its a logged in 0 member, they change to level 1). So this might be part of the issue.
We did notice that when we had the price at $3.99 and used a 100% off coupon (changing rate to $0 for free membership) - it did not work. As soon as we changed the base price to $0, it started working. Could there be a conflict with using a promo coupon?

Registration and upgrade are two different things. You can do them both on the same page with simple conditionals ([s2If]) (see this KB article).

I’m not clear on what you are asking here. Are you using s2Member Coupon Codes?

Thank you again.

To clarify - with that current shortcode (as pasted above) the price for that level 1 membership is $3.99. We setup a Pro Coupon in s2member for 100% off so we could test it out without paying. With this combination, it allowed submitting the form and “confirmed” success, but did not effect the member as level 1 (even with a new signup).

Then, we changed the price to be free ($0) and still applied the same coupon code. It worked and made the user level 1.

Leads me to believe that the coupon use might have caused some issues.

I don’t see how the coupon code could have caused the Level not to be applied. I won’t say it is impossible, but it is highly improbable.

I’m still not clear on whether the form you are using works for New Users, but not for Existing Members, vice-versa, or not at all. As I said, registrations and upgrades require different shortcodes and you cannot have both on the same page without either conditionals or wrapping the shortcodes.. I didn’t mention wrapping in my previous response because I believe it would be confusing to your Users to sell both an upgrade and a new registration on the same form, but it is technically possible. (I think, I’ve never tried wrapping a billing modification form and a registration form myself.)

Howdy again. We are still having problems with the billing modifications form. We did update the code to the following as generated from the form generator. The purpose is to upgrade a level 0 user to level 1. EVERY TIME the user submits this form, it says “Thank you, Your account has been updated.” but nothing changes with their access level. Frustrating. What else can I do? (FYI I did clear plugin cache.) Our level 1 membership is actually free at this time, so there is no actual charge being done. Does that matter?

[s2Member-Pro-AuthNet-Form modify=“1” level=“1” ccaps="" desc=“Upgrade to Shiny Gold” cc=“USD” custom=“www.mydomainhere.com” ta=“0” tp=“365” tt=“D” ra=“0” rp=“1” rt=“M” rr=“1” rrt="" accept=“visa,mastercard,amex,discover” coupon="" accept_coupons=“0” default_country_code=“US” captcha=“0” /]

Do you have logging enabled? Have you checked the reg-handler, gateway-core, and any authorize.net logs for errors? If you have checked the logs and have not found any errors, I think it is time for you to open a GitHub issue and report a possible bug to WebSharks.

Thank you Pat. I realized there were errors buried in the logs about unknown protocol and error 103 for the attempted transaction of the upgrade form. My theory at this time is that the client’s Authorize.net account may not be properly supporting the recurring billing services features. I have asked the client to check that this is properly enabled on their account so we can re-test.

That sounds like a solid theory and plan of action.

Howdy Pat and community, Unfortunately we still struggle with this issue. Here is an update on the situation and my specific question at the end.

  • The upgrade form (billing modification form) code was confirmed correct and worked OK on a local server during a test.
  • The Authorize.net account is fine, confirmed it did already support ARB recurring billing.
  • We made a test copy of the site on our server (same server as live site) and disabled all other plugins and used a default theme. The same issues with the upgrade form occur.
  • We did not see any errors in the logs.
  • The only thing I could think to look at was the server itself, and SSL configuration. Even though our membership upgrade is free, it still tries to use the paypal pro gateway API technology and probably via SSL requirements with TLS 1.2.

Question:
Our server admin wants to try adding this line of code to be sure the system is forced to recognize and use the right SSL CURL version (since there are multiple PHP versions installed on this server). But where do we add this code for the s2member plugin?

curl_setopt($curl, CURLOPT_SSLVERSION,6); // 6 is TLS 1.2