Answers.Body: <p>That looks like a bug, but I notice your CiviCRM is 4 versions behind the current one, so I'd update your CiviCRM first before doing anything else.</p>
  
  <p>I have seen some similar issues in the past - when you have an on-site payment processor, there is some logic that hides the payment form when no payment is due. Perhaps in combination with an off-site processor like Paypal Standard, the hiding of the payment form turns into hiding the submit button.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-04-18T19:12:01.893Z
Answers.LastActivityDate: 2017-04-18T19:12:01.893Z
Answers.UserDisplayName: Alan Dixon
Answers.Body: <p>I've also hit upon this issue -- an 100% discount coupon results in a zero $ cost for membership, and the Pay Now/Pay Later radio buttons don't appear, and when the prospective member clicks "Submit" to verify their membership request, they see the error :</p>
  
  <p>0 - Call to a member function getPaymentFormFields() on null </p>
  
  <p>I'm running civiCRM  4.7.27 and civiDiscount 3.3, with the Payment Processor set to PayPal - Website Payments Pro.</p>
  
  <p>Any one have a workaround for this, so that we can offer these free memberships?</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-01-04T20:03:25.630Z
Answers.LastActivityDate: 2018-01-04T20:03:25.630Z
Answers.UserDisplayName: A. Block
Body: <p>I run Civi 4.7.13, and trying to setup an online registration form for a CiviEvent.
  When no coupon is used, the event registration submit button is the "Pay Pal Checkout" button.
  But when the amount is 0 because a 100% discount coupon is used, there is no paypal button and the registration form cannot be submitted.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-04-13T13:48:27.193Z
Comments.Text: Hi Elad, That sounds annoying! A quick question - did you try setting up a similar event on the demo site and seeing if the problem occurred there? Might be worthwhile doing so (and linking to it from here if possible, to help people answer your question.
Comments.UserDisplayName: michaelmcandrew
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-04-14T08:40:39.310Z
Comments.Text: I am trying both in live and on demo.
  Here you can see the normal test, no discount, all good.
  https://terranova.tamera.org/en/civicrm/event/register?reset=1&action=preview&id=1761
  
  and here you can see the problem with a 100% discount
  https://terranova.tamera.org/en/civicrm/event/register?reset=1&action=preview&id=1761&discountcode=yaepxl2a7
Comments.UserDisplayName: Elad
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-04-14T13:37:51.643Z
Comments.Text: Hey again, by demo site, I meant http://dmaster.demo.civicrm.org/ - sorry - should have been more clear. The reason I asked was because it would then help us work out if it was an issue with CiviCRM core or your specific config. It might be that someone has a better understanding of the issue and can short-circuit this step, but it can be useful. PS. I would recommend against putting any real paypal account info on the demo site.
Comments.UserDisplayName: michaelmcandrew
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-04-17T09:11:24.670Z
Comments.Text: Hey again,
  thank you for your comment, I tried to setup a paypal payment processor on the demo, but it doesnt allow it without providing with a username, password and signature.
  how can i reproduce this problem if i cannot put a real paypal account on the demo?
  just to say - with the credit card test processor the bug is not reproduced - the continue button also appears when a 100% discount is applied.
Comments.UserDisplayName: Elad
Tags: <civievent><cividiscount>
Title: Event registration form does not show submit button when a 100% discount coupon is used
ThreadText: # Event registration form does not show submit button when a 100% discount coupon is used
  
  (Asked by: username_0 on 2017-04-13)
  
  I run Civi 4.7.13, and trying to setup an online registration form for a CiviEvent.
  When no coupon is used, the event registration submit button is the "Pay Pal Checkout" button.
  But when the amount is 0 because a 100% discount coupon is used, there is no paypal button and the registration form cannot be submitted.
  
  **Tags:** civievent, cividiscount
  
  > **Comments:**
  > **username_1**: Hi username_0, That sounds annoying! A quick question - did you try setting up a similar event on the demo site and seeing if the problem occurred there? Might be worthwhile doing so (and linking to it from here if possible, to help people answer your question.  
  > **username_0**: I am trying both in live and on demo. Here you can see the normal test, no discount, all good. https://terranova.tamera.org/en/civicrm/event/register?reset=1&action=preview&id=1761  and here you can see the problem with a 100% discount https://terranova.tamera.org/en/civicrm/event/register?reset=1&action=preview&id=1761&discountcode=yaepxl2a7  
  > **username_1**: Hey again, by demo site, I meant http://dmaster.demo.civicrm.org/ - sorry - should have been more clear. The reason I asked was because it would then help us work out if it was an issue with CiviCRM core or your specific config. It might be that someone has a better understanding of the issue and can short-circuit this step, but it can be useful. PS. I would recommend against putting any real paypal account info on the demo site.  
  > **username_0**: Hey again, thank you for your comment, I tried to setup a paypal payment processor on the demo, but it doesnt allow it without providing with a username, password and signature. how can i reproduce this problem if i cannot put a real paypal account on the demo? just to say - with the credit card test processor the bug is not reproduced - the continue button also appears when a 100% discount is applied.  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_2 on 2017-04-18. Score: 2 | Accepted answer
  
  That looks like a bug, but I notice your CiviCRM is 4 versions behind the current one, so I'd update your CiviCRM first before doing anything else.
  
  I have seen some similar issues in the past - when you have an on-site payment processor, there is some logic that hides the payment form when no payment is due. Perhaps in combination with an off-site processor like Paypal Standard, the hiding of the payment form turns into hiding the submit button.
  
  
  ---
  
  ### Answer by username_3 on 2018-01-04. Score: 0
  
  I've also hit upon this issue -- an 100% discount coupon results in a zero $ cost for membership, and the Pay Now/Pay Later radio buttons don't appear, and when the prospective member clicks "Submit" to verify their membership request, they see the error :
  
  0 - Call to a member function getPaymentFormFields() on null
  
  I'm running civiCRM 4.7.27 and civiDiscount 3.3, with the Payment Processor set to PayPal - Website Payments Pro.
  
  Any one have a workaround for this, so that we can offer these free memberships?
  
  
  ---
  
  