2012-07-14 2 views
5

Magento'da programlı olarak bir kullanıcıya ödeme yapmaya çalışıyorum. Bunları $this->_redirect('checkout/onepage');'a gönderebilirim, ancak bir çeşit üçüncü taraf ödeme uzantısına sahiplerse, uygun olanı kullanmayacağım. Site için varsayılan ödeme URL'sini almanın ve orada yeniden yönlendirmenin bir yolu var mı?Magento mağazası için varsayılan ödeme URL'sini nasıl alabilirim?

+0

cart.phtml dosyasında, < getMethods (') var yöntemleri ') $ yöntemi olarak):?>, site için mevcut tüm ödeme yöntemlerini listeleyecek. GetMethods() işlevi yalnızca bir yöntem döndürürse, varsayılan bir ödeme URL'si vardır. Ya birden fazla yöntem döndürürse? – kiatng

cevap

4

Varsayılan olarak, ödeme bağlantısı Mage_Checkout_Block_Onepage_Link sınıfının işlevi tarafından döndürülür. Oldukça basit ise:

public function getCheckoutUrl() 
{ 
    return $this->getUrl('checkout/onepage', array('_secure'=>true)); 
} 

3. parti uzantıları büyük olasılıkla bu sınıfı geçersiz kılar (i OneStepCheckout 1.4 işaretli ve bu gibi çalışır).

+1

Bu tam olarak ihtiyacım olan şey gibi görünüyor. Ancak, yeni bir Mage_Checkout_Block_Onepage_Link nesnesi oluşturduğumda, bu işlevin tanımlanmadığını söyler. – smokingoyster

+3

Bunu bir Ön Kontrol Cihazında açtım: Mage :: helper ('checkout/url') -> getCheckoutUrl() ' – smokingoyster

+0

Site sadece multishipping checkout kullanıyorsa, bu işe yaramaz. – kiatng

19

tür OnePagecheckout gibi uzantılar veya OneStepcheckout

  • kullanırken sadece temel döndüren kullanıldı uzantısı eğer her koşulda
    • yılında

      $checkout_link = Mage::helper('checkout/url')->getCheckoutUrl(); 
      

      bu dönüş çıkış bağlantı ile deneyebilirsiniz çıkış url

  • +0

    Bu daha doğru bir yaklaşımdır. Nice – bla0009

    +1

    'Mage :: helper (' checkout/url ') -> getCheckoutUrl(); 'her koşulda ödeme bağlantısını döndürür. Her zaman onepage çıkış URL'sini döndürür: '$ this-> getUrl ('checkout/onepage', dizi ('_ secure' => true))' 'Eğer site sadece multishipping checkout kullanıyorsa, iyi çalışmaz. – kiatng

    +0

    Her zaman işe yaramadığını kabul ediyorum. Bizim için Magento 1.9 ile birlikte, http: // /onestepcheckout/komutunu döndürür ve bu URL'ye yönlendirmeye çalıştıktan sonra Magento, "Bir sayfa çıkışı devre dışı bırakılır" diyor. –