cl-creditcard
2015-01-13
Generic interace library for talking with credit card processors.
= CL-Creditcard =
CL-CreditCard is a common lisp library providing a common interface to charge creditcards.
== CL-Authorize-NET ==
CL-Authorize-net is a common lisp library for payment processing via Authorize.net. It implements the CL-Creditcard interface.
''CL-Authorize-net is production ready and is in use.''
=== Example ===
<pre>
(require :cl-authorize-net)
(defvar *auth-net* (make-instance 'cl-authorize-net:authorize-processor
:login "YOUR LOGIN"
:trankey "YOUR TRANKEY"
:test-mode :full))
(cl-authorize-net:sale *auth-data*
(make-instance 'cl-authorize-net:authorize-data
:account "4222222222222" :expdate "06/11"
:first-name "Test")
5)
</pre>
=== Objects ===
* authorize-processor
* authorize-data - holds information relevant to making credit-card charges
* echeck-data - holds information relevant to making ACH / echeck charges
=== Methods ===
All operations are based around a <code>authorize-processor</code> instance.
* (authorize processor data amount)
Do a pre-authorization without capture returning a
transaction identifier that can later be used with preauth-capture.
Not valid with echeck-data.
* (preauth-capture processor transaction-id &key amount)
Capture a charge that was previously authorized with authorize.
Some processors allow capturing a different amount than was originally authorized.
Not valid with echeck-data.
* (sale processor data amount)
Do a one time charge on a credit card for an amount using
the given processor. Other provided keys are up to the processor to interpret
or ignore.
Returns the transaction's unique identifier if successful.
* (void processor transaction-id)
Void a previous transaction.
== CL-Monetra ==
CL-Monetra is a common lisp library for payment processing via CL-Monetra. It implements the CL-Creditcard interface
''CAUTION: This processor was in development and then abandoned. See code in the monetra-dev branch if you want to use monetra''