We have a two DVDs (DVD A & DVD B) and one CD (CD) for sale. They will be printed and fulfilled on demand by Kunaki. We will ensure all three products are in the system the way we want. It should use the Kunaki XML system, [url removed, login to view]
We need a script to sell the three products in the following packages:
1. DVD A, DVD B & CD
2. DVD A & DVD B
3. DVD A & CD
4. DVD A
(As you can see, we do not offer DVD B without A.)
The script should have the following functionality:
1. It should completely match the design of our current page, which is a relatively simple design. (Winner will obviously get a link and access to images, logos, pricing, etc.)
2. The order page should feature the following elements:
a. Package (bullets with packages 1-5)
b. Country to ship to (dropdown, with countries indicated on Kunika page)
c. Discount/Referrer (entry field, more below)
e. Price (calculated automatically based on the info entered in a-d, more below)
f. All necessary detail fields as found on [url removed, login to view]
g. E-mail field
h. PayPal button
3. It should check real time if the payment went through alright and then go ahead and make the order using the kunaki XML query.
4. The script should validate all entered datafields before sending anything to PayPal or Kunika.
5. Show feedback pages, for the cases:
a. Payment cancelled
b. Payment failed
c. Payment succeeded, order failed
d. Payment succeeded, order succeeded (Thank you page)
6. A simple affiliate system (more below)
7. A coupon system
8. Everything should be stored in the DB and have simple pages accessible for us to see the info in the Db, such as a list of orders, list of processed payments, list of affiliates & list of all errors. (I don't want to be messing with phpMyAdmin)
People can register to be an affiliate by signing up on another page. There they simply entered their contact details & paypal account. They are then assigned a unique affiliate id. If this id is entered in the discount/referrer field (2c), the script should store the order ID, order amount and referrer in the Db.
We will need a page only we can access with a summary of all referrers and totals of all revenue they generated.
Also, it would be make sense if the id could be entered using the get method, ie: /[url removed, login to view];123456". That way people can include a link in emails, etc.
We want to be able to assign general discount codes that anyone can use (if they know them). These should be restrictable to one or more of the packages. (For instance, "250off" could give a discount of € 2.50, but only on packages 1-3. )
We should also be add codes like this that can only be used once. As soon as they are used, they become invalid.
The discount code is entered in the same field as affiliates and should also work with the get method. We will not allow both a discount and affiliate fee. So, it is always one or the other. Also, never more than one discount code.
The total price will be available in real-time Euro and US Dollar and will depend on: the package, shipping and a coupon. Packages will have a set price (in Euro) that includes the Air Mail rate for international shipments and USPS First Class Mail for US orders.
If someone selects a more expensive shipping option, the difference between the current rate for either Air Mail or USPS First Class and whatever they picked will be added to the total price. The Kunika XML web service can be queried for shipping options. (Again, see [url removed, login to view])
Finally, people can enter a coupon code. If it is indeed a valid coupon (to be checked in Db) that amount is deducted from the total order.
Packages and coupons are set by us and denominated in Euro. Shipping rates are denominated in US$, but should be calculated back to euro using the current rate. All the above results in a single Euro denominated price for the order. That price should also be shown in the current US$ rate. You may pick the service you use for to get the current rate, as long as it is trustworthy.
- Please build based on a PHP5/MySQL platform with e-mail notifications in case of errors.
- It should be clear that we need validation and tooltip boxes throughout. Also, the script and implementation should be relatively easy to modify.
I hope all this is clear. If you have questions, please ask for clarification.