pear:packages:payment_process2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
pear:packages:payment_process2 [2009/02/27 05:10] clockwerxpear:packages:payment_process2 [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 76: Line 76:
 } }
 </code> </code>
 +
 +
  
 ===== Roadmap ===== ===== Roadmap =====
Line 82: Line 84:
   * <del>Swap to PHP5, HTTP_Request2</del>   * <del>Swap to PHP5, HTTP_Request2</del>
   * <del>Swap to Interfaces as needed</del>   * <del>Swap to Interfaces as needed</del>
 +  * <del>Dropping Paycom/Epoch driver</del> Dropped
 +    * Support people won't give access to test environment
 +    * doconnor has mailed other open source projects which provide paycom drivers to see if he can get test data
 +  * <del>Swap to Exceptions as needed</del> Done.
 +
 +
 +
 +==== 0.2.0 ====
 +  * Add a new driver for an Australian Bank (Payment_Process2_ANZ) ((needs clearing))
 +  * <del>Add a new driver for Paygea (Payment_Process2_Paygea)</del> Licences
 +  * Fix protected / public properties - dbezborodow
   * Unit test coverage (mocked out) for all drivers   * Unit test coverage (mocked out) for all drivers
     * Running into problems here with many providers     * Running into problems here with many providers
-      * TrustCommerce - inprogress+      * TrustCommerce - simple coverage done.
       * Paypal - TBA       * Paypal - TBA
-      * Transfirst - TBA+      * Transfirst - asking original author
       * Linkpoint - TBA       * Linkpoint - TBA
       * Bibit - TBA       * Bibit - TBA
       * AuthorizeNet - TBA       * AuthorizeNet - TBA
     * <del>Lots of errors and E_NOTICEs from existing drivers</del>     * <del>Lots of errors and E_NOTICEs from existing drivers</del>
-    * Lots of failures in test coverage+    * <del>Lots of</del> Some failures in test coverage
     * Test coverage is not extensive!     * Test coverage is not extensive!
     * Need to improve the test case loaders and what have you     * Need to improve the test case loaders and what have you
-  * <del>Dropping Paycom/Epoch driver</del> Dropped +    * <del>Swap to class constants.</del> 
-    * Support people won't give access to test environment +=== API changes === 
-    * doconnor has mailed other open source projects which provide paycom drivers to see if he can get test data +Anything which used 
-  <del>Swap to Exceptions as needed</delDone.+<code php> 
 +PAYMENT_PROCESS_SOMETHING_CONSTANT 
 +</code> 
 +will be  
 +<code php> 
 +Payment_Process2::SOMETHING_CONSTANT 
 +</code>
  
 +Also; setPayment() is now a lot more angry about things.
  
- +Finally; Payment_Process2_Type::isValid() doesn't exist anymore.
-==== 0.2.0 ==== +
-  * Add a new driver for an Australian Bank (Payment_Process2_ANZ((needs clearing)) +
-  * <del>Add a new driver for Paygea (Payment_Process2_Paygea)</del> Licences+
  
 ==== 0.3.0 ==== ==== 0.3.0 ====
 +  * <del>Add ANZ driver</del>
 +  * Fix typeMapping concept
 +  * Fix cvvCode concept in results
 +  * Use reflection where appropriate
 +<code php>
 +<?php
 +
 +$process = Payment_Process2::factory('ANZ');
 +$process->setLogin('Damo');
 +$process->setPassword('secret');
 +
 +$cc = Payment_Process2_Type::factory('CreditCard');
 +$cc->setType(Payment_Process2_Type_CreditCard::MASTERCARD);
 +$cc->setCardNumber('5123456789012346');
 +$cc->setExpDate('05/2011');
 +$cc->setCvv('123');
 +
 +$action = Payment_Process2_Action::factory($process, 'Normal');
 +$action->setPayment($cc);
 +$action->setOrderInfo('123432');
 +$action->setTransactionReference('123432/1');
 +
 +$result = $process->process($action);
 +
 +/*
 +
 +Responsibilities:
 +
 +  Processor:
 +    Knows the endpoint, prepares the request from data.
 +    Knows credentials.
 +    Has a translator for the action types.
 +    Has a translator for the base fields such as credentials.
 +    Has a process() method that:
 +      Passes response data into a Result and call the parser method.
 +      Returns the Result.
 +
 +  Action:
 +    Has a translator for the data
 +    Prepares data.
 +
 +  Translator:
 +    Very generic. Is never extended so that we don't litter
 +      the class tree; instead, we set up the translator in
 +      constructor methods.
 +
 +  Result:
 +    Has a parser that transforms the response into data that is given to it
 +      by the processor.
 +    Has a translator for the result data.
  
 +*/
 +</code>
  
          
pear/packages/payment_process2.1235711424.txt.gz · Last modified: 2017/09/22 13:28 (external edit)