@guzzilar guzzilar released this Nov 17, 2017 · 382 commits to master since this release

Assets 2

last updated: Nov 16, 2017

Highlights

• Support Alipay payment (PR #98)

Now you can accept Alipay payment at your Magento store!

Note: Alipay is only available for merchants with a Thai-registered Omise account.

Note: For users with a live account, please send an email to support@omise.co You’ll need to review Terms & Conditions before using this feature.

...

• Correct order state/status and payment flow behavior (PR #97)

This is really important change! We would recommend everybody to read the PR description (especially, at the section "3. Quality assurance").

In short, this PR is to refactor the way we assign the order states/statuses in each of payment flow.
For example: Internet Banking, instead of payment-review > approved. It will be changed to pending-payment > payment-review > approved.

...

• Introduce WebHooks feature (PR #93)

Note that There are some cases that we need to consider using WebHooks feature.

  • An order that has been placed at Magento store with payment_action=authorize only. Then later, merchant performs capture action at Omise dashboard instead.

    Without Webhook, Magento store will never knew that that charge transaction has been captured already at Omise dashboard. Means, we are going to need something like a callback feature to tell Magento store that that captured event is triggered. So Magento store can update an order status according to the result.

  • Some offsite payments don't resolve users' payment at a time they (user) complete their payment process. For example, Internet Banking, sometimes Bank cannot response the payment result back to Omise API at a time user 'submit' their payment.

    User will be redirected back to Magento store with charge.status = pending causing that an order status won't be changed to processing nor failed until merchant manual change it.

    Again, we are going to need something like a callback feature to tell Magento store that that charge transaction is resolved. So Magento store can update an order status either to make it as 'canceled' or 'completed'.

🚀 Enhancements

• Proper set Magento payment object's transaction id after create a new charge / capture an authorized charge (PR #96)

This PR's title might confuse you but basically this PR aims to create a reference between 'Magento' and 'Omise' in a form of "Transaction history".

So now you can check which charge id belongs to which order easily from the order transaction history tab (in order detail page).

...

• Refactoring payment processor classes (PR #92)

Say good bye to 'Strategy Pattern'.

As for coming of the new payment method, Alipay payment, and Webhook feature.
Now we can see some of common logics that will be used again and again in another new payment method. Means, if we just continue implement those features right away with the previous approach, it will just make code more huge and hard to maintain.

So, this PR aims to clean up unnecessary/unused code, refactoring and preparing structure for those new coming features.

...

• Clean code (to remove unused close, add PHPDocBlock, etc) (PR #91)

There were some unclear methods (undocumented), unused class, ambiguous class names.
This PR aims to vanishing those code :D

...

• Use 'order increment id' as a reference in charge description instead of 'id' (PR #90)

There are 2 reference id(s) in Magento system. The first one is order id, that will be used as a reference to lookup from DB. And another one is order increment id which normally will be used as a reference for merchant when check at the dashboard or order list page (searchable).

This PR now use order increment id to assign into the charge description instead of order id.

Tested on

  • Magento (CE) 1.9.3.6 on PHP 5.6.30.
  • Magento (CE) 1.9.2.4 on PHP 5.6.30.