Forum OpenACS Q&A: Re: Payment Service Contract

Collapse
Posted by Brad Duell on
Richard,

Most of your findings seem to be correct.  I think by following one of the existing gateways that Bart or Janine developed you'll be able to do exactly what you're proposing.

I don't know much about the C extensions in AOLServer 4 that Andrew mentioned, in fact we haven't been developing on v.4 for very long, but extensions sound promising.

Finally, the module that I wrote for Verisign's SDK and ACS was based upon the Cybercash module that Jin S. Choi of Arsdigita originally developed, re-worked by Janine for her gateway, and re-worked again by me upon implementing the gateway on our production site.  See http://www.ncacasi.org/contrib/ and the diff at https://openacs.org/bugtracker/openacs/patch?patch_number=90

Good luck with the new gateway!  Feel free to drop me a line with any questions if you decide to implement a module instead of using the extensions that Andrew talked about.

Collapse
Posted by Bart Teeuwisse on
Richard,

I would recommend expanding the current payment service contract so that it can handle mutiple currencies as that should be a super set of the current single currency design.

Please note that -at the moment- the payment service contract is currency agnostic. It is not aware what currency is being used. If Authorize.net had a UK branch operating in Pound Sterling you could use the Authorize.net Gateway. However, it is not possible to accept Pound Sterling when communicating with an US based credit card processor through the payment service contract.

So by all means, expand the service contract specification so that it handles multiple currencies. Without giving it much thought, this could be as easy as including the currency in the various financial operations. I will then adapt the Authorize.net Gateway to be compliant with the new definition.

Good luck.

/Bart

Collapse
Posted by Richard Hamilton on
Brad,

I do plan to implement it as a module, so I am sure that I will need to take you up on your offer of answering some questions as I progress.

Bart,

I will look through the two c libraries (SecPay and CyberSource) and will propose some additions to the payment gateway service contract. Perhaps then, once that has survived scrutiny I can set about writing an implementation.

Am I better to use the Authorize.net Gateway as a guide or stick to the Payflow one?

Richard
Collapse
Posted by Bart Teeuwisse on
Richard,

use both modules as a guide. Authorize.net Gateway is better documented where as Payflow uses a C library to connect to the credit card processor. The modules implement the same service contract and thus have much in common.

/Bart