There is no documentation currently for acs-service-contract. But, let me give it a try:
- A contract is comprised of abstract operations (e.g. search is an abstract operation of the FtsEngineDriver contract).
- An implementation of a contract maps/alias the abstract operations to concrete functions (e.g. openfts_driver__search is the alias for the search operation of FtsEngineDriver)
- You have to contact Gilbert Wong and together decide on a good set of abstract operations for credit card handling. These abstract operations comprise your credit-card-gateway contract (interface) and in order to separate credit-card handling from the rest of the ecommerce package, the ecommerce package should support this contract. I don't know to what extend Gilbert will be available to help with this one but I assume he will be more interested after the first OpenACS release.
- You have to foresee all possible implementations (e.g. verisign, authorize.net, e-clear, etc) while deciding the abstract operations.
Bart, if you volunteer to help, I can provide information on how to specify the object-display contract (for community-member.tcl). This will be good practice before you undertake the task of specifying a credit-card-gateway contract.