More Checkout payment options
authorAdam Chlipala <adamc@hcoop.net>
Tue, 1 Apr 2008 18:17:38 +0000 (18:17 +0000)
committerAdam Chlipala <adamc@hcoop.net>
Tue, 1 Apr 2008 18:17:38 +0000 (18:17 +0000)
app.sml
payment.mlt

diff --git a/app.sml b/app.sml
index 6d603ea..40c4389 100644 (file)
--- a/app.sml
+++ b/app.sml
@@ -120,14 +120,9 @@ fun approve (app, msg) =
     end
 
 fun preAdd app =
-    ignore (C.dml (getDb ()) ($`UPDATE MemberApp
-                               SET status = 5
-                               WHERE id = ^(C.intToSql app)`))
-
-fun add app =
     let
        val _ = C.dml (getDb ()) ($`UPDATE MemberApp
-                                   SET status = 4
+                                   SET status = 5
                                    WHERE id = ^(C.intToSql app)`)
 
        val app = lookupApp app
@@ -139,6 +134,11 @@ fun add app =
        TextIO.closeOut outf
     end
 
+fun add app =
+    ignore (C.dml (getDb ()) ($`UPDATE MemberApp
+                               SET status = 4
+                               WHERE id = ^(C.intToSql app)`))
+
 fun welcome app =
     let
        val app = lookupApp app
dissimilarity index 66%
index 3c2d2b8..53c7ab4 100644 (file)
@@ -1,35 +1,80 @@
-<% val you = Init.getUser () %>
-
-<h3><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=payment@hcoop.net&item_name=Member+payment+for+<% Init.getUserName () %>">Add to your balance with PayPal</a></h3>
-
-<% switch #paypal you of
-   NONE => %><p>You haven't set a PayPal e-mail address.  If you are going to send a payment by PayPal, please <a href="pref">set a PayPal e-mail address on the Preferences page</a> first to ensure that you are credited promptly and accurately.</p><%
-end %>
-
-<p>Remember that we credit member balances for PayPal payments <b>after subtracting PayPal's service fees</b>. This means that, to increase your balance by a particular amount, you must make a <b>larger</b> payment than just that amount. You should consult <a href="https://www.paypal.com/us/cgi-bin/webscr?cmd=_display-fees-outside">the PayPal fees page</a> to figure out how much extra to send. We have a business account, which means, for example, a 2.9% plus 30 cent fee for payments from the USA. This means that you can calculate the amount <i>x</i> to send from the amount <i>y</i> you want us to receive with this formula: <i>x</i> = (<i>y</i> + .3) / (1 - .029). The fees may be different for other countries.</p>
-
-<h3>Add to your balance with <a href="http://checkout.google.com/">Google Checkout</a>:
-    <table>
-<form action="https://checkout.google.com/cws/v2/Merchant/641723647067155/checkout" id="BB_BuyButtonForm" method="post" name="BB_BuyButtonForm">
-        <tr>
-            <td>
-                <select name="buyButtonCart">
-                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8aXRlbS1uYW1lPkFkZCAkMTAgdG8geW91ciBiYWxhbmNlPC9pdGVtLW5hbWU+DQogICAgICAgIDxxdWFudGl0eT4xPC9xdWFudGl0eT4NCiAgICAgICAgPHVuaXQtcHJpY2UgY3VycmVuY3k9IlVTRCI+MTAuMDwvdW5pdC1wcmljZT4NCiAgICAgICAgPGl0ZW0tZGVzY3JpcHRpb24gLz4NCiAgICAgIDwvaXRlbT4NCiAgICA8L2l0ZW1zPg0KICA8L3Nob3BwaW5nLWNhcnQ+DQogIDxjaGVja291dC1mbG93LXN1cHBvcnQ+DQogICAgPG1lcmNoYW50LWNoZWNrb3V0LWZsb3ctc3VwcG9ydCAvPg0KICA8L2NoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCjwvY2hlY2tvdXQtc2hvcHBpbmctY2FydD4NCg0K//separator//JamZPEfPuWdsrp0xWerG2bJmWYg=">&#x24;10.00 - Add &#x24;10 to your balance</option>
-                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8aXRlbS1uYW1lPkFkZCAkMjAgdG8geW91ciBiYWxhbmNlPC9pdGVtLW5hbWU+DQogICAgICAgIDxxdWFudGl0eT4xPC9xdWFudGl0eT4NCiAgICAgICAgPHVuaXQtcHJpY2UgY3VycmVuY3k9IlVTRCI+MjAuMDwvdW5pdC1wcmljZT4NCiAgICAgICAgPGl0ZW0tZGVzY3JpcHRpb24gLz4NCiAgICAgIDwvaXRlbT4NCiAgICA8L2l0ZW1zPg0KICA8L3Nob3BwaW5nLWNhcnQ+DQogIDxjaGVja291dC1mbG93LXN1cHBvcnQ+DQogICAgPG1lcmNoYW50LWNoZWNrb3V0LWZsb3ctc3VwcG9ydCAvPg0KICA8L2NoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCjwvY2hlY2tvdXQtc2hvcHBpbmctY2FydD4NCg0K//separator//2CDnW1MkNhBy4j1k7V6s2TVEVpI=">&#x24;20.00 - Add &#x24;20 to your balance</option>
-                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8aXRlbS1uYW1lPkFkZCAkNTAgdG8geW91ciBiYWxhbmNlPC9pdGVtLW5hbWU+DQogICAgICAgIDxxdWFudGl0eT4xPC9xdWFudGl0eT4NCiAgICAgICAgPHVuaXQtcHJpY2UgY3VycmVuY3k9IlVTRCI+NTAuMDwvdW5pdC1wcmljZT4NCiAgICAgICAgPGl0ZW0tZGVzY3JpcHRpb24gLz4NCiAgICAgIDwvaXRlbT4NCiAgICA8L2l0ZW1zPg0KICA8L3Nob3BwaW5nLWNhcnQ+DQogIDxjaGVja291dC1mbG93LXN1cHBvcnQ+DQogICAgPG1lcmNoYW50LWNoZWNrb3V0LWZsb3ctc3VwcG9ydCAvPg0KICA8L2NoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCjwvY2hlY2tvdXQtc2hvcHBpbmctY2FydD4NCg0K//separator//88aQDU37EdF4b2MsvLPL2FiAbRU=">&#x24;50.00 - Add &#x24;50 to your balance</option>
-                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8aXRlbS1uYW1lPkFkZCAkMTAwIHRvIHlvdXIgYmFsYW5jZTwvaXRlbS1uYW1lPg0KICAgICAgICA8cXVhbnRpdHk+MTwvcXVhbnRpdHk+DQogICAgICAgIDx1bml0LXByaWNlIGN1cnJlbmN5PSJVU0QiPjEwMC4wPC91bml0LXByaWNlPg0KICAgICAgICA8aXRlbS1kZXNjcmlwdGlvbiAvPg0KICAgICAgPC9pdGVtPg0KICAgIDwvaXRlbXM+DQogIDwvc2hvcHBpbmctY2FydD4NCiAgPGNoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCiAgICA8bWVyY2hhbnQtY2hlY2tvdXQtZmxvdy1zdXBwb3J0IC8+DQogIDwvY2hlY2tvdXQtZmxvdy1zdXBwb3J0Pg0KPC9jaGVja291dC1zaG9wcGluZy1jYXJ0Pg0KDQo=//separator//EayZGMDTNKdL75UUBET3ivL5tPU=">&#x24;100.00 - Add &#x24;100 to your balance</option>
-                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8aXRlbS1uYW1lPkFkZCAkMjAwIHRvIHlvdXIgYmFsYW5jZTwvaXRlbS1uYW1lPg0KICAgICAgICA8cXVhbnRpdHk+MTwvcXVhbnRpdHk+DQogICAgICAgIDx1bml0LXByaWNlIGN1cnJlbmN5PSJVU0QiPjIwMC4wPC91bml0LXByaWNlPg0KICAgICAgICA8aXRlbS1kZXNjcmlwdGlvbiAvPg0KICAgICAgPC9pdGVtPg0KICAgIDwvaXRlbXM+DQogIDwvc2hvcHBpbmctY2FydD4NCiAgPGNoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCiAgICA8bWVyY2hhbnQtY2hlY2tvdXQtZmxvdy1zdXBwb3J0IC8+DQogIDwvY2hlY2tvdXQtZmxvdy1zdXBwb3J0Pg0KPC9jaGVja291dC1zaG9wcGluZy1jYXJ0Pg0KDQo=//separator//wjow2c9hWKClWEf9bZgI00to3Oc=">&#x24;200.00 - Add &#x24;200 to your balance</option>
-                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8aXRlbS1uYW1lPkFkZCAkNTAwIHRvIHlvdXIgYmFsYW5jZTwvaXRlbS1uYW1lPg0KICAgICAgICA8cXVhbnRpdHk+MTwvcXVhbnRpdHk+DQogICAgICAgIDx1bml0LXByaWNlIGN1cnJlbmN5PSJVU0QiPjUwMC4wPC91bml0LXByaWNlPg0KICAgICAgICA8aXRlbS1kZXNjcmlwdGlvbiAvPg0KICAgICAgPC9pdGVtPg0KICAgIDwvaXRlbXM+DQogIDwvc2hvcHBpbmctY2FydD4NCiAgPGNoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCiAgICA8bWVyY2hhbnQtY2hlY2tvdXQtZmxvdy1zdXBwb3J0IC8+DQogIDwvY2hlY2tvdXQtZmxvdy1zdXBwb3J0Pg0KPC9jaGVja291dC1zaG9wcGluZy1jYXJ0Pg0KDQo=//separator//zAFfJqOZBPuO46sFs25F/VQyAdM=">&#x24;500.00 - Add &#x24;500 to your balance</option>
-                </select>
-            </td>
-            <td>
-                <input alt="" src="https://checkout.google.com/buttons/buy.gif?merchant_id=641723647067155&amp;w=117&amp;h=48&amp;style=white&amp;variant=text&amp;loc=en_US" type="image"/>
-            </td>
-        </tr>
-    </form></table></h3>
-
-<% switch #checkout you of
-   NONE => %><p>You haven't set a Google Checkout e-mail address.  If you are going to send a payment by Google Checkout, please <a href="pref">set a Checkout e-mail address on the Preferences page</a> first to ensure that you are credited promptly and accurately.</p><%
-end %>
-
-<p>Remember that we credit member balances for Checkout payments <b>after subtracting <a href="https://checkout.google.com/seller/fees.html">Checkout's service fees</a></b>. This means that, to increase your balance by a particular amount, you must make a <b>larger</b> payment than just that amount. The current fees are 2% plus 20 cents. This means that you can calculate the amount <i>x</i> to send from the amount <i>y</i> you want us to receive with this formula: <i>x</i> = (<i>y</i> + .2) / (1 - .02).</p>
+<% val you = Init.getUser () %>
+
+<h3><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=payment@hcoop.net&item_name=Member+payment+for+<% Init.getUserName () %>">Add to your balance with PayPal</a></h3>
+
+<% switch #paypal you of
+   NONE => %><p>You haven't set a PayPal e-mail address.  If you are going to send a payment by PayPal, please <a href="pref">set a PayPal e-mail address on the Preferences page</a> first to ensure that you are credited promptly and accurately.</p><%
+end %>
+
+<p>Remember that we credit member balances for PayPal payments <b>after subtracting PayPal's service fees</b>. This means that, to increase your balance by a particular amount, you must make a <b>larger</b> payment than just that amount. You should consult <a href="https://www.paypal.com/us/cgi-bin/webscr?cmd=_display-fees-outside">the PayPal fees page</a> to figure out how much extra to send. We have a business account, which means, for example, a 2.9% plus 30 cent fee for payments from the USA. This means that you can calculate the amount <i>x</i> to send from the amount <i>y</i> you want us to receive with this formula: <i>x</i> = (<i>y</i> + .3) / (1 - .029). The fees may be different for other countries.</p>
+
+<h3>Add to your balance with <a href="http://checkout.google.com/">Google Checkout</a>:
+
+<table>
+<form action="https://checkout.google.com/cws/v2/Merchant/641723647067155/checkoutForm" id="BB_BuyButtonForm" method="post" name="BB_BuyButtonForm">
+        <tr>
+            <td>
+                <select name="item_selection_1">
+                    <option value="1">$10.00 - Add $10 to your balance</option>
+                    <option value="2">$20.00 - Add $20 to your balance</option>
+                    <option value="3">$30.00 - Add $30 to your balance</option>
+                    <option value="4">$40.00 - Add $40 to your balance</option>
+                    <option value="5">$50.00 - Add $50 to your balance</option>
+                    <option value="6">$100.00 - Add $100 to your balance</option>
+                    <option value="7">$200.00 - Add $200 to your balance</option>
+                    <option value="8">$500.00 - Add $500 to your balance</option>
+                </select>
+                <input name="item_option_name_1" type="hidden" value="Add $10 to your balance"/>
+                <input name="item_option_price_1" type="hidden" value="10.0"/>
+                <input name="item_option_description_1" type="hidden" value=""/>
+                <input name="item_option_quantity_1" type="hidden" value="1"/>
+                <input name="item_option_currency_1" type="hidden" value="USD"/>
+                <input name="item_option_name_2" type="hidden" value="Add $20 to your balance"/>
+                <input name="item_option_price_2" type="hidden" value="20.0"/>
+                <input name="item_option_description_2" type="hidden" value=""/>
+                <input name="item_option_quantity_2" type="hidden" value="1"/>
+                <input name="item_option_currency_2" type="hidden" value="USD"/>
+                <input name="item_option_name_3" type="hidden" value="Add $30 to your balance"/>
+                <input name="item_option_price_3" type="hidden" value="30.0"/>
+                <input name="item_option_description_3" type="hidden" value=""/>
+                <input name="item_option_quantity_3" type="hidden" value="1"/>
+                <input name="item_option_currency_3" type="hidden" value="USD"/>
+                <input name="item_option_name_4" type="hidden" value="Add $40 to your balance"/>
+                <input name="item_option_price_4" type="hidden" value="40.0"/>
+                <input name="item_option_description_4" type="hidden" value=""/>
+                <input name="item_option_quantity_4" type="hidden" value="1"/>
+                <input name="item_option_currency_4" type="hidden" value="USD"/>
+                <input name="item_option_name_5" type="hidden" value="Add $50 to your balance"/>
+                <input name="item_option_price_5" type="hidden" value="50.0"/>
+                <input name="item_option_description_5" type="hidden" value=""/>
+                <input name="item_option_quantity_5" type="hidden" value="1"/>
+                <input name="item_option_currency_5" type="hidden" value="USD"/>
+                <input name="item_option_name_6" type="hidden" value="Add $100 to your balance"/>
+                <input name="item_option_price_6" type="hidden" value="100.0"/>
+                <input name="item_option_description_6" type="hidden" value=""/>
+                <input name="item_option_quantity_6" type="hidden" value="1"/>
+                <input name="item_option_currency_6" type="hidden" value="USD"/>
+                <input name="item_option_name_7" type="hidden" value="Add $200 to your balance"/>
+                <input name="item_option_price_7" type="hidden" value="200.0"/>
+                <input name="item_option_description_7" type="hidden" value=""/>
+                <input name="item_option_quantity_7" type="hidden" value="1"/>
+                <input name="item_option_currency_7" type="hidden" value="USD"/>
+                <input name="item_option_name_8" type="hidden" value="Add $500 to your balance"/>
+                <input name="item_option_price_8" type="hidden" value="500.0"/>
+                <input name="item_option_description_8" type="hidden" value=""/>
+                <input name="item_option_quantity_8" type="hidden" value="1"/>
+                <input name="item_option_currency_8" type="hidden" value="USD"/>
+            </td>
+            <td>
+                <input alt="" src="https://checkout.google.com/buttons/buy.gif?merchant_id=641723647067155&amp;w=117&amp;h=48&amp;style=white&amp;variant=text&amp;loc=en_US" type="image"/>
+            </td>
+        </tr>
+    </form>
+ </table>
+</h3>
+
+<% switch #checkout you of
+   NONE => %><p>You haven't set a Google Checkout e-mail address.  If you are going to send a payment by Google Checkout, please <a href="pref">set a Checkout e-mail address on the Preferences page</a> first to ensure that you are credited promptly and accurately.</p><%
+end %>
+
+<p>Remember that we credit member balances for Checkout payments <b>after subtracting <a href="https://checkout.google.com/seller/fees.html">Checkout's service fees</a></b>. This means that, to increase your balance by a particular amount, you must make a <b>larger</b> payment than just that amount. The current fees are 2% plus 20 cents. This means that you can calculate the amount <i>x</i> to send from the amount <i>y</i> you want us to receive with this formula: <i>x</i> = (<i>y</i> + .2) / (1 - .02).</p>