Βήμα 1. Τροποποίηση του fn.common.php
- Ανοίξτε το αρχείο fn.common.php που βρίσκεται στον κατάλογο app/functions της εγκατάστασης CS-Cart.
- Βρείτε αυτή τη γραμμή κώδικα:
$price = sprintf('%.' . $decimals . 'f', round((double) $price + 0.00000000001, $decimals)); - Αντικαταστήστε αυτή τη γραμμή με μία από τις παρακάτω γραμμές, ανάλογα με την τιμή της ρύθμισης Tax calculation method based on στο Settings → General:
- Για Subtotal, χρησιμοποιήστε αυτή τη γραμμή:
$price = sprintf('%.' . $decimals . 'f', round((double) $price + 0.00000000001, 4)); - Για Unit price, χρησιμοποιήστε αυτή τη γραμμή:
$price = sprintf('%.' . 4 . 'f', round((double) $price + 0.00000000001, 4));
- Για Subtotal, χρησιμοποιήστε αυτή τη γραμμή:
- Αποθηκεύστε το αρχείο. Αυτό θα κάνει το CS-Cart να στρογγυλοποιεί τα δεκαδικά ψηφία σε 4 ψηφία.
Μπορείτε να ορίσετε οποιονδήποτε αριθμό ψηφίων μετά το δεκαδικό σημείο αντικαθιστώντας το 4 με τον αριθμό που θέλετε.
Βήμα 2. Πρόσθετες Αλλαγές για Χρήστες PayPal
Το PayPal υποστηρίζει μόνο τη μορφή τιμής xx.xx (2 δεκαδικά ψηφία). Εάν θέλετε να αυξήσετε την ακρίβεια του υπολογισμού και να χρησιμοποιήσετε μια μέθοδο πληρωμής PayPal, κάντε τις ακόλουθες αλλαγές:
Οι αλλαγές παρακάτω θα λειτουργήσουν μόνο εάν ορίσετε τη ρύθμιση Tax calculation method based on στο Settings → General σε Subtotal και τροποποιήσετε το αρχείο fn.common.php όπως περιγράφεται στο Βήμα 1.
- Ανοίξτε το αρχείο fn.common.php που βρίσκεται στον κατάλογο app/functions της εγκατάστασης CS-Cart
- Προσθέστε το ακόλουθο τμήμα κώδικα στο τέλος του αρχείου:
function fn_format_price_paypal($price = 0) { return sprintf("%.2f", round((double) $price + 0.00000000001, 2)); } function fn_format_price_by_currency_paypal($price, $currency_from = CART_PRIMARY_CURRENCY, $currency_to = CART_SECONDARY_CURRENCY) { $currencies = Registry::get('currencies'); $currency_from = $currencies[$currency_from]; $currency_to = $currencies[$currency_to]; $result = fn_format_price_paypal($price / ($currency_to['coefficient'] / $currency_from['coefficient']), CART_SECONDARY_CURRENCY); /** * Update converted value * * @param float $price value to be converted * @param string $currency_from in what currency did we get the value * @param string $currency_to in what currency should we send the result * @param float $result converted value */ fn_set_hook('format_price_by_currency_paypal_post', $price, $currency_from, $currency_to, $result); return $result; } - Αποθηκεύστε το αρχείο.
- Ανοίξτε το αρχείο paypal.php στον κατάλογο app/addons/paypal/payments της εγκατάστασης CS-Cart.
- Αλλάξτε την ακόλουθη γραμμή:
Βρείτε αυτή τη γραμμή: $paypal_shipping = fn_order_shipping_cost($order_info); Αντικαταστήστε την με: $paypal_shipping = fn_format_price_paypal(fn_order_shipping_cost($order_info)); - Αντικαταστήστε όλες τις εμφανίσεις του fn_format_price με fn_format_price_paypal:
Βρείτε αυτόν τον κώδικα: fn_format_price( Αντικαταστήστε τον με: fn_format_price_paypal( - Αντικαταστήστε όλες τις εμφανίσεις του fn_format_price_by_currency με fn_format_price_by_currency_paypal:
Βρείτε αυτόν τον κώδικα: fn_format_price_by_currency( Αντικαταστήστε τον με: fn_format_price_by_currency_paypal( - Αποθηκεύστε το αρχείο.
- Ολοκληρώστε τα παρακάτω βήματα για όλα τα αρχεία .php στον κατάλογο app/addons/paypal/payments της εγκατάστασης CS-Cart:
- Ανοίξτε το αρχείο.
- Αντικαταστήστε όλες τις εμφανίσεις του fn_format_price με fn_format_price_paypal:
Βρείτε αυτόν τον κώδικα: fn_format_price( Αντικαταστήστε τον με: fn_format_price_paypal( - Αντικαταστήστε όλες τις εμφανίσεις του fn_format_price_by_currency με fn_format_price_by_currency_paypal:
Βρείτε αυτόν τον κώδικα: fn_format_price_by_currency( Αντικαταστήστε τον με: fn_format_price_by_currency_paypal( - Αποθηκεύστε το αρχείο.