Jason (Lead Developer)

My Latest Replies (From Various Topics)
Author | Replies |
---|---|
Author | Replies |
Posted: Tuesday Nov 13th, 2012 at 5:22 pm #31490 | |
![]() |
|
We may have a lead on a fix for this issue. I’ll post an update shortly.
|
|
Posted: Tuesday Nov 13th, 2012 at 4:42 pm #31486 | |
![]() |
|
While we here at s2Member continue our investigation into this issue, I will offer the following advice presented to me by PayPal developer support.
PayPal wrote…
Here’s another related thread at PayPal developer support: |
|
Posted: Tuesday Nov 13th, 2012 at 3:41 pm #31482 | |
![]() |
|
Thanks for the follow-ups, and for your patience.We’re preparing the maintenance release now, and I’m taking another look at this issue. I’ll update with further details as they become available. |
|
Posted: Tuesday Nov 13th, 2012 at 3:28 pm #31480 | |
![]() |
|
@ Tony SchwartzExact same issue on your installation. Credit card transactions succeed, Express Checkout transactions fail with:
Investigation continues on our end. |
|
Posted: Tuesday Nov 13th, 2012 at 3:16 pm #31477 | |
![]() |
|
@ Tony Schwartz
Details received. Investigating now.
@ Mike Whitney
Thank you. Investigating now. |
|
Posted: Tuesday Nov 13th, 2012 at 3:06 pm #31475 | |
![]() |
|
Thanks for the heads up on this thread.Please send an IPN with
Where 123 is the existing user’s ID in WordPress. |
|
Posted: Tuesday Nov 13th, 2012 at 2:47 pm #31472 | |
![]() |
|
@ Tony SchwartzThanks for reporting your experience. The FTP details that you submitted privately are not working for me. Can you please verify the details you sent over, and then submit a new Private Contact Form submission for me? I will be happy to investigate for you. Also, please write a comment providing us with permission to run test transactions against your installation. |
|
Posted: Tuesday Nov 13th, 2012 at 2:35 pm #31471 | |
![]() |
|
@ Mike WhitneyI just took a look at your s2Member installation, and I poked through your /s2member-logs/paypal-payflow-api.log file. I’m seeing the exact same issue on your installation. You have integrated PayPal Pro (Payflow Edition), and it appears that your account also has Recurring Billing service enabled, because like Chris Crabtree, credit card transactions ARE being processed properly on your site (indicating that Recurring Billing service IS enabled in your PayPal account). However, PayPal Express Checkout transactions on your installation (e.g. a credit card was NOT used – a PayPal account was used instead) are also resulting in the following error.
I think it’s a good idea for both of you to request PayPal assistance in this matter. Asking them to review some of the transactions (like the one I posted above – That being said, since both of you are reporting the same issue, I think it would be irresponsible for us not to investigate this further on our end as well. With your permission, I’d like the opportunity to perform some test transactions against your installation, in the hopes of finding a resolution. Please reply back and give me the OK on this. Also, please keep me updated about any replies that either of you get from PayPal in this matter. We will be sure to investigate them extensively on our end as well. Regarding your comment about DPRP…
From my own communication with PayPal, it is my understanding that DPRP is NOT possible with a PayPal Pro (Payflow Edition) account (not possible due to technical issues). Instead, Recurring Billing service works together with the Payflow portion of your account. This is why s2Member Pro MUST integrate it’s recurring billing routines with the Payflow portion of your PayPal account. So it’s not a surprise to me that you heard this from PayPal. If you have a PayPal Pro (Payflow Edition) account with Recurring Billing service enabled, you just need to tell s2Member by filling out the Payflow portion of your s2Member configuration. This way s2Member will use the Payflow API to facilitate recurring billing, instead of trying to use DPRP under the normal PayPal Pro API.
While I’m not convinced yet, that this issue is entirely PayPal’s fault (my investigation on this will continue), I do agree with you. PayPal already had several different types of service (which brought with it some confusion for everyone). Then, a few months ago they started issuing PayPal Pro (Payflow Edition) accounts on a regular basis, they renamed some of their other services, and this just further confused everyone even more. Including some confusion on the part of PayPal customer support. In my experience with PayPal, it has been very difficult for them to offer site owners assistance, because there is confusion on their part about which API is being used, and how a particular API is being used (because each of their APIs provide several options). These issues are VERY technical by nature, and PayPal support seems to have trouble keeping up with their own products at times. Some experiences are different from others. It really just comes down to WHO you speak with over there, and how high up the chain that person is. The PayPal MTS agents seem to have the most knowledge. https://www.x.com/developers/paypal/forums
While you’re waiting to hear back from PayPal, please give me the OK to run test transactions against your installation. We will do our part to help resolve this matter for you.
|
|
Posted: Tuesday Nov 13th, 2012 at 2:05 pm #31469 | |
![]() |
|
@ Mike Whitney
Thank you. I’m taking a look at your installation now. |
|
Posted: Monday Nov 12th, 2012 at 8:49 pm #31400 | |
![]() |
|
Thanks for your patience. I just received your server details and performed an on-site investigation of this problem as it exists in your environment.
Regarding this comment…
Yes, I believe you are correct to a certain extent. Or, perhaps there is some confusion here about which API s2Member Pro is actually designed to work with on the PayPal end of things. Based on the response you received from PayPal support, I think that’s probably the case. Confusion on their part, that is. In s2Member Pro, if you leave the Payflow configuration fields empty in your Dashboard, s2Member Pro will integrate with the PayPal Website Payments Pro API (e.g. nothing special here), you just need a PayPal Pro account to integrate with s2Member Pro. If you intend to charge on a recurring basis, you will need to ask PayPal to add DPRP to your PayPal Pro account. That is their Recurring Billing service for PayPal Pro accounts; which is what makes it possible for s2Member Pro to integrate recurring payments made possible by s2Member Pro, with your PayPal Pro account. This is simply a matter of asking PayPal to add the Recurring Billing service to your existing PayPal Pro account. This will cost you an additional $30/month, for a total of $60/mo. End of story, you’re all done. However…There are some newer PayPal Pro accounts (it’s still a slight mystery to us about who exactly gets these by default, or perhaps by request – still not sure… PayPal support has been rather vague about this with us). Anyway… some site owners (like YOU for instance), will NOT have the normal PayPal Pro account flavor. Instead, you (like many others), have a PayPal Pro account operating under the Payflow Edition. This is NOT to be confused with a pure Payflow Pro account, that’s NOT the same thing. What you have is a “PayPal Pro (Payflow Edition)” account, which is a mixture of both the PayPal Pro and Payflow APIs. Under this type of integration, s2Member Pro will use the normal PayPal Pro API portion of your account, for everything except Recurring Billing transactions. Under a PayPal Pro (Payflow edition) account, s2Member MUST integrate Recurring Billing with the Payflow API portion of your account. This is achieved by filling out the Payflow configuration details for s2Member to use, as seen in your Dashboard with s2Member Pro installed. In addition, you will still need to ask PayPal to enable Recurring Billing service for your PayPal Pro (Payflow Edition) account. Everything is the same with your account, except instead of s2Member Pro using the normal PayPal Pro API for Recurring Billing, it will use the Payflow API portion of your account. It’s a behind-the-scene communication change, from one API to another. Therefore, you SHOULD fill out the Payflow details in your s2Member configuration. Based on your log files, it appears that your PayPal account has already had Recurring Billing service enabled. So you’re already paying for that, and it’s working properly when you have the Payflow details filled in for s2Member. That is, it’s working when a credit card is used, but it’s NOT working for you when a PayPal account is used, which is indicated by your log files. So the problem here comes back to the use of PayPal Express Checkout under the Payflow API, which is what s2Member is using; because the transactions you’re attempting to process are implementing a Recurring Profile, and not just a one-time transaction. The response that you received from PayPal support…
This is incorrect. I would ask you to clarify for them that s2Member Pro is NOT using Merchant Initiated Billing. s2Member Pro Forms are integrating with the Payflow API via Express Checkout for a BILLINGTYPE=RecurringPayments, which does NOT require a BAID to be processed at all. Not to achieve what s2Member needs to. What this support rep is referring to (regarding a BAID), is a different type of transaction, whereby s2Member would be responsible for maintaining the future billing schedule. s2Member does NOT integrate this way. s2Member creates a configurable Recurring Profile within your PayPal Pro (Payflow Edition) account, which you and s2Member can configure and monitor now and in the future. The future billing cycle is maintained by PayPal, and NOT by the s2Member software. Thus, a BAID is not necessary. Resolving the issue with Express Checkout and your Payflow API…I’m seeing errors in your paypal-payflow-api.log file with details like this:
This suggests one of the following to me:1. Your PayPal account needs to be reviewed by PayPal support. Or perhaps there is another issue that none of us are seeing. PayPal could help point us all in the right direction on this. Please submit this back to PayPal for further review. I would ask them to look at this specific transaction ( Related articles: |
|
Posted: Monday Nov 12th, 2012 at 7:57 pm #31393 | |
![]() |
|
Thanks for the heads up on this thread.
~ Investigating now. |
|
Posted: Monday Nov 12th, 2012 at 7:56 pm #31392 | |
![]() |
|
Thanks for the heads up on this thread.
~ Investigating now. |
|
Posted: Monday Nov 12th, 2012 at 7:47 pm #31390 | |
![]() |
|
Thanks for the heads up on this thread.I’m not seeing anything wrong with the hack that you posted. However, that hack was originally posted some months ago, and was intended to be integrated with a PayPal Standard Button integration. I don’t believe it was ever tested against a PayPal Pro Form integration, which is what you’re using. The fact that no Signup Confirmation Email is being sent, would indicate to me that your redirection code in this hack file, is interrupting s2Member’s post-processing of the transaction. In other words, it’s bypassing s2Member’s routine that actually sends the Signup Confirmation Email for Pro Forms. If you’d like to accomplish auto-login after registration with a Pro Form, I recommend the |
|
Posted: Monday Nov 12th, 2012 at 7:06 pm #31385 | |
![]() |
|
Thanks for the heads up on this thread.
~ Investigating now. |
|
Posted: Sunday Nov 11th, 2012 at 1:54 pm #31259 | |
![]() |
|
Thanks for the heads up on this thread.Regarding This is simply a reflection of the way s2Member groups certain types of events (e.g. IPNs from PayPal in this case). With s2Member, the same underlying routine (identifier) handles both incoming subscr_signup IPNs, as handles incoming web_accept IPNs. s2Member is just recording which identifier was used to handle this particular IPN from PayPal. The important thing to look at there, is the actual value of the txn_type that was received by s2Member. In the log entry you posted, this was a web_accept transaction. Regarding s2Member automatically translates a web_accept transaction (one which is NOT associated with recurring payments, but only with a one-time fee), into an additional on-site subscr_payment IPN, which s2Member also needs to process for all first-time customers. This allows s2Member’s record of all payment times to function properly, and in a more uniform way. Thus, anytime a web_accept transaction comes in, you’ll also see a subscr_payment IPN processed internally by s2Member in the log file. I realize that’s rather confusing; I’ll make a note to try and clarify this further in the logs, in a future release. The important thing to note here, is that it’s NOT PayPal sending a subscr_payment in this case, it’s s2Member queuing this up and then processing it on-site, so that a payment event and payment time is actually processed; even in cases where PayPal’s own IPN system does not handle this on it’s own. As noted in the first log entry…
|
|
Posted: Sunday Nov 11th, 2012 at 1:30 pm #31256 | |
![]() |
|
Thanks for the follow-up.This would most likely fall under what we consider to be “custom coding”. However, you might take a quick look at s2Member’s built-in Registration Notification to see if that helps you further. See: Dashboard -› s2Member® -› API / Notifications -› Registration Notifications If not, you could certainly use one of s2Member’s MANY built-in hooks/filters to accomplish this. Here is a quick example that serves to point you in the right direction.
http://www.s2member.com/codex/stable/overview-summary/#src_doc_overview_description |
|
Posted: Friday Nov 2nd, 2012 at 9:47 am #30457 | |
![]() |
|
I believe the underlying issue has been identified. We’ve had your installation patched and an official fix added to the next maintenance release. If you will please run a test transaction for us and provide feedback, that would be much appreciated. If there are no further issues, the next maintenance release will include this fix. File patched on your installation: |
|
Posted: Friday Nov 2nd, 2012 at 9:30 am #30454 | |
![]() |
|
FTP details received. We can access the log entries that way. Thank you.
|
|
Posted: Friday Nov 2nd, 2012 at 9:17 am #30446 | |
![]() |
|
Thank you for reporting this to me.With or without the asterisks will work just fine. It’s better to have the asterisks in there though, so we’ve had this corrected to avoid confusion going forward. The missing asterisks was an error on our part, as part of a recent update to this article. The addition of those asterisks allows for more than a one-space delimiter. Not common, but never hurts to account for things like that in the regex. Add the asterisks in to make it betterer please :-)
Article updated: http://www.s2member.com/kb/aweber-email-parser-for-s2member/
|
|
Posted: Friday Nov 2nd, 2012 at 9:12 am #30443 | |
![]() |
|
Thanks for the heads up on this thread.@ Joseph SellersThat’s the first time we’ve seen that error come back. According to the PP docs, it indicates there is a mismatch between the original description used to setup this PayPal Express Checkout transaction, and the subsequent API call which is represented by the log entry you posted here. While we continue to investigate this, please post the previous log entry (e.g. the one before this one). It should be a TRXTYPE=S, ACTION=S and also should have this number 1354482839 in the PROFILENAME. I’d like to see what the original value of the description was set to on your installation, so we can compare it during testing on our end. With your help we should have a resolution for you soon. |
|
Posted: Friday Nov 2nd, 2012 at 7:57 am #30431 | |
![]() |
|
Thanks for the heads up on this thread.Up until now, Authorize.Net has been available only for US merchants (to our knowledge). According to their web site, I see they are now supporting UK merchants. We’re taking a look at some things we can tune in for UK merchants attempting to run Authorize.Net accounts. I will publish further details as they become available. The currency attribute will have no impact on Pro Forms integrated with Authorize.Net, because s2Member Pro’s current integration with Authorize.Net, supports only US merchants, and Authorize.Net processes all transactions in USD; regardless of the configuration of your Pro Form. Among other things, we’ll take a look at enhancing this now that Authorize.Net is supporting UK merchants. |
|
Posted: Friday Nov 2nd, 2012 at 7:49 am #30429 | |
![]() |
|
In the case of a “Buy Now” transaction via ClickBank (e.g. no recurring fees), the value of ctransreceipt from ClickBank, is stored by s2Member Pro as the Paid Subscr. ID value, and is tied directly to a customer’s profile in your Dashboard. Please check the Users menu in your Dashboard, for a User you’d like to see information for. This Paid Subscr. ID (i.e. the ClickBank Receipt Number), is the only financial information that s2Member Pro needs to make it’s integration with the ClickBank return-page communication and IPN communication function properly; and it allows s2Member to remain more secure, since additional financial details are not being stored on the server side, but left in storage with your payment gateway. In cases where there ARE recurring fees, s2Member Pro generates it’s own Paid Subscr. ID, which it sends to ClickBank, and ClickBank uses the Paid Subscr. ID generated by s2Member Pro in all future communication with s2Member Pro. Therefore, in the case of recurring subscriptions via ClickBank, the ClickBank receipt identifies only a specific transaction among many that may occur over the life a subscription. The value that remains constant throughout all future payments is the Paid Subscr. ID, which was originally generated by s2Member Pro, and is stored in a customer’s account profile, visible from the administrative Dashboard for WP. If you’d like to collect the ClickBank Receipt for either one-time or recurring payments, you may connect to s2Member’s API Notification for payments, which is processed ANY time a payment occurs on the ClickBank side of things (including initial and recurring payments). In s2Member’s API Notification for payments, the ClickBank receipt value is obtained with the s2Member Replacement Code: With s2Member’s API Notifications, you can collect and process your own custom code, storing these values, or use them for any other purpose you see fit. Some experience with PHP is required to integrate with s2Member’s API Notifications. See: Dashboard -› s2Member® -› API / Notifications -› Payment Notifications |
|
Posted: Friday Nov 2nd, 2012 at 7:22 am #30425 | |
![]() |
|
Thanks for the heads up on this thread.@ chase a
Thanks for reporting this important issue. While sprites are certainly a good idea in many cases, they’re not as easy for site owners to swap in and out when attempting to further customize s2Member Pro. That being said, we’ll take it under advisement. We’re certainly interested in improving speed in any way that we can. Regarding your tests…A few small icons should NOT (under normal circumstances), slow down your load time by 3-4 seconds. You would have to be loading the site with a much slower connection for those small images to cause that much lag for you. Even if you’ve isolated the lag… e.g. it’s happening when the s2Member plugin is active (e.g. you know it’s s2Member), I would start by following the suggestions posted by Rob above: Regardless of which plugins are active, sometimes it can simply be attributed to the quantity of plugins vs. the available resources on the server. I’ve also seen bottlenecks occur where there is a theme or other plugins conflicting with s2Member in one way or another. If problems persist, please post a link to your site, or to a test site, so that we can make an attempt to reproduce the lag that exists on your site with the s2Member plugin active. If it’s something related to client-side processing (images, JS, CSS, etc), that will show right up for us too; and we can offer you some suggestions or even a fix for any problems we find together. |
|
Posted: Friday Nov 2nd, 2012 at 7:07 am #30422 | |
![]() |
|
I replied to this in your other thread: |
|
Posted: Friday Nov 2nd, 2012 at 6:53 am #30421 | |
![]() |
|
Thanks for the follow-up.In the case of subscr_cancel, s2Member needs the following: txn_type=subscr_cancel |