git clone ssh://git.iko.soy/typeable/connexpay
#+TITLE: Connexpay API client for Haskell
#+AUTHOR: Nick <nick@typeable.io>
* What
ConnexPay is a credit card payment processing provider.
* How to use this library
Here is a short example:
#+begin_src
let logf msg = Text.putStrLn ("Connexpay log: " <> msg)
cc = CreditCard ...
amount = Money @USD 5.00
vendor = Just "Best vendor out there"
httpmgr <- tlsManager
pay <- initConnexpay logf httpmgr deviceGuid cpHost True login password
runConnexpay pay $ do
sale <- authorisePayment cc amount vendor
capturePayment sale.paymentGuid
#+end_src
For more information, see Haddock docs.
NOTE:
'PaymentError' type isn't used yet, but it will after more testing.
Connexpay test environment doesn't seem to report errors adequately.
* The tool
This repo provides a command line tool to quickly test the API. You can run it with ~stack run~.
Examples:
- ~stack run -- -c ./config.yaml auth CARDNUMBER "NAME" MMYY CVV SUM~
- ~stack run -- -c ./config.yaml capture SALEGUID~
- ~stack run -- -c ./config.yaml void-auth AUTHONLYGUID~
- ~stack run -- -c ./config.yaml void-sale SALEGUID~
- ~stack run -- -c ./config.yaml void-sale SALEGUID SUM~
- ~stack run -- -c ./config.yaml cancel SALEGUID~
- ~stack run -- -c ./config.yaml return SALEGUID~
- ~stack run -- -c ./config.yaml return SALEGUID SUM~
Configuration file must include the values provided to you by Connexpay:
#+begin_src
login: <login>
password: <password>
device_guid: <device guid>
host: <hostname>
use_tls: true # Whether or not to use TLS connection
proxy_host: 127.0.0.1 # Optional, if you want to proxy your requests for debugging purposes
proxy_port: 8080
#+end_src
* Links
Credit card sales API: https://docs.connexpay.com/reference/credit-card-sales