<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
Chargify.com is a subscription billing system that allows web application developers to charge customer credit cards on a recurring basis.Zend Framework: Zend_Service_Chargify Component Proposal
Proposed Component Name
Zend_Service_Chargify
Developer Notes
http://framework.zend.com/wiki/display/ZFDEV/Zend_Service_Chargify
Proposers
Dan Bowen
Zend Liaison
TBD
Revision
1.0 - 30 December 2010: Initial Draft. (wiki revision: 2)
Table of Contents
1. Overview
The Zend_Service_Chargify component makes it easy for developers to interact with the Chargify.com REST API for seamless integration into their website or application (as opposed to using hosted payment pages).2. References
3. Component Requirements, Constraints, and Acceptance Criteria
The component will wrap the entire Chargify REST API.
The component will provide responses as Arrays.
The component will allow for both JSON and XML requests and responses.
The component will respond appropriately to HTTP response codes returned by the Chargify API
4. Dependencies on Other Framework Components
- Zend_Service_Abstract
- Zend_Http_Client
- Zend_Http_Response
- Zend_Json
5. Theory of Operation
The Application Developer has an account with Chargify.com
The Application Developer instantiates Zend_Service_Chargify with their API key & password (and possibly other options)
The Application Developer uses API functionality to create customers, create subscriptions and view transaction history (and more)
6. Milestones / Tasks
- Milestone 1: [DONE] Supporting Documentation, Use Cases, Class Skeletons, uploaded.
- Milestone 2: Check in working Code to support the basic Zend_Service_Chargify instantiation
- Milestone 3: Check in working code to support Products functionality
- Milestone 4: Check in working code to support Coupons functionality
- Milestone 5: Check in working code to support Customers functionality
- Milestone 6: Check in working code to support Subscriptions functionality
- Milestone 7: Check in working code to support Transactions functionality
- Milestone 8: Check in working code to support Migrations functionality
- Milestone 9: Check in working code to support Charges functionality
- Milestone 10: Check in working code to support Adjustments functionality
- Milestone 11: Check in working code to support Metered Usage functionality
- Milestone 12: Check in working code to support Quantity Component Allocations functionality
- Milestone 13: Check in working code to support Refunds functionality
- Milestone 14: Check in working code to support Credits functionality
- Milestone 15: PHPUnit Test exist.
- Milestone 16. Redesign and update code based off community feedback.
7. Class Index
- Zend_Service_Chargify
- Zend_Service_Chargify_Abstract
- Zend_Service_Chargify_Product
- Zend_Service_Chargify_Coupon
- Zend_Service_Chargify_Customer
- Zend_Service_Chargify_Subscription
- Zend_Service_Chargify_Transaction
- Zend_Service_Chargify_Migration
- Zend_Service_Chargify_Charge
- Zend_Service_Chargify_Adjustement
- Zend_Service_Chargify_MeteredUsage
- Zend_Service_Chargify_QuantityComponent
- Zend_Service_Chargify_Refund
- Zend_Service_Chargify_Credit
8. Use Cases
| UC-01 |
|---|
Create new customer and subscription at the same time
| UC-02 |
|---|
Cancel a subscription
| UC-03 |
|---|
List transactions for a specific subscription. charges, refunds and payments only