aligent / orocommerce-fees-bundle

OroCommerce Bundle to charge Fees during Checkout
GNU General Public License v3.0
0 stars 1 forks source link

[BUG] Subtotal Fees are incompatible with PayPal Express #13

Open chrisaligent opened 1 year ago

chrisaligent commented 1 year ago

Summary

Subtotal Fees (eg Payment Processing Fees) do not currently work with PayPal Express. Attempting to make a payment via PayPal Express results in a failed validation. This is because PayPal Express does not include the Processing Fee as part of the Subtotal, and so the amounts do not add up correctly.

Request Payload: 2022-07-11_11-32 Response Payload: 2022-07-11_11-33

Resolution

It is not possible to charge Processing Fees for PayPal transactions as this violates the PayPal User Agreement: https://www.paypal.com/us/webapps/mpp/ua/useragreement-full

You agree that you will not impose a surcharge or any other fee for accepting PayPal as a payment method. You may charge a handling fee in connection with the sale of goods or services as long as the handling fee does not operate as a surcharge and is not higher than the handling fee you charge for non-PayPal transactions.

The README needs to be amended to explain this limitation.

chrisaligent commented 1 year ago

This will be resolved in #16

chrisaligent commented 1 year ago

16 merged

chrisaligent commented 1 year ago

IMPORTANT UPDATE

Apparently charging a Processing Fee is allowed by PayPal in some jurisdictions. The wording on the USA User Agreement is:

You agree that you will not impose a surcharge or any other fee for accepting PayPal as a payment method. You may charge a handling fee in connection with the sale of goods or services as long as the handling fee does not operate as a surcharge and is not higher than the handling fee you charge for non-PayPal transactions.

However on the AU User Agreement, it says:

You agree that you will not impose a surcharge or any other fee for accepting PayPal as a payment method that exceeds the amount you pay us for that payment as a percentage of your total price.

So processing fees are allowed for PayPal transactions in Australia as long as they aren't more than the PayPal transaction fees (ie a profit cannot be made on the fees).

There is additional documentation here providing further clarification: https://www.paypal.com/au/smarthelp/article/can-i-surcharge-paypal-payments-faq3580

Can I surcharge PayPal payments? Yes. To ensure merchants are given a reasonable opportunity to recover the costs of accepting payments online, we’ve aligned with the Reserve Bank of Australia’s (RBA) new card scheme surcharging standard.

If you choose to, you can surcharge up to the average fee you’re charged per transaction by PayPal over a 12 month period. However, we don’t recommend you do surcharge your customers. Adding a surcharge can significantly increase your abandonment rates and, in turn, your ability to grow your online business.

Any surcharge you apply may only be expressed as a percentage of the sale total, not a fixed dollar amount.

The last line adds additional complexity, as it would mean making the Processing Fee in the Subtotals only displayed as a percentage instead of a fixed dollar amount. This may require discussion with OroCommerce to come up with a solution.