3

I'm using Magento CE 1.9 and the Paypal Express Checkout option. I have it setup to accept Credit Cards without a PayPal account. However, during the checkout process, it is not clear to the customer that he can pay by credit card without a PayPal account:

enter image description here

Is it possible to edit or change the PayPal icon or text to show that credit cards are accepted without a PayPal account?

2 Answers 2

3

You can edit that section of the checkout process in this file:

app\design\frontend\base\default\template\paypal\payment\mark.phtml

at approximately line 33 you can see the HTML comment for where PayPal starts

<!-- PayPal Logo -->

You can add text explaining that the client does not need a PayPal account to use a credit card in the appropriate position for your design.

If however you want to edit the button itself using Chrome browser simply right click on the image and click Inspect Element. You can find the image being called in the HTML/CSS and it in your theme files. Be sure to copy this changed image to your package and theme so that it is safe for upgrades.

2
  • Thanks! Another problem is that this code is called for both "Bill Me Later" and "Paypal". So when I changed the img scr it put the same image on both options. Any idea where "getPaymentAcceptanceMarkSrc" is getting its value from?
    – fnllc
    Sep 29, 2014 at 16:02
  • I am not sure. The only place in the admin I see that seems related is: System -> Configuration -> Payment Methods -> Paypal -> Basic Settings -> Frontend Experience Settings -> PayPal Product Logo An easier option may be to edit: app\design\frontend\base\default\template\paypal\payment\mark.phtml from: <?php echo $this->escapeHtml($this->getPaymentAcceptanceMarkSrc())?> to: <?php echo $this->getSkinUrl('images/custom-paypal.png'); ?> Then in your skin/frontend/package_name/theme_name/images/ create a custom-paypal.png Sep 29, 2014 at 20:19
0

I came to this page with the same issue.

Jason's answer is correct, though as the question "Any idea where 'getPaymentAcceptanceMarkSrc' is getting its value from?" was never answered, I thought I'd try and get to the bottom of that for the sake of learning a bit more about Magento.

The value is set for use in the mark.phtml template in app\code\core\Mage\Paypal\Block\Standard\Form.php with the following code:

$mark = Mage::getConfig()->getBlockClassName('core/template');
        $mark = new $mark;
        $mark->setTemplate('paypal/payment/mark.phtml')
            ->setPaymentAcceptanceMarkHref($this->_config->getPaymentMarkWhatIsPaypalUrl($locale))
            ->setPaymentAcceptanceMarkSrc($this->_config->getPaymentMarkImageUrl($locale->getLocaleCode()))
        ; // known issue: code above will render only static mark image

This calls the function $this->_config->getPaymentMarkImageUrl to get the URL of the image. This is also a PayPal-module specific function, which can be found in app\code\core\Mage\Paypal\Model\Config.php

The function is as follows

public function getPaymentMarkImageUrl($localeCode, $orderTotal = null, $pal = null, $staticSize = null)
{
    $country = Mage::getStoreConfig(Mage_Paypal_Helper_Data::MERCHANT_COUNTRY_CONFIG_PATH);
    if ($country == Mage_Paypal_Helper_Data::US_COUNTRY) {
        return 'https://www.paypalobjects.com/webstatic/en_US/i/buttons/pp-acceptance-medium.png';
    }
    if ($this->areButtonsDynamic()) {
        return $this->_getDynamicImageUrl(self::EC_BUTTON_TYPE_MARK, $localeCode, $orderTotal, $pal);
    }

    if (null === $staticSize) {
        $staticSize = $this->paymentMarkSize;
    }
    switch ($staticSize) {
        case self::PAYMENT_MARK_37x23:
        case self::PAYMENT_MARK_50x34:
        case self::PAYMENT_MARK_60x38:
        case self::PAYMENT_MARK_180x113:
            break;
        default:
            $staticSize = self::PAYMENT_MARK_37x23;
    }
    return sprintf('https://www.paypal.com/%s/i/logo/PayPal_mark_%s.gif',
        $this->_getSupportedLocaleCode($localeCode), $staticSize);
}

Here we can see that it is loading the image directly from Paypal, rather than there being a configuration setting to override it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.