# CentiPaid System

(available in 1.4c and greater)

The CentiPaid System is a system that allows you as the admininstrator or selected users to charge senders for incoming email. For a good description of the system and how it works see http://www.centipaid.com/.

Centipaid.com has kindly created their own step by step SurgeMail configuration instructions, they can be found here: http://www.centipaid.com/en/support/surgemail.html

How does it work?

When your account recieves an incoming email, it is checked for a payment reciept, if there is no reciept then a message is bounced to the sender instructing them that payment is required to deliver their message. The bounce contains a link to click in order to pay.

They pay, and an email is sent from the CentiPaid server to SurgeMail informing it of the payment, SurgeMail then verifies the payment reciept via the CentiPaid authentication server and releases the original message to the account.

The contents of the bounce message are customisable, the default message is hard-coded. Users can define their own personal message, or you can define one in a file called centipaid.msg (or centipaid.eml) in the SurgeMail installation directory. It will use that unless the user has defined one.

Configuration

Global settings, g_centipaid, eg.

> g_centipaid "pay001.centipaid.com:2021"

The above setting instructs SurgeMail to use the address and port "pay001.centipaid.com:2021" for verification of payments. If the CentiPaid server is down then messages are assumed to be paid and are delivered without verification.

Domain settings, centipaid, user_centipaid, eg.

> centipaid match="*" acct="AEF001" pass="adonis" https="http://pay.centipaid.com/index.php" lang="en" amount="0.005" enabled="TRUE" friends="FALSE" smite="0"

The above setting tells SurgeMail that in this domain accounts matching 'match' may enable and use centipaid.

Field | Meaning
--- | ---
match | Wildcard, if this matches an account name then that account can have CentiPaid enabled.
acct | The merchant account number.
pass | The merchant / authentication server password.
https | The link to the page that accepts payment from the user.
lang | The language to display the above page in.
amount | The amount to charge per email.
enabled | If TRUE then CentiPaid is enabled for all matching accounts, otherwise the user may enabled it (depending on value of user_centipaid)
friends | If TRUE then senders marked as Friends will be charged, otherwise they will be allowed.
smite | SmiteCRC level, if an email receives more than this it is charged. A value of 0 charges all emails.

> user_centipaid "acct,pass,https,lang,amount,enabled,friends,smite"

This setting specifies the various CentiPaid configuration options already discussed that the user can customise for themselves. For example allowing users to customise acct and pass means they can themselves become a Merchant.