Paid contest

Idea

You can run a contest and assign payment options (with PayPal) for participants which are aligned with certain limits (ie. 10 EUR per 10 entries). 
You can also sell some extras to choose from, which wouldn't be aligned with entry limits.
 

Participation process

Participation in paid contest is realized within Competizer in 4 steps right after sign up/sign in:

  1. Choose payment option.  Each option applies certain entry limit.
  2. Add entries
  3. Describe entries
  4. Checkout.

On the Checkout page the pay button appears and after clicking on it user is redirected to payments.

Setup paid contest

Moderation option

In Setup&Edit > Moderation choose:
Entries go live after payment confirmation or you can make selected entries visible (use only if payments are enabled).

Create custom success and cancelation pages

Create custom pages which would appear to participant:

  • when they cancel their checkout - here you can provide links to:
    • upload page: <a href="contests/enter">Upload more entries</a>
    • checkout page <a href="entries/postupload_info">Checkout</a>
  • when they finish checkout.

Add options for the Payment options page (right after sign up)

  1. In Competizer admin Setup&Edit > Options > Payments enable Payments.
  2. In text editor you can provide general Payment Instructions. You can describe options, prizes and whole process here. Beneath will be displayed list of options, so at least add something like this:

    Choose the option:
  3. Below the text editor enter options in Payment Options (they will be visible as a list of radio buttons to choose from):
    • Label - will be visible on page. You can provide here info how much it would cost and what's the limit here.
      Sample: 
      10 entries / €10
    • Value (key) - won't be visible on page. Will be used by both PayPal and Competizer systems to recognize options. The same name would be used then while setting options in PayPal. Provide here simple name without spaces or other special characters.
    • Entry limit - enter a number which is the entry limit if the user choses this option. This limit will override categories entry limits and Entry limit per contest (if is set).
    • Pay now script leave empty - you will fill it later on.

Add instructions for Upload entries page

For this page you can optionally provide additional info in Upload instructions in Setup&Edita > Stages > Submission Round, especially if chosen option may interfere with categories limits.

Customize button on Describe entries page

On this page the label for "Save and send" button could be changed to "Save and go to checkout" (ask Competizer team for help). 

Customize Checkout page

  1. Create account or sign in PayPal.
  2. Create button for each paid option:
    • If you are logged in Paypal choose "Merchant Services", then "Website Payments Standard", then click on link for "Sell single items"
    • Choose a button type "Buy now"
    • Provide readable Item name (option name and optionally entry limit)
    • Provide Item ID - provide Value (key) created for this option in Competizer.
    • Add Prize
    • Optionally you can add here additional dropdown menu with more options (but only if they apply  the same entry limit). It could be used to sell additional items like prints, albums, shirts, etc.
    • Click on  "Customize text or appearance" and select "Pay now" for "Select button text". Customize other options if useful.
    • In the 2.nd step just leave "Save button at PayPal" checked. Right after creating the button you will get the link to the list of buttons, where you can easily duplicate or edit button if necessary.
    • Go to the step 3. and optionally customize advanced options.
      Add URLs for success and cancelation custom pages created in Competizer admin before.
    • Important: finally check "Add advanced variables" and:
      if you use such a contest address http://yourdomain.com/contest-name/ then add such a line replacing the domain name and contest name with your address (marked on red):
      notify_url=http://yourdomain.com/contest-name/contests/payment
      or if you use top level domain as a contest address then add such a line replacing the domain name with your address (marked on red):
      notify_url=http://yourdomain.com/contests/payment
    • Create button and copy its code. 
  3. Go back in Competizer admin Setup&Edit > Options > Payments > Payment Options and find apropriate Pay now script and paste code PayPal script here.
    Now you have to add a line into this script right before </form>:

    <input name="custom" type="hidden" value="[USERNAME]" />

  4. Repeat until all options are filled.
     
  5. In Setup&Edit > Stages > Submission Round enable Post-upload Page.
  6. In the content of this page you can provide some general info which would be displayed for all users who access that page.
    Add [PAY_NOW] somewhere on this page. This will display the Pay now script for the option chosen by the participant (so the pay button).
  7. You can also provide detailed checkout summary (confirm which option was chosen and how entries will be treated if participant pays/not pays).
    Go back to Setup&Edit > Options > Payments > Payment Options  and for each Pay now script  add specific info before the scripts. This info will be displayed on Checkout page below the general info provided in previous step.

    Sample Pay now script alltogether (the green code should be provided by you, gray code would be provided by PayPal):

    <p>Thank you [USERNAME] for your upload.</p>
    <p>You've choosen <b>(Option name/value)</b> which allows you to upload up to (X) photos.</p>
    <p class="important">Your photos will take part in the competition and will be available in gallery when we receive your payments.</p>
    <br/><br/>

    <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
    <input type="hidden" name="cmd" value="_s-xclick">
    <input type="hidden" name="hosted_button_id" value="xxx">
    <input type="image" src="xxx" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
    <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
    <input name="custom" type="hidden" value="[USERNAME]" />
    </form>

Administration

Competizer can automatically accept paid entries and free of charge entries.

Before accepting entries are not available in public gallery. For admin they are available in Moderation > Pre-moderation tab. Optionally you can also approve them manually.

Entries are processed within few minutes, also free entries are accepted with small delay. You may inform participants about this: write a note in Setup&Edit> Options > Payments > Pay now script instead of placing pay button there.

After accepting entries are available in public gallery. For admin they are available in Moderation > Entries Moderation.

Troubleshooting

If something doesn't work as described above make sure these are set properly:

  • for paid option [USERNAME] is added to pay button form (in Competizer)
  • notify_url variable was added while pay button set up (in PayPal)
  • Moderation option to Entries go live after payment confirmation or you can make selected entries visible  (in Competizer).