wiki:ChangeLog/payment/0.3

payment 0.3 changelog

0.3 Changelog

Features and Enhancements

  • [101741] add more unit tests
  • [101740] add more unit tests
  • [101728] add validation check of $request_string when using DPS hosted
  • [101712] make DPSPayment::canComplete() more strict.
  • [101712] make !RecurringPayment::canPayNext() more strict.
  • [101708] add more Unit Tests for DPSPayment
  • [101677] UT added.
  • [101676] update DPSPayment->Amount->Currency for a Refunding payment could change the required Currency to its RefundedFor payment Currency.
  • [101642] move DB transaction manipulation form harness to DPSPayment and DPSRecurringPayment.
  • [101639] DB Transaction manipulation need to trigger from business logic level, add the db transaction manipulation in DPSHarness as code example. (SC #2)
  • [101639] error handling: exception are captured by try-catch block and the exception message can be saved into Payment ExceptionError field, this way Payment dataobject could refered back for its exception, but business process is hardly broken. (SC #16)
  • [101575] rename TestHarness to DPSHarness
  • [101558] re-orgnase the file structure, remove unnecessary file
  • [101557] re-orgnase the file structure, remove unnecessary file
  • [101408] add RecurringPayment and DPSRecurringPayment, make DPS payment method capable of recurring payment.
  • [101408] use Money as db field type to replace Amount and Currency, for multiple currency support.
  • [101408] add DPSHostedRedirectURL to DPSPayment and DPSRecurringPayment, so that after a dps hosted payment response has been handled, the user could be redirect to the place where the process has been triggered in the first place.
  • [101408] all transaction types have been captured: Auth, Complete, Purchase, Refund, Validate. Recurring payment is occurred as the combination of "Auth" or "Validate" with recurring Purchases.

API Changes

  • [101408] add TestHarness class as DPSPayment development tool, add DPSAdapter as DPSPayment API to DPS getway and dealing with return the right form for right Transaction type.
  • [101408] integrate DPSHostedPayment into DPSPayment, let DPSAdapter to deal with DPS-hosted or Merchant-hosted.

Bugfixes

  • [102169] RecurringPayment? StartingDate field is set to be "dd/mm/yyyy".
  • [102166] deal with the bug of trying to display complete form or refund form when there is no success auth payment or success purchase payment.
  • [101943] disable DB::TransationRollback() bit testing when not using PostgreSQL. BUGFIX: alway get next payment date from last payment date, rather than starting date + n months
  • [101874] remove unnecessary call of sendReceipt().
  • [101857] if DPSAdapter is not set $receipt_from, don't try to send receipt email
  • [101843] using !TxnData1 to pass thru the paymentID, cos TxnId need to be Unique across different sites if they using the same DPS account
  • [101741] DPSAdapter need to DB::getConn()->endTransaction(); before return url in Unit_Test_Mode in doDPSHostedPayment()
  • [101721] missing ";"
  • [101705] correct the populating of a next payment PaymentDate for recurring payment
  • [101704] we never rewrite the payment Amount from the Response, since for RecurringPayment, that response Amount is always 1 (because we send the request with amount of 1:00 AuthAmount)
  • [101702] when make a DPS Payment using PXPost, Amount is tagged as <Amount> rather than <AmountInput>
  • [101641] move payNext() from DPSRecurringPayment to RecurringPayment.
  • [101641] add payAsRecurring() in Payment though it is an indicator to show that subclass of current payment object need to implement its own payAsRecurring().
  • [101640] start db transaction after getting the recurring payment
  • [101640] move payNext() from DPSRecurringPayment to RecurringPayment.
  • [101640] add payAsRecurring() in Payment though it is an indicator to show that subclass of current payment object need to implement its own payAsRecurring().
  • [101564] remove required TestHarness.js which has been removed.
  • [101408] the account settings for both DPS hosted or merchant hosted are both handled by DPSAdapter.

0.2 Changelog

Features and Enhancements

  • [99549] tidied up the html output of dps fields to allow easier and more flexible styling
  • [85466] replaced curl-based request with native PHP-base HTTP request to paystation, after a libcurl issue was causing problems connecting to them.  http://curl.haxx.se/docs/sslcerts.html.
  • [85456] Added Paystation as a payment option using direct payment, rather than hosted. This is an initial version, not fully integrated against paystations live API yet.
  • [77215] Now order process is transactional

API Changes

  • [80061] Removed $subtotal argument to Payment::combined_form_fields() that is no longer used
  • [75272] Removed Payment::findPaymentMethod() - Use PaymentMethod() instead
  • [74581] Moved Eway.js from ecommerce to payment module
  • [74578] Moved Eway payments to payments module

Bugfixes

  • [91301] PayPalPayment? broken due to its AuthorizationCode is not populated from the first place - the code has been missing during version merging
  • [80063] If CheckoutPage class doesn't exist in ChequePayment, don't give a fatal error because CheckoutPage is specific to the ecommerce module
  • [77314] fixed dps with 4 figure numbers
  • [76950] fixed DPS payment so that amount is always passed as double
  • [74680] If javascript is disabled, PayPalForm() is still usable, because the input for submitting will be available always
  • [74679] Fixed undefined index error if the array key doesn't exist on the XML response from DPS
  • [74678] Convert the value for the value attribute in a paypal form using Convert::raw2att() instead of Convert::raw2xml()
  • [74677] Fixed location of paystation images
  • [74676] Fixed location of paypal image
  • [74673] Fixed location of DPS image
  • [74616] Fixed references to images
  • [74605] Added re-write rules from ecommerce module that wasn't moved across
  • [74582] Fixed references to payment instead of ecommerce
  • [74576] Updated references to images and javascript
  • [74575] Fixed references from "ecommerce" to "payment"
  • [74575] Include jQuery properly, using the jQuery from the jsparty directory instead of a broken reference to ecommerce