Coder Social home page Coder Social logo

payex / payex.magento Goto Github PK

View Code? Open in Web Editor NEW
4.0 9.0 12.0 1.9 MB

Legacy PayEx Payment Gateway Extension for Magento 1

Home Page: https://packagist.org/packages/payex/payments

License: Open Software License 3.0

PHP 83.48% HTML 15.46% CSS 0.14% JavaScript 0.92%
payment-gateway payex php magento ecommerce legacy pops soap

payex.magento's People

Contributors

aait avatar asbjornu avatar olegisk avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

payex.magento's Issues

Payment fee: tax is not calculated properly

The "tax" order-total does not include the tax from payment-fee.

I can not verify if it is sent to Payex correctly due to #21.
Update: I can now verify that it is sent correctly to payex for PayEx Invoice Payments (Ledger Service). But still incorrect in Magento

See screens:

skarmbild fran 2016-04-12 15 18 17

skarmbild fran 2016-04-12 15 20 56

skarmbild fran 2016-04-12 15 19 30

PayEx_Payments_Model_Feed

It looks like PayEx extension is breaking the adminhtml feed module.
PayEx extends Mage_AdminNotification_Model_Feed in app/code/community/PayEx/Payments/Model/Feed.php which causes:

2017-12-24T09:12:25+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Start tag expected, '<' not found in app/code/core/Mage/AdminNotification/Model/Feed.php on line 173
2017-12-24T09:12:25+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): {"success":false,"message":"Error: This version of Application don't exists"} in app/code/core/Mage/AdminNotification/Model/Feed.php on line 173
2017-12-24T09:12:25+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in app/code/core/Mage/AdminNotification/Model/Feed.php on line 173

Turning off Payex extension fixes the problem.

Clean up info that is presented to end user

When viewing an order in customers account, often there is way more info about the payment than the customer needs, or understands for that matter.

See example below from "Payex Invoice", that could be cleaned up to be only "Payex Invoice, transaction number 9506753"

skarmbild fran 2016-04-13 07 58 44

messages after update to 3.1.9

Hi,
After the last update to 3.1.9 I'm receiving these messages in system.log:

`ERR (3): Notice: Undefined index: amount in app/code/community/PayEx/Payments/Model/Payment/Financing.php on line 215

CRIT (2): Not valid template file:adminhtml/base/default/template/payex/swish/pdf/info.phtml class: PayEx_Payments_Block_Info_Swish

CRIT (2): Not valid template file:adminhtml/base/default/template/payex/financing/pdf/info.phtml class: PayEx_Payments_Block_Info_Financing
`

Get Address: Country & Zip-fields

It is not clear that the fields "Country" & "Postal code" is related to the get address feature.

Scenario: I am a new customer, that intends on using Credit Card as payment.

What I see when going to checkout:
skarmbild fran 2016-04-13 15 00 33

My thoughts as a customer:

  • SSN is mandatory? What the f? I don't want to hand out my ssn to just anyone!
  • Wait, I have to enter country, and zip-code twice? What? Why?

Solution:

In a previous pull-request I had open, (before the module-merge), There was a feature that hid the country and zip-fields, UNTIL the customer started to fill out the ssn. And the red * on SSN was removed.
That signals that fetching the address is optional, but if you want to fetch the address, you have to fill in postcode and country.

Another improvement:

There should be a few different things to evaluate if the country-box really HAVE to be shown.
Examples can be:

  1. Does this store have more than one country enabled?
  2. Can the ssn hint to which country it is? Norway and Sweden have different formats for instance.
  3. Fallback: show the country field.

Order rows is not sent to Payex

When using one of "PayEx Financing Invoice" & "PayEx Financing Credit Account" the order rows is not sent to payex. At least they are not visible in Payex admin. This applies to both the authorization & capture transactions.

This however works for "PayEx Invoice Payments (Ledger Service)". My guess is that the method getInvoiceExtraPrintBlocksXML is not working properly.

See screenshot from Payex, there should be a link under "Additional Transaction Details", but that section is empty.

skarmbild fran 2016-04-12 16 16 27

Missing class: order-invoice-total for PartPayment

There is a reference to an order-invoice-total in PartPayment, but the file is missing.
Because of this, just having this module installed in a store breaks ALL orders (not just PartPayment-orders). That's because all totals is loaded and processed, for all orders.

https://github.com/PayEx/Magento-modules/blob/master/PartPayment/app/code/community/AAIT/PartPayment/etc/config.xml#L75

See error report in zip-file below. This specific order used Payex2 payment method.
report.txt.zip

Bank Debit: Auto created invoice is incorrect

When using Payex Bank Debit there is an invoice created & captured automatically in Magento, which is expected due to the nature of Bank Debit. However, the items in the order is not registered as invoiced, even though there is an invoice.

This can be seen in the screen below, where it says Ordered 1, there should also be a row right below saying Invoiced 1.

This is an issue for two reasons, the Invoice-button is still there, making it possible to create duplicate invoices. And later when the items is shipped the order is still in Processing state, until all items is invoiced & shipped, so it is impossible to get the order over to a Complete state.

skarmbild fran 2016-04-13 09 39 09

AAIT phone-home-page is broken

The module calls payex.aait.se to check the latest version available.
Along with the request is some private (and not anonymous) data.

The response looks like this:

Warning: var_export does not handle circular references in /var/www/clients/client18/web38/web/module/Application/src/Application/Controller/MetaController.php on line 227

... cut a few hundred lines ...

Warning: var_export does not handle circular references in /var/www/clients/client18/web38/web/module/Application/src/Application/Controller/MetaController.php on line 227

Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 314953426 bytes) in /var/www/clients/client18/web38/web/module/Application/src/Application/Controller/MetaController.php on line 227

An example can be found at this link

VAT is "forgotten" when amount is transfered to Payex payment page

I recently upgraded to the most recent build, all files. Previous version was only a few months old. It resulted in the payments being incorrectly sent to Payex, missing VAT.

I reverted back to backup files and it works fine again. Se below.

Amount to charge is 1098. But when Payex gets the transaction it is 878,4 (transaction fails in the end)
image

Amount charged
image

Payment fee: Can't refund

Payment fee is not included when creating credit memo's, so it can't be refunded.

It should work the same as the shipping in the screen below, i.e. have it's own field pre filled.
skarmbild fran 2016-04-13 08 32 41

Issues in payment window for credit card

I am aware that this is not related to the Magento module itself, but I can't find any "general" issue tracker. Feel free to move this to a more appropriate place.

When using Payex Payment Window with Credit Card-view, there is two issues, both visible in the screens below.

  1. There is no Back or Cancel-button. So if I change my mind and don't want to pay with credit card, I look for the back-button, can't find it, then hit the browsers back button. I then end up in magento, With an empty cart (so it is somewhat magento-related after all)
  2. In desktop view there is an overview of the orders content (order rows) that can be opened or closed with the arrow on the right. However, in small view, the overview disappear, but the arrow is still there and still changes when clicked.

skarmbild fran 2016-04-13 13 44 57

skarmbild fran 2016-04-13 13 45 23

Credit Card Autopay: Can't capture

Can't capture invoice for orders with Credit Card Autopay method. I am getting error message Can't capture captured order.

Transaction Type is set to Authorize, and the transaction in payex is in status Authorized

I get this in payment_payex.log:

2016-04-13T06:58:53+00:00 DEBUG (7): Action: Capture
2016-04-13T06:58:53+00:00 DEBUG (7): Action: fetchTransactionInfo. ID 9506995
2016-04-13T06:58:53+00:00 DEBUG (7): PayEx: PxOrder.GetTransactionDetails2 OK (OK)

Steps to reproduce:

  • Place an order
  • In admin, click the Invoice-button
  • Click Submit Invoice, with Capture Online selected
  • An error will appear on page.

Document implemented functionality

The README file should list what payment methods and other functionality this module has and this list should be updated every time new functionality is added.

Outdated Finnish Bank names

Magento version 1.14.3.0 (EE)
PX module version 3.1.3

The finnish bank names for direct debit payments are somewhat outdated. These are the correct names:

Aktia
Danske Bank (previously SAMPO)
Handelsbanken
Nordea
OP
POP Pankki
S-Pankki
Säästöpankki
Ålandsbanken

Incorrect module version

Please increase module version accordingly to Semantic Versioning (http://semver.org/).
Otherwise composer projects defining dependency on "payex/payex" and using only "stable" tagged modules are not aware of changes done during few last days.

Error messages in frontend

None (or few) of the error messages in checkout is customer friendly, examples:

  • Using ssn 7302109074 (unapproved credit) at checkout gives message:
    • PayEx error: ValidationError_Generic (Purchase3rdParty)
  • Using ssn 580604-5265 (old unapproved ssn):
    • in "fetch address" shows error:
      • ValidationError_Generic(Object reference not set to an instance of an object.)
    • in checkout shows error:
      • PayEx: PxOrder.GetAddressByPaymentMethod ValidationError_Generic (Object reference not set to an instance of an object.)
  • failed Bankdebit
    • Order automatically canceled. Transaction is failed. The operation was cancelled by the client

If a customer sees any of these messages they are not going to have any idea what went wrong, and no chance of correcting the mistake

Add tests

We should have some automatic tests that can be executed to verify that the code is in working order. Travis can execute PHPUnit tests, so we should look into adding some of those.

Not possible to create order

Hi,
when switching to live from testing with all the correct credentials it's not possible to create order with invoice or with part payment.
The error i get is validation error. I have filled in my SSN and fetched my address, that is all working fine but when I try to complete the order i receive a error message that there's some kind of validation error.
Card payments are working 100% fine.

here is the logs:
2017-12-01T10:17:20+00:00 DEBUG (7): Action: Validate 2017-12-01T10:17:21+00:00 DEBUG (7): PxOrder.GetAddressByPaymentMethod:Process online request: Method [GetAddressByPaymentMethod] ProcessId [2130766] Status[received] 2017-12-01T10:17:21+00:00 DEBUG (7): PayEx: PxOrder.GetAddressByPaymentMethod ValidationError_InvalidParameter (Process online request: Method [GetAddressByPaymentMethod] ProcessId [2130766] Status[received]) 2017-12-01T10:17:37+00:00 DEBUG (7): Action: Validate 2017-12-01T10:17:45+00:00 DEBUG (7): Action: Validate 2017-12-01T10:17:45+00:00 DEBUG (7): Action: Validate 2017-12-01T10:17:46+00:00 DEBUG (7): Action: Validate 2017-12-01T10:17:46+00:00 DEBUG (7): Action: Order 2017-12-01T10:17:46+00:00 DEBUG (7): Action: getOrderPlaceRedirectUrl 2017-12-01T10:17:46+00:00 DEBUG (7): Controller: redirect 2017-12-01T10:17:46+00:00 DEBUG (7): PxOrder.Initialize8:OK 2017-12-01T10:17:46+00:00 DEBUG (7): PayEx: PxOrder.AddSingleOrderLine2 OK (OK) 2017-12-01T10:17:47+00:00 DEBUG (7): PayEx: PxOrder.AddSingleOrderLine2 OK (OK) 2017-12-01T10:17:47+00:00 DEBUG (7): PayEx: PxOrder.AddOrderAddress2 OK (OK)

This is very frustrating because we've had this error since day 1 (about 2 months now) and we still can't use invoice or part payments

TAX infos are displayed incorrectly in transaction in PayEx Merchant dashboard

Almost things have been worked well so far but there are some problems with transactions with tax. Specifically, I’m using payment method “PayEx Payment”, its configs like this http://prntscr.com/hfteud . And in the PayEx checkout page, tax info is fully displaying as in here http://prntscr.com/hftfk5 . But the issue as after finishing the checkout flow, I checked its transaction in PayEx Merchant and all tax infos are blank as in here http://prntscr.com/hfth53 . I tried to look for into the PayEx extension source code and a fix value as “0” was in that likes this http://prntscr.com/hftk2e .

Also, in Magento system, I’m using the latest version of PayEx extension which got from here https://github.com/PayEx/PayEx.Magento .

So, how can I solve it? Could you please help me?

Thanks in advance!

form key

if magento option "Enable Form Key Validation On Checkout" is set to YES and PayEx option "Enable SSN Field for address filling" is set to YES then in checkout at Billing Address it is not possible to go further by clicking on the "Next" button. Nothing happens. If Form Key is disabled then it's working. Can you please check?

Get address: Logged in customer

Scenario: I am a logged in customer that has placed an order before using payex, and have the adress saved in my address-book.

When I go to the checkout I see this:

skarmbild fran 2016-04-13 14 37 28

This is what I'd expect to see:

skarmbild fran 2016-04-13 14 38 09

Flow:

Now there is a javascript /js/payex/social_security_number.js that sets the select-box to "New Address" when the page loads so the address-fields is available for the Get adress feature. That should not happen, it should be the other way around; So if I choose "New Address", the address-fields should show up, and the SSN-field to get the address.

Payment Fee: Displays both incl. and excl. tax

The payment-fee prints two rows in order totals. One with tax, and one without tax.
This happens everywhere except the checkout, for example:

  • order view in admin
  • order confirmation email
  • order view in customer account

This should use the same display-setting as shipping (for example), or a specific setting should be added for this. So we can select including, excluding or "both".

See screens below:
skarmbild fran 2016-04-12 15 20 19

skarmbild fran 2016-04-12 15 27 10

New addreses for SOAP test

Credit Card Autopay: Agreement message

When a customer have used Payex Credit Card Autopay once, and wants to use it again, the message shown in checkout (in Swedish) is a little strange, see screen:

skarmbild fran 2016-04-13 11 03 33

Note: I have not checked this in English, and have not checked the message shown the first time, when customer has not used Autopay before. That should also be checked.

Also, the link to the agreement is set in admin configuration, defaulting to just "example.com". But isn't this agreement between the customer and Payex? So shouldn't that link point to a page hosted by payex? Or maybe a CMS-page should be created with the suggested agreement text? Or have a link in admin that points to the suggested text in each language so the merchant can create the cms-pages necessary.

PayEx Credit Card One-click Payments not visible

Hello,

PayEx Credit Card One-click Payments doesn't appear to shop, while all configuration fields are set in Magento. Also i have setup recurring profile to one of the products to test if it shows but no.

Does PayEx Credit Card onelick even support recurring profiles?

Creditcard oneclick works with normal products if not recurring profile set.

Credit Card Autopay: Default feature for "Billing Agreements"

I am a fan of using built-in features where ever possible. And since Magento has a built in feature for Billing Agreements, my question is, is there any reason to not use that here, instead of the custom table "payexautopay_agreement"?

From a quick review, "Billing Agreements" has the exact corresponding fields available as the custom table. The upside of using the built in feature is that the agreements can be viewed and revoked in admin, and the customer can also see it in their account when logged in.

This is just a suggestion, I have not used this feature myself before, but I guess is that it can help to further improve the usability of the module.

Example how it looks in frontend:

skarmbild fran 2016-04-13 11 35 37

Example how it looks in admin:

skarmbild fran 2016-04-13 11 36 17

PayEx Financing Invoice Capture failure - character encoding åäö

Capturing PayEx Financing Invoices fails due to orderlines product with ä (I assume it should be the same case for å and ö).

The product is set with ä but in the financing orderlines it's coded to & auml ; and is the reason Capture is rejected, the orderlines is approved when manually changing the orderlines to ä instead of & auml ;

Tested with plugin version 3.1.9

GetAddressByPaymentMethod error message

When a customer type in the wrong SSN or the SSN doesn't exist the error message that is shown looks like a technical failure.

error message

That might discourage the customer from buying since he thinks it's wrong on the website, instead it should show a error message like, "SSN does not exist, please check that your SSN is correct".

Enable Credit Check

Option to disable/enable credit check should be added in addition to the "Enable unapproved credit check" function, same functionality that was added to the WooCommerce plugin.

Add license

This repository doesn't have a LICENSE file. It should have one added, probably for the OSL License that Magento uses.

Incorrect charging when cart is discounted using another VAT%

Plugin disregards VAT settings on discount when calculating the correct amount to charge.
This leads to wrong amount being billed.

This is not visible in magento BE or for customer in customer pages though = Owner of site needs to verify every discounted payment in PayEx admin pages to make sure payment is correct. Then correct it with the customer...

Example in attached files. Customer believes he/she should pay 1500 in this case. Screens:

  • Discount is setup to count from price including VAT
  • Discount rule is applied as it should. and works in Magento showing 1500 to pay/been paid.
  • Payex charges 1050SEK

discount setup

magento be

payex payment

Set User-Agent header

It would perhaps be wise to wait for PayEx/payex-sdk-php#1 and then implement its support for setting $userAgent on all HTTP requests against PayEx' API. Either way, the User-Agent header should be set to something like PayEx.Magento/1.2.3 so we can identify this module uniquely from others.

Tax on discounts not sent correctly to PayEx

In Magento, discount with tax included is calculated correctly, but sends discount with tax excluded to PayEx.
7500 discount including tax in Magento ends up as 7500 + 450 tax (6 %) to PayEx. See attached picture.

taxaait

Class "factoring/invoice_total" is missing

In "factoring" module:

            <order_invoice>
                <totals>
                    <factoring>
                        <class>factoring/invoice_total</class>
                    </factoring>
                </totals>
            </order_invoice>

Points to AAIT_Factoring_Model_Invoice_Total, that does not exist.

Missing Block: payex/invoice_totals_fee

Referenced in:

  • app/design/adminhtml/default/default/layout/payex/payment_fee.xml
  • app/design/frontend/base/default/layout/payex/payment_fee.xml

Generates exception: exception 'Mage_Core_Exception' with message 'Invalid block type: PayEx_Payments_Block_Invoice_Totals_Fee' in /vagrant/public_html/app/Mage.php:595

This cause the payment fee to not show up when creating & viewing invoices:

skarmbild fran 2016-04-13 08 08 35

Improvement - Part Payment

  1. Display part payment opportunity on the product detail page:
    inside class: .product-info
    below class: .price-box

for example like this:
Köp nu - betala om 3 månader!
Delbetala 632:- i 36 mån. (Totalt 24.402:-)

image

The word "Delbetala" which mean "Part Payment" should be clickable. When clicked a popup should display more information, for example like this:
image

Option in backend to choose Paymentmethod variable in GetAddressByPaymentMethod

Some merchants only use part-payment and then the payment method PXFINANCINGINVOICESE doesn't work in GetAddressByPaymentMethod. In the backend it should be possible to choose between using PXFINANCINGINVOICESE / PXCREDITACCOUNTSE for GetAddressByPaymentMethod.

This choice should be used in fetching address as well as validating address when checking out.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.