coreybutler / cfamazon

ColdFusion Amazon Integration
17 stars 7 forks source link

About CFAmazon

CFAmazon is a collection of ColdFusion code wrappers and examples designed to get you started with different Amazon web services. It was originally created by Corey Butler to simplify working with the Amazon Payments API and Merchant Web Services.

Checkout By Amazon (CBA)

This library contains component wrappers for Checkout By Amazon. It can be used for:

  1. Signing XML Carts:
  2. Checkout By Amazon uses XML-based carts, which must be signed and transmitted securely. The cart.cfc object provides simple CF methods for creating a cart, modifying its contents, generating the XML, and signing the cart.
  3. Instant Payment Notification:
  4. Examples for using IPN are included. IPN is used to notify you of new orders, cancellations, and other events you may want to respond to. This is commonly used for logging orders in your own system, integrating with other systems, or providing any additional custom functionality to the order process.
  5. Using the Callback API:
  6. The Order Callback API is used to dynamically calculate taxes, shipping methods/rates, and apply custom promotional discounts.

Marketplace Web Services

This library contains component wrappers for the MWS services from Amazon. This is a prerelease version supporting feed submissions, reports, and scheduling. To install, simply drop the com folder in your webroot. Make sure you modify the examples to use your own merchant ID, marketplace, access key, security key, etc. For convenience, modify mws-config.cfm (found in the mws examples) and all of the examples should work. For feed submissions, make sure you are using valid XML according to the XSD specifications provided by Amazon.
This part of the library is in active development. Due to the size, we are requesting feedback to know how people are using it before finalizing this part of the library.

Reading the code


The source code and all of the examples are dependent on your configuration. I use a build file that does a simple find/replace across all files. The following legend is provided for clarification: @ID: ACCESSKEY
@SECRET: SECRETKEY
@MERCHANT: Merchant ID (ex: AEIOU1234AEIOU)
@MERCHANTTOKEN: Merchant TOKEN
@EMAILTO:IPN Notification receipient email address (demo purposes only)
@EMAILFROM:IPN Notification sender email address (demo purposes only)
@CALLBACKURL:The URL used in he Callback API Please see the wiki for more information.