Page 1 of 1

Registration after paying

PostPosted: September 13th, 2011, 4:32 am
by ChuckNorris
Hi -

Another HUGE complaint I have is that registration is done via email. This makes no sense and just causes extremely annoying and unnecessary problems.

I have had 2 refunds today and a chargeback yesterday because they can't find the registration email. This seems to happen with Hotmail and Comcast especially. Even after checking spam folders - still no email. Our marketing emails get returned to us as undeliverable and I assume they show no mercy for registration link emails as well.

I don't see any logical reason as to why users can't just register after paying and if I remember correctly, non-pro version does this with PayPal. I see the registration URL is done via tinyurl - not sure what's up with that - tracking our signups?

Anyways, this is one of the main reasons why I dumped MemberWing-X - customers don't get emails or even if they do and it hits their spam folder - just causes people to get pissed off. PLEASE get rid of this and switch to redirect registrations.

Re: Registration after paying

PostPosted: September 26th, 2011, 3:03 pm
by Cristián Lávaque
The user should be able to register directly after payment, the email is sent just in case that didn't work. Could you post, x'ing out any private info, the related log entries to the transactions that didn't get the email? WP Admin -> s2Member -> AuthNet Options -> Account Details -> Enable Logging

Re: Registration after paying

PostPosted: October 1st, 2011, 10:06 pm
by ChuckNorris
None of my users for any of my sites are getting to register directly after payment. They are all relying on the emails sent out, which are now either non-existent or don't work. The "TinyURL" links have stopped working, leading to a TinyURL page that says "Error: Unable to find site's URL to redirect to." Why does it use TinyURL in the first place?

Here's the log data for our last customer:

Code: Select all
WordPress® v3.2.1 :: s2Member® v110815 :: s2Member® Pro v110815
Memory 35.13 MB :: Real Memory 35.25 MB :: Peak Memory 35.13 MB :: Real Peak Memory 35.25 MB
domain.com/folder/?s2member_pro_ccbill_notify=1
User-Agent:
array (
  'customer_fname' => 'Name',
  'customer_lname' => 'Name',
  'email' => 'name@gmail.com',
  'username' => '',
  'password' => '',
  'productDesc' => 'Domain.com Instant Access',
  'price' => '$19.99 for 30 days ** $19.99 recurring every 30 days **',
  'subscription_id' => 'xxxxxxxxxxxxxxxx',
  'denialId' => '',
  'clientAccnum' => 'xxxxx',
  'clientSubacc' => '0004',
  'address1' => 'address',
  'city' => 'address',
  'state' => '',
  'country' => 'US',
  'phone_number' => '',
  'zipcode' => 'address',
  'start_date' => '2011-10-01 19:41:35',
  'referer' => '',
  'ccbill_referer' => '',
  'affiliate' => '',
  'reservationId' => '',
  'referringUrl' => 'http://domain.com/folder/join/',
  'reasonForDecline' => '',
  'reasonForDeclineCode' => '',
  'formName' => '144cc',
  'cardType' => 'VISA',
  'responseDigest' => 'xxxxxxxxxxxxxxxxxxxxxxxx',
  's2_desc' => 'Domain Access',
  's2_customer_ip' => 'xx.xx.47.9',
  's2_invoice' => '1',
  's2_custom' => 'domain.com',
  's2_p1' => '30 D',
  's2_p3' => '1 M',
  'typeId' => '0',
  'initialPrice' => '19.99',
  'initialPeriod' => '30',
  'recurringPrice' => '19.99',
  'recurringPeriod' => '30',
  'rebills' => '99',
  'initialFormattedPrice' => '$19.99',
  'recurringFormattedPrice' => '$19.99',
  'ip_address' => 'xx.xx.47.9',
  's2member_log' =>
  array (
    0 => 'IPN received on: Sun Oct 2, 2011 2:41:41 am UTC',
    1 => 's2Member POST vars verified with ccBill®.',
    2 => 'ccBill® transaction identified as ( `RECURRING/SUBSCRIPTION` ).',
    3 => 'IPN reformulated. Piping through s2Member\'s core/standard PayPal® processor as `txn_type` ( `subscr_signup` ).',
    4 => 'Please check PayPal® IPN logs for further processing details.',
  ),
)

Why would it be talking about PayPal for the CCBill logs?

WordPress® v3.2.1 :: s2Member® v110815 :: s2Member® Pro v110815
Memory 34.96 MB :: Real Memory 35.00 MB :: Peak Memory 34.98 MB :: Real Peak Memory 35.00 MB
domain.com/folder/?s2member_pro_ccbill_return=1
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1)
array (
  's2member_log' =>
  array (
    0 => 'Return URL processed on: Sun Oct 2, 2011 2:41:48 am UTC',
    1 => 'Piping through s2Member\'s core/standard PayPal® processor with `proxy_use` ( `ty-email` ).',
    2 => 'Please check PayPal® RTN logs for further processing details.',
    3 => 'http://domain.com/folder/?s2member_pro_ccbill_return&s2member_paypal_return=1&s2member_paypal_proxy=ccbill&s2member_paypal_proxy_use=standard-emails,ty-email&s2member_paypal_proxy_verification=7a09afacb88c4700060c0d603f14780d',
  ),
)

Also, get a datalink error every day that looks like this:

WordPress® v3.2.1 :: s2Member® v110815 :: s2Member® Pro v110815
Memory 38.07 MB :: Real Memory 38.25 MB :: Peak Memory 38.09 MB :: Real Peak Memory 38.25 MB
domain.com/folder/wp-cron.php?doing_wp_cron
User-Agent: WordPress/3.2.1; http://domain.com/folder
array (
  's2member_log' =>
  array (
    0 => 'Storing last DataLink time: Sat Oct 1, 2011 5:36:22 am UTC',
    1 => 'Recording DataLink error at: Sat Oct 1, 2011 5:38:21 am UTC',
    2 => 'Recording server IP address: xxx.xx.xxx.xxx',
    3 => 'https://datalink.ccbill.com/data/main.cgi?startTime=20110930053622&endTime=20111001053622&transactionTypes=EXPIRE%2CREBILL%2CREFUND%2CCHARGEBACK&clientAccnum=xxxxx&clientSubacc=0004&username=s2member&password=xxxxxx',
    4 => 'Error: Authentication failed. 04',
  ),
)

Re: Registration after paying

PostPosted: October 2nd, 2011, 4:24 am
by Cristián Lávaque
The ccBill transactions are logged in part by the PayPal logging routine. Could you also post the related entries from the PayPal logs in your s2member-logs directory?

I don't know about that error, but am emailing Jason about it.

Re: Registration after paying

PostPosted: October 2nd, 2011, 4:29 am
by Cristián Lávaque
About the TinyURL problem, it's a bug in the current release. This is fixed in the development copy, coming in public release shortly.

* (s2Member) **tinyURL® bug fix**. s2Member's handling of potential failures in the output of tinyURLs, generated by the tinyURL® API; was NOT considering all possibilities. A symptom of this bug was to see URLs in your Signup Confirmation Email (occassionally, upon connection failure to the tinyURL® API, when it was down for whatever reason) starting with: `Error#`. Corrected in this release.


* (s2Member) **URL Shortening API (Preference)**. s2Member now includes a class method dedicated to URL shortening service APIs. Currently, s2Member will use the tinyURL® API first *(i.e. tinyurl.com )*, and then use the Google® URL Shortening API *(i.e. goo.gl )* as a backup when/if the tinyURL® API is down for whatever reason. In this release, a new configurable option is available, which allows advanced site owners to preference the Google® Shortening API over tinyURL®, if they desire. For further details, please check your Dashboard, under: `s2Member -> General Options -> URL Shortening API (Preference)`.

Re: Registration after paying

PostPosted: October 2nd, 2011, 4:34 am
by ChuckNorris
I suspect it may be due to a wrong user/pass however I verified it several times...

Here's the PayPal logs:

Code: Select all
WordPress® v3.2.1 :: s2Member® v110815 :: s2Member® Pro v110815
Memory 40.34 MB :: Real Memory 41.25 MB :: Peak Memory 40.50 MB :: Real Peak Memory 41.25 MB
xxxxxxxx.com/xxxxxx/?s2member_paypal_notify=1&s2member_paypal_proxy=ccbill&s2member_paypal_proxy_use=standard-emails,subscr-signup-as-subscr-payment&s2member_paypal_proxy_verification=xxxxxxxxxxxxxxxx
User-Agent: WordPress/3.2.1; http://xxxxxx.com/xxxxxx
array (
  'txn_type' => 'subscr_signup',
  'subscr_id' => 'xxxxx',
  'recurring' => '19.99',
  'txn_id' => 'xxxxx',
  'custom' => 'xxxxx',
  'period1' => '30 D',
  'period3' => '1 M',
  'mc_amount1' => '19.99',
  'mc_amount3' => '19.99',
  'mc_gross' => '19.99',
  'mc_currency' => 'USD',
  'tax' => '0.00',
  'payer_email' => 'xxxxxxxxx@gmail.com',
  'first_name' => 'xxxx',
  'last_name' => 'xxxxx',
  'option_name1' => 'Originating Domain',
  'option_selection1' => 'xxxxxxxx',
  'option_name2' => 'Customer IP Address',
  'option_selection2' => 'xx.xx.xx.x',
  'item_number' => '1',
  'item_name' => 'xxxxx Access',
  'proxy_verified' => 'ccbill',
  's2member_log' =>
  array (
    0 => 'IPN received on: Sun Oct 2, 2011 2:41:41 am UTC',
    1 => 's2Member POST vars verified with a Proxy Key',
    2 => 's2Member originating domain ( `$_SERVER["HTTP_HOST"]` ) validated.',
    3 => 's2Member `txn_type` identified as ( `web_accept|subscr_signup` ).',
    4 => 's2Member `txn_type` identified as ( `web_accept|subscr_signup` ) w/o update vars.',
    5 => 'Signup Confirmation Email sent to: "xxxxxxxxxx xxxxxxxxx" <xxxxxxxxx@gmail.com>.',
    6 => 'Storing Signup Tracking Codes into a Transient Queue. These will be processed on-site.',
    7 => 'Storing `payment` for Subscription via ( `subscr-signup-as-subscr-payment` ).',
    8 => 'Creating an IPN response for `subscr_payment`. This will go into a Transient Queue; and be processed during registration.',
    9 => 'Storing IPN signup vars into a Transient Queue. These will be processed on registration.',
  ),
  'subscr_gateway' => 'ccbill',
  'eotper' => NULL,
  'ccaps' => NULL,
  'level' => '1',
  'ip' => '74.89.47.9',
  'initial_term' => '30 D',
  'initial' => '19.99',
  'regular' => '19.99',
  'regular_term' => '1 M',
  's2member_paypal_proxy' => 'ccbill',
  's2member_paypal_proxy_use' => 'standard-emails,subscr-signup-as-subscr-payment',
  's2member_paypal_proxy_verification' => 'xxxxxxxxxxxxxxxx',


WordPress® v3.2.1 :: s2Member® v110815 :: s2Member® Pro v110815
Memory 35.18 MB :: Real Memory 35.50 MB :: Peak Memory 35.26 MB :: Real Peak Memory 35.50 MB
xxxxxxxxxx.com/xxxxxxx/?s2member_pro_ccbill_return&s2member_paypal_return=1&s2member_paypal_proxy=ccbill&s2member_paypal_proxy_use=standard-emails,ty-email&s2member_paypal_proxy_verification=xxxxxxxxxxxxxx
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1)
array (
  'proxy_verified' => 'ccbill',
  's2member_log' =>
  array (
    0 => 'Return-Data received on: Sun Oct 2, 2011 2:41:48 am UTC',
    1 => 's2Member POST vars verified with a Proxy Key',
    2 => 'Customer must wait for Email Confirmation `proxy_use`: ( `ty-email` ).',
    3 => 'Redirecting Customer to the Home Page. Customer must wait for Email Confirmation `proxy_use`: ( `ty-email` ).',
  ),
  'subscr_gateway' => 'ccbill',
  's2member_paypal_proxy' => 'ccbill',
  's2member_paypal_proxy_use' => 'standard-emails,ty-email',
  's2member_paypal_proxy_verification' => 'xxxxxxxxxxxxx',
)

Re: Registration after paying

PostPosted: October 2nd, 2011, 3:51 pm
by Cristián Lávaque
Thanks for the logs. I'm email Jason about it, I'm not sure what the problem is.

Re: Registration after paying

PostPosted: October 2nd, 2011, 6:05 pm
by ChuckNorris
Okay thank you

Re: Registration after paying

PostPosted: October 3rd, 2011, 10:49 pm
by Jason Caldwell
Thank you. Investigating now.

Re: Registration after paying

PostPosted: October 7th, 2011, 7:05 pm
by Jason Caldwell
Thanks for your patience.
I've just finished reviewing your log files. Everything looks good here except for the DataLink integration. But, let me start first by answering your question about the Signup Confirmation Email.

With ccBill Button integration, s2Member has no choice but to ask the Customer to check their email, because ccBill does not provide a method of obtaining details about a transaction immediately after checkout. That is, ccBill has no Auto-Return functionality that I'm aware of. Instead, ccBill communicates with s2Member behind-the-scene, through your Bg Post URL ( aka: Instant Payment Notification ). This is where the Customer's transaction is processed by s2Member, and the Customer's Signup Confirmation Email is sent. In other words, all s2Member can do is ask the Customer to check their email, which is processed and sent to the Customer by s2Member's IPN handler for ccBill; ultimately piped through s2Member's core PayPal processor.

If you are having trouble with email deliverability to ccBill customers, you might consider using a different Payment Gateway, such as PayPal Pro, Authorize.Net, Google Checkout, or ClickBank, all of which support Auto-Return functionality, making it possible for s2Member to fulfill the Customer's order immediately after checkout, as opposed to via email only.

If those other Payment Gateways are not an option for you ( i.e. you run an adult site ), you might consider this plugin, connected to a very reliable SMTP server to help improve email deliverability overall. See: http://wordpress.org/extend/plugins/wp-mail-smtp/ Either that, or customize your Approval Page Template with s2Member, and add instructions for the Customer, asking them to check their spam folder as well, and let them know who the email is coming from exactly.

SNAG-0018.png


Regarding DataLink integration. It looks like you either have an incorrect Username/Password in s2Member's ccBill DataLink integration, or perhaps ccBill has not yet been told about your server's IP address? Please review this section in your Dashboard, and if the problem continues, I would send these details to ccBill and ask them if they can assist you with this error in some way. If not, please let us know.

SNAG-0019.png

Code: Select all
array (
  's2member_log' =>
  array (
    0 => 'Storing last DataLink time: Sat Oct 1, 2011 5:36:22 am UTC',
    1 => 'Recording DataLink error at: Sat Oct 1, 2011 5:38:21 am UTC',
    2 => 'Recording server IP address: xxx.xx.xxx.xxx',
    3 => 'https://datalink.ccbill.com/data/main.cgi?startTime=20110930053622&endTime=20111001053622&transactionTypes=EXPIRE%2CREBILL%2CREFUND%2CCHARGEBACK&clientAccnum=xxxxx&clientSubacc=0004&username=s2member&password=xxxxxx',
    4 => 'Error: Authentication failed. 04',

Re: Registration after paying

PostPosted: October 8th, 2011, 7:40 am
by ChuckNorris
Thank you for the update - much appreciated!

1) The server's IP was already listed in DataLink integration. I went ahead and copy/pasted the password from my CCBill options into the Datalink to ensure, again, that it's the correct password being used. I'll wait for the next customer to see if we get another error.

2) Yeah, it's an adult oriented site so can't process with the above mentioned. About the registration: A lot of the customers (it seems like maybe half) get to register immediately after payment. Maybe they're checking their email really fast, I don't know, but it's often the same time they pay. That being said, can't we just redirect them to whatever link is being used for registration that's sent out in the emails, opposed to redirecting them to whatever? I mean, right now it's going to ?s2member_pro_ccbill_return=1 - why not just replace that with the link used to register?

Re: Registration after paying

PostPosted: October 11th, 2011, 7:19 pm
by Jason Caldwell
Thanks for the follow-up.

That's great, please keep us updated.
Regarding point #2. Sorry, s2Member has to authenticate/verify the purchase before allowing the Customer to register for access to a paid Membership Level. Redirecting straight to the registration page may work if you have Open Registration enabled with s2Member, but that's going to satisfy the Customer, because that's going to register them at Level #0 ( i.e. a Free Subscriber ). Until s2Member verifies/authenticates their purchase, they will not be allowed to register for paid access through the special link that s2Member provides via email. This is why Bg Post processing is vital with ccBill.

Re: Registration after paying

PostPosted: October 16th, 2011, 6:52 pm
by ChuckNorris
It still needs to be tested but we figured out the IP address that s2member listed as the one to be used with Datalink was wrong - it was using the site's IP address but not the server's IP address which is the one sending the datalink requests - so added that and hoping it should work now...

Re: Registration after paying

PostPosted: October 17th, 2011, 6:59 pm
by Jason Caldwell
Excellent. Please keep us posted.
Thanks for reporting back on this. ~ Much appreciated.

Re: Registration after paying

PostPosted: October 17th, 2011, 7:03 pm
by ChuckNorris
Okay, no more authentication errors. Seems to be working correctly now :)

Re: Registration after paying

PostPosted: October 17th, 2011, 7:12 pm
by Jason Caldwell
Fantastic. Thank you.