Outdated egg!
This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for the CHICKEN 5 version of this egg, if it exists.
If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.
Striped Zebra
TOC »
Description
An API for processing payments via Stripe.
Author
Contact me at t@thintz.com.
Requirements
Notes
All procedures return a json object with fields set per the Stripe documentation.
List of user configurable parameters
api-endpoint
- api-endpoint #!optional stringparameter
URL under which the api resides. Defaults to "https://api.stripe.com/". You shouldn't need to change this.
api-version
- api-version #!optional stringparameter
URL to the api version of Stripe that you want to use. Defaults to "/v1/".
default-username
- default-username #!optional stringparameter
This is your Stripe private api key. Defaults to "".
High-level procedures
charge
- (charge amount #!key (card-token #f) (customer #f) (username (default-username)) (description ""))procedure
Charge a users card. As per Stripe's api, either card-token or customer are required. For more details see the Stripe charge documentation.
add-customer
- (add-customer card-token #!key (description #f) (email #f) (plan "") (username (default-username)) (description ""))procedure
Add a customer to Stripe for further use. card-token is a token returned by Stripe's javascript api and is the card that will be associated with the customer's account. For more details see the Stripe customer documentation.
Low-level procedures
send-stripe-request
- (send-stripe-request #!key (method 'GET) endpoint (body #f) (username (default-username))procedure
Send a custom request to Stripe. All of the high-level procedures use this.
Example (this is the body of charge):
(send-stripe-request method: 'POST endpoint: "charges" username: username body: `((amount . ,amount) (description . ,description) (currency . "usd") (card . ,card-token) (customer . ,customer))))
License
Copyright (c) 2012-2013, Thomas Hintz All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of the <organization> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THOMAS HINTZ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.