I posted awhile back about the most preferred methods of accepting payments and after doing research and sandboxing several services, PayPal seems to be the easiest to implement however as I am new to eCommerce I shelf my guess work and ask the following of my intended situation.

Scenario

  • I process all user registrations locally and use the visitors e-mail address as their username. The e-mail address and their password are stored locally in MySQL. But this e-mail MAY not be the same as any paypal account address they already have.

  • Users can opt to upgrade their membership to a monthly subscription at $x / month. After completing subscription registration via PayPal they should be returned to my page to login and see their newly accessible content.

Desired Process

  • User registers for subscription and the processing is done through Paypal.

  • The IPN sends back the information needed and hopefully the Subscription ID.

  • The Subscription ID will be inserted into my MySQL database in the relevant row for the user.

  • Each time the subscription is charged successfully the IPN should send the notification to my script that updates the "last_billed_on" on field.

  • If the charge fails, the script will update the "is_current" field to 0 and the user will be notified at login that their CC was not charged and the paid-for material becomes no longer accessible until the charge is successful.

I've done some googling throughout the day and haven't found any solid examples but rather people asking similar questions. Does anyone have experience with this method? Is it even possible? Can I or do I need to send some user-specific data in the PayPal communication form that identifies the user so the return from PayPal can properly update the right record?

Thanks all.

    you might find this of interest
    https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECRecurringPayments

    I will be implementing something similar too for a client if he ever agrees to a design!!!

    I would create another field in your MYSQL table "paypal_email" or something similar and have that prompt up for when the user next time logs in or wishes to set up recurring payments, and just leave the username as it is!

    I wouldn't mind seeing your completed site for this implementation, to see if i am missing anything from my designs!!

    have a look at this too it's interesting:
    https://www.paypalobjects.com/en_US/m/demo/demo_recurringpayments/video1.html

      yeah you are right actually!

      I haven't read all of it yet, but i was reading it as i stupidly answered the question before.

      but this should explain it

      Creating the Profiles With CreateRecurringPaymentsProfile
      After your buyer has agreed to the recurring payments billing agreement on your confirmation page, you must call CreateRecurringPaymentsProfile to create the profile. If you are creating multiple recurring payments profiles, you must call CreateRecurringPaymentsProfile once for each profile you plan to create.

      If the transaction includes a mixture of a one-time purchase and recurring payments profiles, call DoExpressCheckoutPayment to complete the one-time purchase transaction. Then call CreateRecurringPaymentsProfile for each recurring payment profile you plan to create.

      So profile can be created on your website. Once details are sent over to paypal they will handle the money side so you won't need to know the email or card details etc,...

      Let me know if i have misunderstood it lol

      that information is available from paypal.

        I've been reading it through it and Payment Profiles usually store the credit card information - I don't want to do that on my end because I'm not about to be subject to PCI compliance testing and all that mess. I thought you created the Payment Profile inside PayPal from your merchant center and associated it with the subscription?

        This is the problem I keep running into, they tell you what to do but give you no clear cut examples. I'm a visual learner, not a "here's steps go do it". I learn by dissecting working examples and making them fit into my needs.

        If you come across working examples let me know. I need to see HOW something is done, not told what will work with no supplementation.

          Thanks for the link to that and the video from above. If you get yours working let me know. I'd be interested to see it work. I'll do the same for you.

          Thanks,

            It would definitely solve a lot of my problems if, like brad had mentioned, I could attach a unique identifier to the order that is stored on PayPal's side and sent back to me every time the IPN runs for that subscription. The hold up seems to be identifying the account on my end when the IPN is processed since my site dictates username, not the subscription service on PayPal.

              Write a Reply...