Page 1 of 1

PayPal Pro Billing Information Not Populated

PostPosted: December 13th, 2011, 11:48 pm
by durge
I just installed the s2Member pro and am using PayPal Pro as my source of payment method. When I try to test out the form, it goes to PayPal Pro with everything filled in except for the Card Number, CVV, and Expiration date. Why is this not populated when they enter it on my WordPress page?

Re: PayPal Pro Billing Information Not Populated

PostPosted: December 15th, 2011, 5:34 am
by Cristián Lávaque
The card information is not stored anywhere, so it can't be prepopulated. And the only reason why the person would be sent to the PayPal site using the pro-form is if you chose to pay with Express Checkout, in which case you wouldn't be asked for the card i n the form.

Maybe I'm not understanding the question properly, could you explain some more?

Thanks!

Re: PayPal Pro Billing Information Not Populated

PostPosted: December 15th, 2011, 12:22 pm
by durge
Wait I'm really confused now. When I use the PayPal Pro form on my site, it was kind of jumbled around so I had to play with it to look good. After making the form look good, I tried doing a test payment and after inputting all my information, it takes me to a paypal screen with most of my information pre-loaded (probably using POST with the PayPal API) and then I can submit my payment from there.

Is the plugin supposed to send everything to PayPal pro in the background and not even go to the PayPal screen?

Re: PayPal Pro Billing Information Not Populated

PostPosted: December 15th, 2011, 12:41 pm
by Eduan
If you're using the pro-forms (only available in s2Member Pro), then you should pay and everything on the same page the pro-form is, if you're using the PayPal buttons then you will be re-directed to PayPal.

Hope this clears something up.

Re: PayPal Pro Billing Information Not Populated

PostPosted: December 15th, 2011, 1:13 pm
by durge
Hmmm. Yeah it's not doing that for me. I'll try re-installing the plugin.

Re: PayPal Pro Billing Information Not Populated

PostPosted: December 15th, 2011, 10:22 pm
by durge
OK so I deleted all the plugin files, re-downloaded the pro and normal s2member files and uploaded them and I'm still being redirected to PayPal and the form isn't completing on it's own page.

Here is my page - https://www.complianceupdater.com/test-payment-gateway/

Re: PayPal Pro Billing Information Not Populated

PostPosted: December 16th, 2011, 12:05 pm
by colinp386
Looks to me like you are not using the S2Member Pro Payapal form, your using the Paypal Button, with your own form. That's why its taking you to PayPal

Re: PayPal Pro Billing Information Not Populated

PostPosted: December 16th, 2011, 1:18 pm
by Eduan
colinp386 is right actually.
Could you go under WP Admin -> s2Member -> PayPal Pro Forms and create a form there and see if it does work like you want it to?

If you want to customize the form further you can check under WP Admin -> s2Member -> General Options -> Registration/Profile Fields & Options and configure everything there.

Hope this helps. :)

Re: PayPal Pro Billing Information Not Populated

PostPosted: December 17th, 2011, 3:42 am
by durge
Okay so the shortcode I got was: [s2Member-Pro-PayPal-Form level="1" ccaps="" desc="$9 USD / Monthly ( recurring charge, for ongoing access )" ps="paypal" lc="" cc="USD" dg="0" ns="1" custom="www.complianceupdater.com" ta="0" tp="0" tt="D" ra="9" rp="1" rt="M" rr="1" rrt="" rra="2" accept="paypal,visa,mastercard,amex,discover,maestro,solo" accept_via_paypal="paypal" coupon="" accept_coupons="0" default_country_code="" captcha="0" /]

I generated the code for Level #1 access.
I offer the first 0 Days @ 0.00
Then, I want to charge $9 / Monthly (recurring charge for ongoing access)
Checkout Page Style: paypal USD

Any idea?

Re: PayPal Pro Billing Information Not Populated

PostPosted: December 17th, 2011, 8:29 am
by Eduan
Paste that shortcode in a page and try it.

Re: PayPal Pro Billing Information Not Populated

PostPosted: December 17th, 2011, 4:44 pm
by durge

Re: PayPal Pro Billing Information Not Populated

PostPosted: December 18th, 2011, 1:55 am
by durge
Fixed the problem.

I checked in Console and it was giving me a 500 error on s2member-o.php. I checked through and this line of PHP was causing the 500 error
Code: Select all
eval ("?>" . /* Settings after ``SHORTINIT``. */ $ws_plugin__s2member_o["wp_settings_as"]);


I removed that and everything works good now.

Re: PayPal Pro Billing Information Not Populated

PostPosted: December 19th, 2011, 5:38 am
by Cristián Lávaque
If you remove JS from that file you may cause other problems. You probably had another plugin or the theme causing a JS conflict.

Restore s2member-o.php to its original and then test changing the theme to the default, see if get the error in the console then. If still, then deactivate other plugins one by one and see if the error happens after each or left with it.

This is part of a conversation I had with Jason some months ago regarding JavaScript conflicts.

Cristián: I still don't understand how the JS conflicts work... If the library is the same in both plugins, why is there a conflict? Same var names?

Jason Caldwell: Well, I call it a conflict. Sometimes it's a conflict in jQuery because of a bad plugin, which attempts to load jQuery on it's own, instead of doing it the WP way. Or sometimes, it just a bad plugin that causes a JavaScript error, which may result in all JavaScript failing ( the nature of JavaScript ). Not really a "conflict" in that case, really an error due to a bad plugin/theme.

Jason Caldwell: I've also see some conflicts between frameworks. That's rare, but there are some plugins that use the ProtoType framework, and combined with another framework like MooTools, there is a possibility for a conflict to arise. Rare though, and it's usually attributed to the way their loaded ( i.e. by a bad plugin/theme ).

Cristián: Does WP load JQuery already? If so, why do plugins load it too?

Jason Caldwell: Yea, WP already loads it. But some plugin authors don't know that, or they just hard code it into their plugin not realizing that. Other times they'll try to include a dependency on jQuery, but they name it wrong, and WordPress gets confused.

Cristián: Does s2Member load it again or uses WP's?

Jason Caldwell: Hmm, not really, because in the Dashboard, it's already loaded by WordPress. s2Member enques scripts that is uses, which rely on jQuery being present. In the call to wp_enqueue_script(), s2Member will list jQuery as a dependency, which forces WP to load it, though it's already loaded in the Dashboard anyway. That's the proper way to handle it.

On the front-end of a site, s2Member will load jQuery if it's not already loaded, but again, using the same technique. A call to wp_enqueue_script() with a dependency on jQuery forces WP to load jQuery. If 10 plugins all do it this way ( i.e. the right way ), WordPress loads jQuery in the proper order and only one time.

Cristián: Ah, got it. I understand WP has a QC team, don't they check this?

Jason Caldwell: Not in my experience. They look mostly for security issues and really bad code. They usually don't catch minute details like this.

Cristián: I see. Well, they do look at how the db is used, iirc.

Cristián: I see, but these details do cause trouble for the users. Maybe it'd be good to write an article about JS conflicts as you explained above and post it in the forums, and then show it to the QC guys for consideration to include in their quality checklist.

Jason Caldwell: Yea, that's a good idea. On the WP side though, they're aware of this problem, and that's why they created the wp_enqueue_script() wp_enqueue_style() functions. Although, I wish this were more prominent in this article: http://codex.wordpress.org/Writing_a_Pl ... uggestions

It is mentioned, but it's all the way at the bottom:

Try not to echo <script> and <style> tags directly - instead use the recommended wp_enqueue_style() and wp_enqueue_script() functions. They help eliminate including duplicate scripts and styles as well as introduce dependency support. See posts by the following people for more info: Ozh Richard, Artem Russakovskii, and Vladimir Prelovac.


I hope it helps!