home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
S
/
SUB110.ZIP
/
SUB.DOC
< prev
next >
Wrap
Text File
|
1993-10-05
|
28KB
|
682 lines
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
The Subscriber v1.1
Copyright (c) 1993, SUN Serveur - Olivier Junod
All rights reserved
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
A PPE for PCBoard v15.0 to allow a user to register online
with a credit card.
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
-2-
1. Table of contents
════════════════════
Introduction ........................................ 3
Features ............................................ 3
Files list .......................................... 4
Installation ........................................ 5
Setup ............................................... 6
Screens ............................................. 9
@ Macros ............................................ 12
Disclaimer and legal matters ........................ 14
Aknowledgement ...................................... 14
Contact ............................................. 15
-3-
2. Introduction
═══════════════
'The Subscriber' is a PPE program wich allow a user to register
online with a credit card.
Like many european Sysops, I'm always looking for programs and doors
which offer the multilingual capabilities of PCBoard. I haven't found
a Subscription door wich respond to my requirements. So I decided to
write it using the PCBoard Programming Language (PPL).
I apologize for the bad english used to write this document. I'm a
swiss sysop and my mothertongue is french ... I've done my best.
'The Subscriber' is not free. It is distributed as a SHAREWARE.
If after a trial periode (30 days) you decided to keep it, I please
you to fill the registration form even if 'The Subscriber' is NOT
CRIPPLED and fully functional.
┌──────────────────────────────────────────────────────────────────┐
│ The price for this shareware is fixed to Swiss Francs 35.-, wich │
│ correspond approximatively to US$ 20.00 │
└──────────────────────────────────────────────────────────────────┘
Please use REGISTER.FRM to register this application.
3. Features
═══════════
- PSA(3) Address management is used to fill up the address data.
(If installed).
- Accept VISA, MASTERCARD, AMERICAN EXPRESS, OPTIMA, CARTE BLANCHE,
DISCOVER and DINERS CLUB.
- Instantly verifies card type.
- Userfriendly interface for the USER.
- The USER is instantly (or not) upgraded to his new access level
(sysop configurable)
- Support up to 12 different subscription levels .
- Support ASCII, ANSI and RIPscript protocols. (Examples of both
ANSI and RIP are enclosed).
- Support the multilingual capabilities of PCBoard (French and english
text files and screens are enclosed).
- Fully configurable (specifics @ macros). All the different screens
may be re-designed.
- Prompts (text files) may be changed.
- Calculate handling (Fixed amount or Rate).
- Calculate Tax (Fixed amount or Rate), always or only for State
residents.
- Display a Receipt to the User (optional).
- Write a COMMENT to the sysop (optional).
- Generate an Invoice.
- User can download his invoice (sysop configurable).
- Invoice, Receipt and Message may have their own design.
- Implemented as a PCBoard Command (and as a DOOR if you wish).
-4-
4. Files List
═════════════
SUB.PPE Main program
SUBSETUP.EXE Setup program (Create/update of SUB.CNF)
MKSUBTXT.EXE Maintenance program for text files
ADISCTRL Screen control for SUBSETUP and MKSUBTXT
SUB.DOC This documentation
SUB. Sample of DOOR batch file
SUB.KBD Sample of Keyboard stuffer (for DOOR implementation)
SUB.CNF Sample of configuration file
INVOICE.TXT Sample of INVOICE layout
MESSAGE.TXT Sample of MESSAGE to SysOp layout
RECEIPT.TXT Sample of RECEIPT layout
FRENCH.ZIP Sample of french screens and TEXT file
ENGLISH.ZIP Sample of english screens and TEXT file
REGISTER.FRM Registration Form
Each embeded ZIP file contains :
SUBTEXT.ext The text (prompt) file
SUB_END.ext ┐
SUB_LEV.ext │
SUB_LST.ext │
SUB_MEN.ext │
SUB_SYS.ext ├ Samples of ANSI screens
SUB_S1.ext │
SUB_S2.ext │
SUB_S3.ext │
SUB_S4.ext │
SUB_WRN.ext ┘
SUB_ENDR.ext ┐
SUB_LEVR.ext │
SUB_LSTR.ext │
SUB_MENR.ext │
SUB_SYSR.ext ├ Samples of RIP screens
SUB_S1R.ext │
SUB_S2R.ext │
SUB_S3R.ext │
SUB_S4R.ext │
SUB_WRNR.ext ┘
File automatically created :
────────────────────────────
SUB.CNT This file is created the first time a user has
completed is registration. It contains the number
of the last INVOICE and is part of the invoice
filename. The file can be edited; it contains only
one record with a number (1 => 99999999).
Temporary files :
─────────────────
SUB_TMP.ext Where 'ext' is the node number. This file is created
and deleted each time it is necessary.
-5-
5. Installation
═══════════════
- Create a (sub)directory
- UNZIP the content of the archive file in this new directory.
- UNZIP either (or both) languages archives (ENGLISH.ZIP contains
files with .ENG extension, FRENCH.ZIP contains files with .FRE
extension ).
- Rename the .ENG and .FRE files accordingly to your languages
extensions.
- Load PCBSETUP and go to (B) Files locations then (B) Configuration
files
- Edit the CMD.LST file (highlight the line and press F2).
- Add a new command name (i.e. SUB), the security level, and the
full pathname and name of the PPE program
(i.e. C:\PCB\PPE\SUB\SUB.PPE).
- Edit the configuration files
If you wish to install the PPE Program as a DOOR :
- Edit the file SUB.KBD so that it contains only ONE line with
the name of the command you have given.
- Modify the file SUB. (no extension) so that it copies the
content of SUB.KBD to the file PCBSTUFF.KBD
- Modify the entries in your DOORS.LST for running a SHELLED DOOR
pointing to the file SUB (You can rename it).
-6-
6. Setup
════════
Main configuration file (SUB.CNF) :
───────────────────────────────────
Before starting with the program you have to edit the configuration
file (SUB.CNF). The best way to configure this application is to
run SUBSETUP, but you can edit the file with your favorite text
editor :
Line 1 : 0 or 1 (1 if you accept AMERICAN EXPRESS).
Line 2 : 0 or 1 (1 if you accept CARTE BLANCHE).
Line 3 : 0 or 1 (1 if you accept DINERS CLUB) .
Line 4 : 0 or 1 (1 if you accept DISCOVERY).
Line 5 : 0 or 1 (1 if you accept MASTERCARD).
Line 6 : 0 or 1 (1 if you accept OPTIMA).
Line 7 : 0 or 1 (1 if you accept VISA).
Line 8 : 0 or 1 (1 if you want to automatically upgrade the
user to his new level; 0 if user level must
remain at his actual level
Line 9 : Filename of the INVOICE layout.
Line 10: 0 or 1 (1 if you want to display a receipt to the
user).
Line 11: Filename of the RECEIPT layout.
Line 12: 0 or 1 (1 if you want the program to create a
comment to the sysop each time a user
has subscribed).
Line 13: Filename of the MESSAGE layout (comment to sysop).
Line 14: 0 or 1 (1 if you want to log entries into the
CALLER Logfile.
Line 15: Money code to be used when formatting amounts (US$, FRS).
Line 16: Base rate for handling calculation (from 0.00 to 100.00).
Line 17: Base amount for handling calculation (from 0.00 to
999999.99).
Line 18: Base rate for tax calculation (from 0.00 to 100.00).
Line 19: Base amount for tax calculation (from 0.00 to 999999.99).
Line 20: State (county) of reference. This should reflect your
BBS location.
Line 21: Tax calculation mode (Valid values are (N) = never
calculate tax, (A) = always calculate tax, (S) =
calculate only if Users's State is equal to Reference
State).
Line 22: Number of decimal position in amounts (Valid values are
0 or 2 (0 is typically used with italian lire, japanese
yen, belgian francs, etc.).
Line 23: Round off mode. (Valid values are 1 = No round off,
2 = Round off to the next 0.05, 3 = round off to the
unit.
Line 24 0 or 1 (1 if you allow the user to download his
invoice)
Line 25 Pathname to store the invoice to be downloaded. This
path MUST be declared in your PCBoard DLPATH
Line 26 to 37: The subscription levels wich are formatted
as following :
-7-
Subscription level :
────────────────────
Each line contains 4 fields wich are separated by
a semicolon:
- The access level to be given.
- Length of subscription (days).
- The description (maximum 45 caracters).
- The price (maximum 6 unit digits + 2 decimal digits
separated with a dot (.).
Example : 30;365;2 Mbytes/day 100 minutes/day;12.34
| | | |
| | | Price
| | Description
| Length in days
Access level
WARNING ! Do not use semicolons in your description !
Note regarding the invoice download :
─────────────────────────────────────
If you allow the user to download his invoice, you must provide
a directory to temporarly store the invoice. This directory MUST
be declared in the PCBoard DLPATH. Do not provide the directory
where the PPE is installed !!! In this case your users may have
the availability to download all your invoices...
If a user ask to download the invoice, this file is copied to
the temporary directory you have provided with the name :
INVOICE.ext where ext is the node number.
When the user has exited the PPE, this file is flagged for the
download.
When the user quit your BBS, the file will remain in the directory
(and stay available for download to other users). To avoid this
situation, you should insert a DEL command in your $$LOGOFF.BAT
to erase this file.
-8-
The prompts files :
───────────────────
For each language you can edit the text file wich contains
all the different prompts used in 'The Subscriber' or use
MKSUBTXT to maintain/create it.
WARNING ! The first letter of the first line will fix the
command caracter used to ABORT the program.
Examples : A=Abort ==> 'A' will abort the program
E=End ==> 'E' will abort the program
The text files are always named SUBTEXT.ext where 'ext' is the
language extention as defined in your PCBoard setup (PCBML.DAT).
The Layouts :
─────────────
Three files will work as layout and will be processed
before beeing displayed to the user or written to disk :
The Invoice layout (mandatory) :
This text file should contains the design of your invoice;
it may include internal @ macros to insert the variable
fields (name, date, etc...).
Internal @ macros will be discussed later in this document.
The invoice will be saved on disk when the user has confirmed
his purchase. The final invoice filename will be n.INV
where n is a sequence number between 1 and 99999999.
The Receipt layout (optional) :
You can display a text file to the user when is has completed
his registration.
This file contains the design of your receipt and may include
internal @ macros (this will be discussed later on this doc).
The Message layout (optional) :
You can ask 'The subscriber' to insert a comment to the sysop
each time a user has completed his registration.
This file contains the design of your message and may include
internal @ marcos (this will be discussed later in this doc).
-9-
7. The different screens (panels)
═════════════════════════════════
The welcome screen :
────────────────────
It is the first panel wich is displayed to the user.
It is encrypted in the program and may not be modified.
ALL THE FOLLOWING SCREENS MAY BE DESIGNED AS YOU WISH SO THAT
THE LOOK AND FEEL OF YOUR BBS WILL BE RESPECTED. @ MACROS SHOULD
BE USED TO DISPLAY VARIABLE FIELDS TO THE USER. THE NAMING
CONVENTION OF PCBOARD IS APPLIED FOR GRAPHIC TYPE (ASCII,ANSI and
RIPscript) AND LANGUAGE (No level specific files).
PLEASE NOTICE THAT ANSI SCREEN MUST NEVER BE OVER 21 LINES LENGTH
(2 lines are used for prompts).
The warning screen (optional) :
───────────────────────────────
Can be used to warn the user that the use of credit card must
follows some legal rules.
Name : SUB_WRN
The Main Menu screen (mandatory) :
──────────────────────────────────
Name : SUB_MEN
Prompt after
display : Line 23 of SUBTEXT
Valid entries : 1 => Display the list of available subscription
2 => Begin the registration process
3 => Quit to BBS
4 => Logoff
List of available subscriptions (mandatory) :
─────────────────────────────────────────────
Name : SUB_LST
Prompt after
display : None (wait for Enter)
-10-
The First Data screen (mandatory) :
───────────────────────────────────
This panel is displayed before to ask the user to enter his
credit card number and the expiration date.
Name : SUB_S1
Prompt after
display : Line 18 of SUBTEXT
Line 19 of SUBTEXT
Valid entries : A valid card number, a valid expiration date
or the Abort caracter
The Second Data screen (mandatory) :
────────────────────────────────────
This panel is displayed before to ask the user if administratives
data are correct.
Name : SUB_S2
Prompt after
display : Line 16 + 17 of SUBTEXT
Valid entries : 1, 2, 3, 4, 5, 6, 7, 8, 9, (Y)es caracter
(depending on the language) or the Abort caracter.
The Third Data screen (mandatory) :
───────────────────────────────────
This panel is displayed with the list of available subscriptions and
the user will be asked to choose one.
Name : SUB_S3
Prompt after
display : Line 20 of SUBTEXT
Valid entries : 1 to 12 (depending the number of available
subscription) or the Abort caracter.
The Forth Data screen (mandatory) :
───────────────────────────────────
This panel is the confirmation of the choose made by the user.
Name : SUB_S4
Prompt after
display : Line 21 of SUBTEXT
Valid entries : (Y)es and (N)o caracter (depending on the language)
or the Abort caracter.
-11-
The End screen (mandatory) :
────────────────────────────
This panel is displayed after the user has completed his
registration. May be used to indicate that the new subscription
is now active.
Name : SUB_END
Prompt after
display : None (wait for Enter)
The Level screen (mandatory) :
──────────────────────────────
This panel is displayed only if the user choose a subscription with
a level wich is lower than is actual level. The user may accept the
immediate downgrade, refuse it or abort the procedure.
Name : SUB_LEV
Prompt after
display : Line 22 of SUBTEXT
Valid entries : (Y)es and (N)o caracter (depending on the language)
or the Abort caracter.
The SysOp screen (mandatory) :
──────────────────────────────
This panel is displayed if the user is the sysop or has the sysop
level. No information will be saved, no receipt displayed and no
comment to the sysop will be written.
Name : SUB_SYS
Prompt after
display : None
-12-
8. @ Macros
═══════════
Some internal macros has been defined to allow the display of variable
fields or the creation of the invoice file.
The @ macros are always defined with a fixed length. Be careful when
creating your screens !
Macro name Length Description
------------------------------------------------------------------------
@ACCEPTED1@ 47 First line with the names of the credit card types
accepted on the BBS
@ACCEPTED2@ 47 Second line with the names of the credit card types
accepted on the BBS
@ADR1@ 49 Card Holder's address 1st line
@ADR2@ 49 Card Holder's address 2nd line
@BPHONE@ 13 Card Holder's business phone
@CARDEXP@ 5 Credit Card expiration date
@CARDHOLDER@ 25 Name of the Card Holder
@CARDNB@ 19 Credit Card number
@CARDTYPE@ 16 Credit Card Type
@CITY@ 25 City name (address)
@COUNTRY@ 15 Country name (address)
@DESC@ 45 Description of the subscription choosen by
the user
@HANDLING@ 13* Calculated amount for handling
@HBAMOUNT@ 13* Handling base amount
@HBRATE@ 7** Handling base rate
@HPHONE@ 13 Card Owner's Home phone
@INVOICE@ 8 Invoice Number
@NEWEXPIRE@ 8 The new expiration date after purchase
@NEWLEVEL@ 3 The new level after purchase
@OPTION@ 2 The option number choosen by the user
@PRICE@ 13* Price of the option choosen by the user
@STATE@ 2 State/County (Address)
@SYSDATE@ 8 System date
@SYSTIME@ 8 System time
@TAX@ 13* Calculated tax
@TBAMOUNT@ 13* Tax base amount
@TBRATE@ 7** Tax base rate
@TDESC(n)@ 45 Description of the available subscription
(n = 1 to 12)
@TOTAL@ 13* Total calculated amount (subs. price + Tax +
handling)
@TPRICE(n)@ 13* Price of each available subscription
(n = 1 to 12)
@USER@ 25 User Name
@ZIP@ 10 ZIP code (address)
* An amount is always formated with the money sign on the three
mostleft caracters and the amount is right aligned.
Valid amounts a between 0 and 999999.99 if decimals are used
and between 0 and 999999 if no decimals are used.
** A rate is always aligned on the left with a '%' trailing sign.
-13-
For performance purpose, @ macros can be used only in specific screens
or in layouts. The following panel show you wich macro can be used
in wich screen or layout :
┌──────────────┬──────┬──────┬──────┬──────┬───────┬───────┬────────┐
│ MACRO │SUB_S1│SUB_S2│SUB_S3│SUB_S4│INVOICE│RECEIPT│MESSAGE │
├──────────────┼──────┼──────┼──────┼──────┼───────┼───────┼────────┤
│ @ACCEPTED1@ │ X │ X │ │ │ X │ X │ X │
│ @ACCEPTED2@ │ X │ X │ │ │ X │ X │ X │
│ @ADR1@ │ │ X │ │ │ X │ X │ X │
│ @ADR2@ │ │ X │ │ │ X │ X │ X │
│ @BPHONE@ │ │ X │ │ │ X │ X │ X │
│ @CARDEXP@ │ X │ X │ │ │ X │ X │ X │
│ @CARDNB@ │ X │ X │ │ │ X │ X │ X │
│ @CARDHOLDER@ │ │ X │ │ │ X │ X │ X │
│ @CARDTYPE@ │ X │ X │ │ │ X │ X │ X │
│ @CITY@ │ │ X │ │ │ X │ X │ X │
│ @COUNTRY@ │ │ X │ │ │ X │ X │ X │
│ @DESC@ │ │ │ │ X │ X │ X │ X │
│ @HANDLING@ │ │ │ │ X │ X │ X │ X │
│ @HBAMOUNT@ │ │ │ X │ X │ │ │ │
│ @HBRATE@ │ │ │ X │ X │ │ │ │
│ @HPHONE@ │ │ X │ │ │ X │ X │ X │
│ @INVOICE@ │ │ │ │ │ X │ │ │
│ @NEWEXPIRE@ │ │ │ │ X │ X │ X │ X │
│ @NEWLEVEL@ │ │ │ │ X │ X │ X │ X │
│ @OPTION@ │ │ │ │ X │ X │ X │ X │
│ @PRICE@ │ │ │ │ X │ X │ X │ X │
│ @STATE@ │ │ X │ │ │ X │ X │ X │
│ @SYSDATE@ │ X │ X │ X │ X │ X │ X │ X │
│ @SYSTIME@ │ X │ X │ X │ X │ X │ X │ X │
│ @TAX@ │ │ │ │ X │ X │ X │ X │
│ @TBAMOUNT@ │ │ │ X │ X │ │ │ │
│ @TBRATE@ │ │ │ X │ X │ │ │ │
│ @TDESC(n)@ │ │ │ X │ │ │ │ │
│ @TOTAL@ │ │ │ │ X │ X │ X │ X │
│ @TPRICE(n)@ │ │ │ X │ │ │ │ │
│ @USER@ │ X │ X │ X │ X │ X │ X │ X │
│ @ZIP@ │ │ X │ │ │ X │ X │ X │
└──────────────┴──────┴──────┴──────┴──────┴───────┴───────┴────────┘
In the other screens the specific @ macros will be ignored and
considered as text.
The PCBoard @macros may also be used in the displayed panels, but not
into the layouts.
-14-
9. Disclaimer and legal matters :
═════════════════════════════════
'The subscriber' software and documentation is subject to the
following license terms and conditions.
■ 'The subscriber'is supplied as is. The author disclaims all
warranties, expressed or implied, including, without limitation,
the warranties of merchantability and of fitness for any purpose.
The author assumes no liability for damages, direct or consequential,
which may result from the use of 'The Subscriber' software.
'The Subscriber' is distributed as a "shareware program" and is
provided at no charge to the user for evaluation for a period not
extending 30 days, after which You are required to register. Feel
free to share it with your friends, but please do not give it away
altered or as part of another system. The essence of "user-supported"
software is to provide personal computer users with quality software
without high prices, and yet to provide incentive for programmers to
continue to develop new products.
■ 'The Subscriber' distribution package, all programs, the documentation
and support files are copyrighted 1993 by SUN Serveur - Olivier Junod.
All rights are reserved. You may copy this package for backup purposes.
You may also copy and share unmodified copies of the whole distribution
package, providing that the copyright notice is reproduced and included
on all copies.
■ You may not sell the product for a fee and/or distribute the product
along with other products without written permission, nor may you
modify or remove the Copyright Notices from the programs or the
documentation files.
10. Acknowledgement :
═════════════════════
This document makes reference to a number of third-party products. All
copyrights, trademarks and reserved rights held in these products are
acknowledged.
-15-
11. Contact :
═════════════
The author may be contacted for support :
By Mail : SUN Serveur - Olivier Junod
Rue Le Corbusier 10
1208 GENEVA - SWITZERLAND
By Netmail : Olivier Junod
2:301/323@fidonet
On my BBS : SUN Serveur (PCBoard v15.0/10)
+4122-347.11.00 3 lines Zyxel
+4122-347.11.11 1 line HST Dual Std
On Salt Air : PCBoard support BBS
801-261-8976 (USRobotics HST Dual Std)
801-261-8979 (Hayes Ultras)
(Due to the cost for overseas communications
I will check the mail approximatively once a
week).