Thanks Antony and Stifan, I choose (for now) a simplest way: two page, one for confirm subscription and one (a simple redirect after subscription) only with Paypal form. In future, when I became more expert I will try Antony solutions! Thanks! Fabio
Il giorno venerdì 31 marzo 2017 16:25:11 UTC+2, Anthony ha scritto: > > You are submitting the form directly to PayPal, so your server will not > get the data. You have two options: > > 1. Instead, submit the form to your web2py app, and then use urllib2 > or the requests library to post the data from your server to PayPal (in > that case, the user will not be redirected to the PayPal page -- not sure > if that matters). > 2. Use Javascript to capture the form submission and (a) first send an > Ajax request with the form data to your web2py app, and then (b) submit > the > form as usual to the PayPal URL. > > Anthony > > On Friday, March 31, 2017 at 5:22:14 AM UTC-4, Fabio Ceccarani wrote: >> >> Hi all, >> I have this FORM with some fields + paypal fields and paypal action: >> >> form = FORM( >> H1("SUBMISSION AND PAYMENT"), >> DIV(LABEL("Nome: ",_class="control-label >> col-sm-3")+DIV(auth.user.first_name,_class="col-sm9"),_class="form-group"), >> DIV(LABEL("Cognome: ",_class="control-label >> col-sm-3")+DIV(auth.user.last_name,_class="col-sm9"),_class="form-group"), >> # some others form elements... >> # start PAYPAL hidden fields >> INPUT(_type="hidden", _name="business", _value="exa...@email.com >> <javascript:>"), >> INPUT(_type="hidden", _name="cmd", _value="_xclick"), >> INPUT(_type="hidden", _name="paymentaction", >> _value="authorization"), >> INPUT(_type="hidden", _name="currency_code", _value="EUR"), >> INPUT(_type="hidden", _name="item_name", _value="Name of >> product"), >> INPUT(_type="hidden", _name="amount", _value="10.00") >> BUTTON('CONFIRM AND PAY',_value='conferma', _type='submit', >> _class='btn btn-success btn-lg center-block btn-prenota'), >> # THIS IS THE PROBLEM: this action is required to pay, but so >> form.accepts is not executed >> _action="https://www.paypal.com/cgi-bin/webscr", >> _method="post" >> ) >> >> # ON FORM ACCEPT >> if form.accepts(request, session): >> date_subscription = datetime.datetime.today() >> >> #insert subscription >> db.subscriptions.insert( >> user_subscriber = auth.user.id, #authenticated >> user >> course_id = session.current_course, #current course >> course_title = course.title, >> course_subtitle = course.subtitle, >> subscription_date = date_subscription, >> course_date = prenotation_date, >> number_of_persons = number_of_persons, >> paid = False, >> archived = False >> ) >> # OTHER ACTION ON FORM ACCEPT (send emails, ecc...) >> >> >> There's a way to execute before form.accepts and after redirect to >> _action url (with _method="post")? >> I want before register the subscription, then goto to paypal page. >> >> Thanks! >> Fabio >> > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.