View Source

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[{zone-template-instance:ZFDEV:Zend Proposal Zone Template}

{zone-data:component-name}
Zend_Service_Payment
{zone-data}

{zone-data:proposer-list}
[~cyberlot]
[Darby Felton|mailto:darby@zend.com], Zend liaison
{zone-data}

{zone-data:revision}
1.1 - 1 August 2006: Updated from community comments.
{zone-data}

{zone-data:overview}
Zend_Service_Payment is a module to provide a standardized api for payment processing. Due to the large range of diffrences between processors this only suggests a base api, it does not attempt to abstract all of the settings and complicated nature of processors.
{zone-data}

{zone-data:references}
* [Basic Zend_Service_Authnet Class that the idea is based off|http://zend.cyberlot.net/authnet.phps]
{zone-data}

{zone-data:requirements}
Will provide a basic api layout for handling and processing of payments online

* This component *will* provide a basic api
* This component *will* provide a way to load various api's
* This component *will not* attempt to fully abstract all of the settings of the various processors
{zone-data}

{zone-data:dependencies}
* Zend_Exception
{zone-data}

{zone-data:operation}
Provide an easy to use basic api for handling payment processing
{zone-data}

{zone-data:milestones}
* Milestone 1: [design notes will be published here|http://framework.zend.com/wiki/x/sg]
* Milestone 2: Working prototype checked into the incubator supporting use cases #1, #2, ...
* Milestone 3: Working prototype checked into the incubator supporting use cases #3 and #4.
* Milestone 4: Unit tests exist, work, and are checked into SVN.
* Milestone 5: Initial documentation exists.

If a milestone is already done, begin the description with "\[DONE\]", like this:
* Milestone #: \[DONE\] Unit tests ...
{zone-data}

{zone-data:class-list}
* Zend_Service_Exception
* Zend_Service_Payment (factory class)
* Zend_Service_Payment_Authnet
{zone-data}

{zone-data:use-cases}

$authnet = new Zend_Service_Payment('authnet');
$authnet->setParam('x_login','login');
$authnet->setParam('x_tran_key','key');
$authnet->setParam('x_card_num','4111111111111111');
$authnet->setParam('x_amount','1');
$authnet->setParam('x_exp_date','11/11');
$authnet->setParam('x_po_num','test1');
$authnet->setParam('x_ship_to_country','test2');
$authnet->setParam('x_card_code','321');
$authnet->process();


{zone-data}

{zone-data:skeletons}
{code}
class Zend_Magic_Exception extends Zend_Exception {}

class Zend_Magic {
...
{code}
{zone-data}

{zone-template-instance}]]></ac:plain-text-body></ac:macro>