OpenCart Türkiye

Tam Versiyon: Mesafeli Satış Sözleşmesi Henüz Olmadı...
Şu anda tam olmayan bir versiyonun içeriğine bakıyorsunuz. Tam versiyon'a bakınız.
Sayfa: 1 2 3 4
Merhaba,

Değerli OpenCart kullanıcı ve geliştirici arkadaşlarım;
Mesafeli satış sözleşmesi konusu güncellenen yasa ile birlikte dahada önem kazanmıştır bilindiği üzere. Bu konu diğer görsel vs. işlemlerden dahada önemlidir.

../checkout / payment_method.php

../checkout / payment_method.tpl

Yukarıda yazılı dosyalara "Mesafeli Satış Sözleşmesi"ni gömmemiz gerekiyor.
Dahası;

MESAFELİ SATIŞ SÖZLEŞMESİ
MADDE 1 TARAFLAR
1.1 - SATICI



Ünvanı : X Ticaret A.Ş. (Database den çekilecek)
Adresi : x Mh. X cd. No:xx İstanbul (Database den çekilecek)
Telefon : 0 212 123 x xxx (Database den çekilecek)
Fax : 0 212 123 x xxx (Database den çekilecek)
Eposta adresi : info@xxx.com (Database den çekilecek)





1.2 - ALICI



Adı/Soyadı/Ünvanı : Adı Soyadı (Database den çekilecek)
Adresi : Müşteri adresi xx (Database den çekilecek)
Telefon : 532xxxxxxx (Database den çekilecek)
Eposta adresi : musteri@openmail.com (Database den çekilecek)





MADDE 2 KONU

İşbu sözleşmenin konusu, ALICI nın SATICI ya ait http://www.xxx.com internet sitesinden elektronik ortamda siparişini yaptığı aşağıda nitelikleri ve satış fiyatı belirtilen ürünün satışı ve teslimi ile ilgili olarak 4077 sayılı Tüketicilerin Korunması Hakkındaki Kanun ve 06.03.2011 Tarihli Mesafeli Sözleşmelere Dair Yönetmelik hükümleri gereğince tarafların hak ve yükümlülüklerinin saptanmasıdır.



MADDE 3 SÖZLEŞME KONUSU ÜRÜN

Ürünlerin Cinsi ve Türü, Miktarı, Marka/Modeli, Rengi ve Satış Bedeli ve Teslimat Bilgileri aşağıda belirtildiği gibidir.



(Database den çekilecek)
Ürün Açıklaması Adet Peşin Fiyatı Vadeli Fiyatı Ara Toplam
(KDV Dahil)
xxx Elbise 1000 (S/M) 1 22,99 TL 22,99 TL 22,99 TL
xxx Kargo - 5,99 TL 5,99 TL 5,99 TL
Toplam : 28,98 TL
(Database den çekilecek)



Ödeme Şekli ve Planı : -
Teslimat Adresi : Müşteri teslim adresi (Database den çekilecek)
Teslim Edilecek Kişi : Adı Soyadı (Database den çekilecek)
Fatura Adresi : Fatura adresi (Database den çekilecek)


GECİKME FAİZİ
Ödeme peşin ya da kredi kartı ile yapılacağı için SATICI tarafından gecikme faizi uygulanmaz.

MADDE 4 GENEL HÜKÜMLER



4.1) ALICI, http://www.xxx.com internet sitesinde sözleşme konusu ürünün temel nitelikleri, satış fiyatı ve ödeme şekli ile teslimata ilişkin ön bilgileri okuyup bilgi sahibi olduğunu ve elektronik ortamda gerekli teyidi verdiğini beyan eder. ALICI; Ön Bilgilendirmeyi elektronik ortamda teyit etmekle, mesafeli sözleşmelerin akdinden önce, Satıcı tarafından Tüketici ye verilmesi gereken adres, siparişi verilen ürünlere ait temel özellikler, ürünlerin vergiler dahil Türk Lirası fiyatı, ödeme ve teslimat bilgilerini de doğru ve eksiksiz olarak edindiğini teyid etmiş olur.
4.2) Sözleşme konusu ürün, yasal 30 günlük süreyi aşmamak koşulu ile her bir ürün için ALICI nın yerleşim yerinin uzaklığına bağlı olarak internet sitesinde yer ön bilgiler içinde açıklanan süre içinde ALICI veya gösterdiği adresteki kişi/kuruluşa teslim edilir.
4.3) Kargo ücreti ALICI tarafından ödenecektir. Kargo firmasının, ürünü ALICI’ya teslimi aşamasında karşılaşacağı her türlü sorun nedeniyle, siparişi verilen ürünün ALICI ya teslim edilememesinden dolayı SATICI sorumlu tutulamaz.
4.4) SATICI, sözleşme konusu ürünün sağlam, eksiksiz, siparişte belirtilen niteliklere uygun ve varsa garanti belgeleri ve kullanım kılavuzları ile teslim edilmesinden sorumludur.
4.5) SATICI, sözleşmeden doğan ifa yükümlülüğünün süresi dolmadan ALICI yı bilgilendirmek ve açıkça onayını almak suretiyle eşit kalite ve fiyatta farklı bir ürün tedarik edebilir.
4.6) SATICI, sipariş konusu ürün veya hizmetin yerine getirilmesinin imkânsızlaşması halinde sözleşme konusu yükümlülüklerini yerine getiremezse, bu durumu, sözleşmeden doğan ifa yükümlülüğünün süresi dolmadan tüketiciye bildirir ve 10 günlük süre içinde toplam bedeli ALICI ya iade eder.
4.7) Ürünün teslimatı için Ön Bilgilendirme Formunun elektronik ortamda teyid edilmesi şarttır. Herhangi bir nedenle ürün bedeli ödenmez veya banka kayıtlarında iptal edilir ise, SATICI ürünün teslimi yükümlülüğünden kurtulmuş kabul edilir.
4.8) Ürünün tesliminden sonra ALICI ya ait kredi kartının ALICI nın kusurundan kaynaklanmayan bir şekilde yetkisiz kişilerce haksız veya hukuka aykırı olarak kullanılması nedeni ile ilgili banka veya finans kuruluşun ürün bedelini SATICI ya ödememesi halinde, ALICI kendisine teslim edilmiş olması kaydıyla ürünü 3 gün içinde SATICI ya iade etmek zorundadır. Bu takdirde nakliye giderleri ALICI ya aittir.
4.9) SATICI mücbir sebepler veya nakliyeyi engelleyen hava muhalefeti, ulaşımın kesilmesi gibi olağanüstü durumlar nedeni ile sözleşme konusu ürünü süresi içinde teslim edemez ise, durumu ALICI ya bildirmekle yükümlüdür. Bu takdirde ALICI siparişin iptal edilmesini, sözleşme konusu ürünün varsa emsali ile değiştirilmesini ve/veya teslimat süresinin engelleyici durumun ortadan kalkmasına kadar ertelenmesi haklarından birini kullanabilir. ALICI nın siparişi iptal etmesi halinde ödediği toplam tutar 10 gün içinde kendisine nakden ve defaten ödenir. ALICI’nın kredi kartı ile yaptığı ödemelerde ise, ürün tutarı, siparişin ALICI tarafından iptal edilmesinden sonra 7 gün içerisinde ilgili bankaya iade edilir. Bu tutarın bankaya iadesinden sonra ALICI hesaplarına yansıması tamamen banka işlem süreci ile ilgili olduğundan, ALICI, olası gecikmeler için SATICI nın herhangi bir şekilde müdahalede bulunmasının mümkün olamayacağını ve SATICI tarafından kredi kartına iade edilen tutarın banka tarafından ALICI hesabına yansıtılmasının ortalama 2 ile 3 haftayı bulabileceğini şimdiden kabul etmektedir.



MADDE 5 CAYMA HAKKI



ALICI; mal satışına ilişkin mesafeli sözleşmelerde, ürünün kendisine veya gösterdiği adresteki kişi/kuruluşa teslim tarihinden itibaren 30 (otuz) gün içerisinde hiçbir hukuki ve cezai sorumluluk üstlenmeksizin ve hiçbir gerekçe göstermeksizin malı reddederek sözleşmeden cayma hakkını kullanabilir. Hizmet sunumuna ilişkin mesafeli sözleşmelerde ise, bu süre sözleşmenin imzalandığı tarihte başlar. Cayma hakkı süresi sona ermeden önce, tüketicinin onayı ile hizmetin ifasına bağlanan hizmet sözleşmelerinde cayma hakkı kullanılamaz. Cayma hakkının kullanımından kaynaklanan masraflar SATICI’ ya aittir.

Cayma hakkının kullanılması için 30 günlük süre içinde SATICI ya iadeli taahhütlü posta, faks veya eposta ile bildirimde bulunulması ve ürünün 6. madde hükümleri çerçevesinde kullanılmamış olması şarttır. Bu hakkın kullanılması halinde,

a) 3. kişiye veya ALICI ya teslim edilen ürünün faturası, (İade edilmek istenen ürünün faturası kurumsal ise, geri iade ederken kurumun düzenlemiş olduğu iade faturası ile birlikte gönderilmesi gerekmektedir. Faturası kurumlar adına düzenlenen sipariş iadeleri İADE FATURASI kesilmediği takdirde tamamlanamayacaktır)

b) İade formu,

c) İade edilecek ürünlerin kutusu, ambalajı, varsa standart aksesuarları ile birlikte eksiksiz ve hasarsız olarak teslim edilmesi gerekmektedir.

d) SATICI, cayma bildiriminin kendisine ulaşmasında itibaren en geç 10 günlük süre içerisinde toplam bedeli ve alıcıyı borç altına sokan belgeleri ALICI’ya iade etmek ve 20 günlük süre içerisinde malı iade almakla yükümlüdür.

e) ALICI nın kusurundan kaynaklanan bir nedenle malın değerinde bir azalma olursa veya iade imkânsızlaşırsa ALICI kusuru oranında SATICI’nın zararlarını tazmin etmekle yükümlüdür.

f) Cayma hakkının kullanılması nedeniyle SATICI tarafından düzenlenen kampanya limit tutarının altına düşülmesi halinde kampanya kapsamında faydalanılan indirim miktarı iptal edilir.



MADDE 6 CAYMA HAKKI KULLANILAMAYACAK ÜRÜNLER



Niteliği itibarıyla iade edilemeyecek ürünler; tek kullanımlık ürünler, kopyalanabilir yazılım ve programlar, hızlı bozulan veya son kullanım tarihi geçme ihtimali olan ürünlerin iadesi kabul edilmemektedir.
Aşağıdaki ürünlerin iade edilebilmesi, ürünün ambalajının açılmamış, bozulmamış ve ürünün kullanılmamış ve denenmemiş olması şartına bağlıdır.

• Her türlü Kozmetik Ürün
• İç Giyim Ürünleri
• Her Türlü Kişisel Bakım Ürünü
• Her türlü yazılım ve programlar
• DVD, VCD, CD ve kasetler
• Bilgisayar ve kırtasiye sarf malzemeleri (toner, kartuş, şerit vb.) • Taşınabilir Bilgisayarlar ve Masaüstü Bilgisayarlar (Ürünün arızalı ve ayıplı çıkması durumu haricinde), orijinal işletim sistemi kurulduktan yani bilgisayar kurulumu yapıldıktan sonra iade alınmayacaktır.



MADDE 7 YETKİLİ MAHKEME



İşbu sözleşmenin uygulanmasında, Sanayi ve Ticaret Bakanlığınca ilan edilen değere kadar ALICI nın mal veya hizmeti satın aldığı ve ikametgahının bulunduğu yerdeki Tüketici Hakem Heyetleri ile Tüketici Mahkemeleri yetkilidir.

SATICI şikâyet ve itirazları konusunda başvurularını, T.C. Sanayi Ve Ticaret Bakanlığı tarafından her yıl Aralık ayında belirlenen parasal sınırlar dâhilinde mal veya hizmeti satın aldığı veya ikametgâhının bulunduğu yerdeki tüketici sorunları hakem heyetine veya tüketici mahkemesine yapabilir. Parasal sınıra ilişkin bilgiler aşağıdadır.

1/1/2012 tarihinden itibaren geçerli olmak üzere:

a) 4077 sayılı Tüketicinin Korunması Hakkında Kanunun değişik 22 nci maddesinin 5 ve 6 ncı fıkrasındaki tüketici sorunları hakem heyetlerinin kararlarının bağlayıcı olacağına ilişkin üst veya tüketici mahkemelerinde delil olacağına ilişkin alt parasal sınır 1.161,67 TL,

b) 1/8/2003 tarihli ve 25186 sayılı Resmî Gazete’de yayımlanan Tüketici Sorunları Hakem Heyetleri Yönetmeliği’nin 5 inci maddesinin üçüncü fıkrasında, büyükşehir statüsünde bulunan illerde faaliyet gösteren il hakem heyetlerinin uyuşmazlıklara bakmakla görevli ve yetkili olmalarına ilişkin alt parasal sınır 3.032,65 TL dir.



İşbu Sözleşme ticari amaçlarla yapılmıştır.







SATICI : X Ticaret A.Ş. (Database den çekilecek)
ALICI : Adı Soyadı (Database den çekilecek)
TARİH : 19.04.2012 21:44:39 (Güncel Tarih/Saat)

Bütün ihtiyaç bundan ibaret. Yardımlarını esirgemeyen arkadaşlarımıza sonsuz teşekkürlerimi sunarım.

Konunun farklı yerlere kanalize olmaması adına yukarıda yazılı yönergeler dışına çıkılmaması konusundaki hassasiyet gösterileceği içinde ayrıca teşekkür ederim.

Vira Bismillah...
../checkout / payment_method.php
../checkout / payment_method.tpl
bu dosyalara neden gömmek istediniz ki?
onay işlemi confirm.php ve confirm.tpl de gerçekleşiyor.
zaten ürünler sorunsuz confirm.tpl dosyasında çekilmiş olarak geliyor sadece satıcı ve alıcı bilgilerini çektirmekte sorun yaşıyoruz.

aslında biraz inceledim kasaya git deki işlemleri en üstten başlayarak her butonu tıklayıp bir sonraki aşamaya geçtiğimizde verdiğimiz bilgiler cookie nin içine kaydediliyor biz sözleşmeyi ekrana bastığımız en son ürünlerin aktif olduğu sayfada ürünler aktif olduğu için sorunsuz o datayı çekebiliyoruz ama daha önceki ekranlardaki bilgiler cookie içinde olduğundan dolayı ulaşamıyoruz cookie yi okutmayı başarırsak bu bilgi çekme işlemlerini de başarmış olacağız.
(02-05-2012 19:15 PM)nokta demiş ki: [ -> ]../checkout / payment_method.php
../checkout / payment_method.tpl
bu dosyalara neden gömmek istediniz ki?
onay işlemi confirm.php ve confirm.tpl de gerçekleşiyor.
zaten ürünler sorunsuz confirm.tpl dosyasında çekilmiş olarak geliyor sadece satıcı ve alıcı bilgilerini çektirmekte sorun yaşıyoruz.

aslında biraz inceledim kasaya git deki işlemleri en üstten başlayarak her butonu tıklayıp bir sonraki aşamaya geçtiğimizde verdiğimiz bilgiler cookie nin içine kaydediliyor biz sözleşmeyi ekrana bastığımız en son ürünlerin aktif olduğu sayfada ürünler aktif olduğu için sorunsuz o datayı çekebiliyoruz ama daha önceki ekranlardaki bilgiler cookie içinde olduğundan dolayı ulaşamıyoruz cookie yi okutmayı başarırsak bu bilgi çekme işlemlerini de başarmış olacağız.

Bende "Şartlar & Koşullar'ı okudum ve kabul ediyorum." ibaresi payment.tpl de çıkıyor. sizde confirm.tpl de mi çıkıyor bu ibare?

"Fofotara"
Örnek Site adresi : b1.kiops.com

Sitesinde "payment_method.tpl" içinde gayet iyi şekilde çekmiş bilgileri. Arkadaş meşgul sanırım, epeydir girmiyor foruma. bizde bu nedenle deneme yanılma yapıyoruz. inşallah başarılı olacağız...
Arkadaşlar şu olayı artık çözünde gönül rahatlığı ile kullanalım sitemizi yahu... Binlerce ürünü siteye ekledim sırf satış sözleşmesi nedeniyle bekletiyorum. PHP bilen birisi için bunu yapmanın çok kolay olduğunu düşünüyorum. Yanılıyorsam şimdiden özür dilerim ama gerçekten zaruri bir ihtiyaç ve benim gibi onlarca kişi bu eksikliğin giderilmesini bekliyor diye tahmin ediyorum.
(02-05-2012 20:59 PM)byoracle demiş ki: [ -> ]Bende "Şartlar & Koşullar'ı okudum ve kabul ediyorum." ibaresi payment.tpl de çıkıyor. sizde confirm.tpl de mi çıkıyor bu ibare?

evet bende confirm.tpl de çıkıyor zaten ilk konuda yüklediğim dosyaları incelerseniz confirm üzerinde çalıştığımı göreceksiniz.
sizin versiyon nedir 1.4.x mi 1.5.x mi?

Arkadaşlar 1.5.x için ilk konuda basit bir güncelleme var ben 10 tane sitede bunu kullanıyorum nihayetinde müşteriye okutup kabul ettiriyoruz onaylatıyoruz sözleşmeyi. Adam gibi çalışan bir modül oluşturana kadar sitelerinizi askıya almayın.
[attachment=1454]

arkadaşlar özür dilerim.Yurtdışına çıkmıştım Yoğunluktan bakamadım . Son baktığımda tüm veriler eksiksizdi.
Tüm veriler database'den çekiliyor. Görünüşte eksik birşey yok ?
Eksiklikler varsa tamamlayalım ?
(03-05-2012 23:02 PM)fofotara demiş ki: [ -> ]arkadaşlar özür dilerim.Yurtdışına çıkmıştım Yoğunluktan bakamadım . Son baktığımda tüm veriler eksiksizdi.
Tüm veriler database'den çekiliyor. Görünüşte eksik birşey yok ?
Eksiklikler varsa tamamlayalım ?

@fofotara gördüğüm kadarı ile bir eksiği yok gayet derli toplu olmuş.
Merakla paylaşımını bekliyorum.
(03-05-2012 23:02 PM)fofotara demiş ki: [ -> ]arkadaşlar özür dilerim.Yurtdışına çıkmıştım Yoğunluktan bakamadım . Son baktığımda tüm veriler eksiksizdi.
Tüm veriler database'den çekiliyor. Görünüşte eksik birşey yok ?
Eksiklikler varsa tamamlayalım ?

Evet gayet güzel görünüyor. Ben de merakla paylaşmanı bekliyorum arkadaşım.
Çok iyi. Tebrik ederim @fofotara
Üzerinde çalıştığım ve son düzenlemeleri gerçekleştirdiğim mesafeli satış sözleşmesi ve ön bilgilendirme formunu sizlerle paylaşıp eksikleri içinde yardım istiyorum. Sözleşmeyi denemek isteyen arkadaşlar http://aciketicaret.tk/ adresinden kontrol edebilir.
Sözleşmedeki veriler dinamik olarak oluşturulmakta sipariş onayı butonu tıklanınca müşteriye sunulmaktadır.
[Resim: mesafelisatis.jpg]

Sipariş sonrası gönderilen e-postaya kullanıcıya gösterilen sözleşme ve ön bilgilendirme formu eklenmektedir. Ayrıca admin panelinden yazdırma seçenekleri eklenmiştir.
[Resim: adminsozles.jpg]

Sözleşme metnini bu sitede paylaşan bir arkadaşımızdan aldım ama tam olarak yönetmeliğe uygun mu bilmiyorum. Ayrıca ön bilgilendirme formunda bir alışveriş sitesinden aldım onunda değişmesi gerek http://aciketicaret.tk/dokuman/mesafeli-...tmelik.htm adresindeki yönetmeliğe uygun bir metinden mutabık kalırsak tekrar düzenleme yaparım.

Evet şimdide uygulamaya geçiyoruz. Değişikler 1.5.2.1 sürümünde uygulanmıştır. Diğer versiyonlarda denemedim. Şu an uygulamak isteyenler satış yaptığı siteler üzerinde uygulamaması tavsiye ediyorum. Sözleşme metni büyük ihtimal değişecektir.

Dosyayı indirip dosyaları ana dizine atıyoruz.
http://aciketicaret.tk/dosyalar/SozlesmeEklenti.zip

Aşağıdaki dosyalarda değişiklik yapılacaktır. Dosyaları yedeklemenizde fayda var.

Kod:
catalog/view/theme/default/template/payment/cod.tpl
catalog/model/checkout/order.php
catalog/view/theme/default/template/mail/order.tpl
admin/controller/sale/order.php
admin/view/template/sale/order_info.tpl


Değişikler 1.5.2.1 sürümünde yapılmıştır. Eğer yukarıda belirtilen dosyalarda değişiklik yapmadıysanız ve 1.5.2.1 sürümünü kullanıyorsanız http://aciketicaret.tk/dosyalar/Degisiklikler.zip dosyasını indirip kendi dosyalarınızla değiştirebilirsiniz. Bu dosyada ödeme metotlarından sadece kapıda ödeme seçeneğinde uygulanmıştır. Diğerleri için aşağıda anlatımdan yararlanana bilirsiniz.

Sipariş onayının görüntülenmesi için kullandığımız ödeme metotlarında değişiklik yapmamız gerekmektedir.
Örneğin kapıda ödeme seçeneği için

Kod:
catalog/view/theme/default/template/payment/cod.tpl

dosyasında değişiklik yapmanız gerekmektedir. Öncelikle dosyanın karakter kodlamasını ANSI'den UTF-8'e değiştirilmesi gerekmekte.
Bunun için Linux’ta Geany(http://www.geany.org/) Windows’ta Notepad++ ( http://notepad-plus-plus.org/download/v6.1.2.html ) kullanabilirsiniz.

PHP Kod:
<script type="text/javascript"><!--

kısmını bulup üstüne ekleyiniz

PHP Kod:
<div id="dialog-bilgilendirme" title="Ön Bilgilendirme" style="display : none;">
	<span class="ui-icon ui-icon-info" style="float:left; margin:0 7px 20px 0;"></span><span style="font-family: 'Lucida Sans Unicode', 'Lucida Grande', Arial, Helvetica, sans-serif;
	font-size: 13px;">06.03.2011 tarih ve 27866 Sayılı resmi gazetede yayınlanan 'Mesafeli Sözleşmelere Dair Yönetmelik' gereğince internet üzerinden gerçekleştirilen satışlar için hazırlanan Ön bilgiler ve bilgilendirme formu aşağıdadır.</span>
	<div  class="onbilgilendirme" style="height: 300px; overflow: auto; background-color: #fff; font-family: 'Lucida Sans Unicode', 'Lucida Grande', Arial, Helvetica, sans-serif; font-size: 13px;">
	 <div style="text-align: center; margin-top: 130px"><img src="catalog/view/javascript/jquery/colorbox/images/loading.gif" /> <br />Ön Bilgilendirme Formu Yükleniyor</div>
	</div>
</div>
<div id="dialog-sozlesme" title="Mesafeli Satış Sözleşmesi" style="display : none;">
	<span class="ui-icon ui-icon-info" style="float:left; margin:0 7px 20px 0;"></span><span style="font-family: 'Lucida Sans Unicode', 'Lucida Grande', Arial, Helvetica, sans-serif;
	font-size: 13px;">06.03.2011 tarih ve 27866 Sayılı resmi gazetede yayınlanan 'Mesafeli Sözleşmelere Dair Yönetmelik' gereğince internet üzerinden gerçekleştirilen satışlar için hazırlanan mesafeli satış sözleşmesi aşağıdadır.</span>
	<div  class="sozlesme" style="height: 300px; overflow: auto; background-color: #fff; font-family: 'Lucida Sans Unicode', 'Lucida Grande', Arial, Helvetica, sans-serif; font-size: 13px;">
	 <div style="text-align: center; margin-top: 130px"><img src="catalog/view/javascript/jquery/colorbox/images/loading.gif" /> <br />Mesafeli Satış Sözleşmesi Yükleniyor</div>
	</div>
</div>



PHP Kod:
<script type="text/javascript"><!--
$('#button-confirm').bind('click', function() {

kısmını bulup, altına aşağıdaki kodu ekleyiniz.

PHP Kod:
		$( '#dialog-bilgilendirme' ).dialog({
			resizable: false,
			height:450,
			width: 760,
			modal: true,
			open: function(event, ui) { $('.onbilgilendirme').load('index.php?route=checkout/sozlesme/onbilgilendirme'); },
			buttons: {
				'Ön Bilgilendirme formunu okudum ve onaylıyorum': function() {
					$( '#dialog-sozlesme' ).dialog({
						resizable: false,
						height:450,
						width: 760,
						modal: true,
						open: function(event, ui) { $('.sozlesme').load('index.php?route=checkout/sozlesme'); },
						buttons: {
							'Mesafeli Satış Sözleşmesini okudum ve kabul ediyorum': function() {


PHP Kod:
$.ajax({ 
										type: 'GET',
										url: 'index.php?route=payment/cod/confirm',
										success: function() {
											location = '<?php echo $continue; ?>';
										}		
									});

Kısmının bulup altına ekleyiniz.

PHP Kod:
						},
							"Hayır": function() {
								$( this ).dialog( 'close' );
							}
						}
					});
					$( this ).dialog( 'close' );
				},
				"Hayır": function() {
					$( this ).dialog( 'close' );
				}
			}
		});



Kapıda ödeme seçeneği için değişikleri tamamlamış olduk. Diğer ödeme seçenekleri için de durum benzer.

Sipariş onayından sonra mail gönderilmesi içinde değişiklik yapmamız gerekmektedir.

Kod:
catalog/model/checkout/order.php

dosyasında

PHP Kod:
$template->data['totals'] = $order_total_query->rows;

Satırını bulup altına ekleyiniz

PHP Kod:
			$template->data['onBilgilendirmeFormu'] = $this->session->data['onBilgilendirmeFormu'];
			$template->data['mesafeliSatisSozlesmesi'] = $this->session->data['mesafeliSatisSozlesmesi'];


Kod:
catalog/view/theme/default/template/mail/order.tpl

dosyasında

PHP Kod:
<p style="margin-top: 0px; margin-bottom: 20px;"><?php echo $text_footer; ?></p>

bulup üstüne ekleyiniz.

PHP Kod:
<?php echo $onBilgilendirmeFormu.$mesafeliSatisSozlesmesi; ?>


Son olarak admin paneline sözleşmeyi eklemek için

Kod:
admin/controller/sale/order.php

dosyasında

En altta bulunan kodları bulup

PHP Kod:
}
?>


üstüne aşağıdaki kodları ekleyiniz.

PHP Kod:
	public function satissozlesmesi() {
		$this->load->language('sale/order');

		$this->data['title'] = $this->language->get('heading_title');

		if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
			$this->data['base'] = HTTPS_SERVER;
		} else {
			$this->data['base'] = HTTP_SERVER;
		}

		$this->data['direction'] = $this->language->get('direction');
		$this->data['language'] = $this->language->get('code');

		$this->data['text_invoice'] = $this->language->get('text_invoice');

		$this->data['text_order_id'] = $this->language->get('text_order_id');
		$this->data['text_invoice_no'] = $this->language->get('text_invoice_no');
		$this->data['text_invoice_date'] = $this->language->get('text_invoice_date');
		$this->data['text_date_added'] = $this->language->get('text_date_added');
		$this->data['text_telephone'] = $this->language->get('text_telephone');
		$this->data['text_fax'] = $this->language->get('text_fax');
		$this->data['text_to'] = $this->language->get('text_to');
		$this->data['text_ship_to'] = $this->language->get('text_ship_to');

		$this->data['column_product'] = $this->language->get('column_product');
		$this->data['column_model'] = $this->language->get('column_model');
		$this->data['column_quantity'] = $this->language->get('column_quantity');
		$this->data['column_price'] = $this->language->get('column_price');
		$this->data['column_total'] = $this->language->get('column_total');
		$this->data['column_comment'] = $this->language->get('column_comment');

		$this->load->model('sale/order');

		$this->load->model('setting/setting');

		$this->data['orders'] = array();

		$orders = array();

		if (isset($this->request->post['selected'])) {
			$orders = $this->request->post['selected'];
		} elseif (isset($this->request->get['order_id'])) {
			$orders[] = $this->request->get['order_id'];
		}

		foreach ($orders as $order_id) {
			$order_info = $this->model_sale_order->getOrder($order_id);

			if ($order_info) {
				$store_info = $this->model_setting_setting->getSetting('config', $order_info['store_id']);
				
				if ($store_info) {
					$store_address = $store_info['config_address'];
					$store_email = $store_info['config_email'];
					$store_telephone = $store_info['config_telephone'];
					$store_fax = $store_info['config_fax'];
				} else {
					$store_address = $this->config->get('config_address');
					$store_email = $this->config->get('config_email');
					$store_telephone = $this->config->get('config_telephone');
					$store_fax = $this->config->get('config_fax');
				}
				
				if ($order_info['invoice_no']) {
					$invoice_no = $order_info['invoice_prefix'] . $order_info['invoice_no'];
				} else {
					$invoice_no = '';
				}
				
				if ($order_info['shipping_address_format']) {
					$format = $order_info['shipping_address_format'];
				} else {
					$format = '{firstname} {lastname}' . "\n" . '{company}' . "\n" . '{address_1}' . "\n" . '{address_2}' . "\n" . '{city} {postcode}' . "\n" . '{zone}' . "\n" . '{country}';
				}

				$find = array(
					'{firstname}',
					'{lastname}',
					'{company}',
					'{address_1}',
					'{address_2}',
					'{city}',
					'{postcode}',
					'{zone}',
					'{zone_code}',
					'{country}'
				);

				$replace = array(
					'firstname' => $order_info['shipping_firstname'],
					'lastname'  => $order_info['shipping_lastname'],
					'company'   => $order_info['shipping_company'],
					'address_1' => $order_info['shipping_address_1'],
					'address_2' => $order_info['shipping_address_2'],
					'city'      => $order_info['shipping_city'],
					'postcode'  => $order_info['shipping_postcode'],
					'zone'      => $order_info['shipping_zone'],
					'zone_code' => $order_info['shipping_zone_code'],
					'country'   => $order_info['shipping_country']
				);

				$shipping_address = str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format))));

				if ($order_info['payment_address_format']) {
					$format = $order_info['payment_address_format'];
				} else {
					 $format = '{firstname} {lastname}' . "\n" . '{company}' . "\n" . '{address_1}' . "\n" . '{address_2}' . "\n" . '{city} {postcode}' . "\n" . '{zone}' . "\n" . '{country}';
				}

				$find = array(
					'{firstname}',
					'{lastname}',
					'{company}',
					'{address_1}',
					'{address_2}',
					'{city}',
					'{postcode}',
					'{zone}',
					'{zone_code}',
					'{country}'
				);

				$replace = array(
					'firstname' => $order_info['payment_firstname'],
					'lastname'  => $order_info['payment_lastname'],
					'company'   => $order_info['payment_company'],
					'address_1' => $order_info['payment_address_1'],
					'address_2' => $order_info['payment_address_2'],
					'city'      => $order_info['payment_city'],
					'postcode'  => $order_info['payment_postcode'],
					'zone'      => $order_info['payment_zone'],
					'zone_code' => $order_info['payment_zone_code'],
					'country'   => $order_info['payment_country']
				);

				$payment_address = str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format))));

				$product_data = array();

				$products = $this->model_sale_order->getOrderProducts($order_id);

				foreach ($products as $product) {
					$option_data = array();

					$options = $this->model_sale_order->getOrderOptions($order_id, $product['order_product_id']);

					foreach ($options as $option) {
						if ($option['type'] != 'file') {
							$option_data[] = array(
								'name'  => $option['name'],
								'value' => $option['value']
							);		
						} else {
							$option_data[] = array(
								'name'  => $option['name'],
								'value' => substr($option['value'], 0, strrpos($option['value'], '.'))
							);	
						}
					}

					$product_data[] = array(
						'name'     => $product['name'],
						'model'    => $product['model'],
						'option'   => $option_data,
						'quantity' => $product['quantity'],
						'price'    => $this->currency->format($product['price'], $order_info['currency_code'], $order_info['currency_value']),
						'total'    => $this->currency->format($product['total'], $order_info['currency_code'], $order_info['currency_value'])
					);
				}

				$total_data = $this->model_sale_order->getOrderTotals($order_id);
				

				$this->data['orders'][] = array(
					'order_id'	       => $order_id,
					'invoice_no'       => $invoice_no,
					'invoice_date'     => date($this->language->get('date_format_short'), strtotime('now')),
					'date_added'       => date($this->language->get('date_format_short'), strtotime($order_info['date_added'])),
					'store_name'       => $order_info['store_name'],
					'store_url'        => str_replace("http://", "", rtrim($order_info['store_url'], '/')),
					'store_address'    => nl2br($store_address),
					'store_email'      => $store_email,
					'store_telephone'  => $store_telephone,
					'store_fax'        => $store_fax,
					'email'            => $order_info['email'],
					'telephone'        => $order_info['telephone'],
					'shipping_address' => $shipping_address,
					'payment_address'  => $payment_address,
					'unvan'		   => 	$order_info['firstname'].' '.$order_info['lastname'],
					'adres'		   =>   $order_info['payment_address_1'].' '.$order_info['payment_address_2'].' '.$order_info['payment_postcode'].' '.$order_info['payment_city'].'/'.$order_info['payment_zone'].'/'.$order_info['payment_country'] ,				
					'product'          => $product_data,
					'total'            => $total_data,
					'comment'          => nl2br($order_info['comment'])
				);
			}
		}

		$this->template = 'sale/satis_sozlesmesi.tpl';

		$this->response->setOutput($this->render());
	}
	public function onbilgilendirme() {

	$this->load->language('sale/order');

		$this->data['title'] = $this->language->get('heading_title');

		if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
			$this->data['base'] = HTTPS_SERVER;
		} else {
			$this->data['base'] = HTTP_SERVER;
		}

		$this->data['direction'] = $this->language->get('direction');
		$this->data['language'] = $this->language->get('code');

		$this->data['text_invoice'] = $this->language->get('text_invoice');

		$this->data['text_order_id'] = $this->language->get('text_order_id');
		$this->data['text_invoice_no'] = $this->language->get('text_invoice_no');
		$this->data['text_invoice_date'] = $this->language->get('text_invoice_date');
		$this->data['text_date_added'] = $this->language->get('text_date_added');
		$this->data['text_telephone'] = $this->language->get('text_telephone');
		$this->data['text_fax'] = $this->language->get('text_fax');
		$this->data['text_to'] = $this->language->get('text_to');
		$this->data['text_ship_to'] = $this->language->get('text_ship_to');

		$this->data['column_product'] = $this->language->get('column_product');
		$this->data['column_model'] = $this->language->get('column_model');
		$this->data['column_quantity'] = $this->language->get('column_quantity');
		$this->data['column_price'] = $this->language->get('column_price');
		$this->data['column_total'] = $this->language->get('column_total');
		$this->data['column_comment'] = $this->language->get('column_comment');

		$this->load->model('sale/order');

		$this->load->model('setting/setting');

		$this->data['orders'] = array();

		$orders = array();

		if (isset($this->request->post['selected'])) {
			$orders = $this->request->post['selected'];
		} elseif (isset($this->request->get['order_id'])) {
			$orders[] = $this->request->get['order_id'];
		}

		foreach ($orders as $order_id) {
			$order_info = $this->model_sale_order->getOrder($order_id);
			if ($order_info) {
				$store_info = $this->model_setting_setting->getSetting('config', $order_info['store_id']);
				
				if ($store_info) {
					$store_address = $store_info['config_address'];
					$store_email = $store_info['config_email'];
					$store_telephone = $store_info['config_telephone'];
					$store_fax = $store_info['config_fax'];
				} else {
					$store_address = $this->config->get('config_address');
					$store_email = $this->config->get('config_email');
					$store_telephone = $this->config->get('config_telephone');
					$store_fax = $this->config->get('config_fax');
				}
				
				if ($order_info['invoice_no']) {
					$invoice_no = $order_info['invoice_prefix'] . $order_info['invoice_no'];
				} else {
					$invoice_no = '';
				}
				
				if ($order_info['shipping_address_format']) {
					$format = $order_info['shipping_address_format'];
				} else {
					$format = '{firstname} {lastname}' . "\n" . '{company}' . "\n" . '{address_1}' . "\n" . '{address_2}' . "\n" . '{city} {postcode}' . "\n" . '{zone}' . "\n" . '{country}';
				}

				$find = array(
					'{firstname}',
					'{lastname}',
					'{company}',
					'{address_1}',
					'{address_2}',
					'{city}',
					'{postcode}',
					'{zone}',
					'{zone_code}',
					'{country}'
				);

				$replace = array(
					'firstname' => $order_info['shipping_firstname'],
					'lastname'  => $order_info['shipping_lastname'],
					'company'   => $order_info['shipping_company'],
					'address_1' => $order_info['shipping_address_1'],
					'address_2' => $order_info['shipping_address_2'],
					'city'      => $order_info['shipping_city'],
					'postcode'  => $order_info['shipping_postcode'],
					'zone'      => $order_info['shipping_zone'],
					'zone_code' => $order_info['shipping_zone_code'],
					'country'   => $order_info['shipping_country']
				);

				$shipping_address = str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format))));

				if ($order_info['payment_address_format']) {
					$format = $order_info['payment_address_format'];
				} else {
					 $format = '{firstname} {lastname}' . "\n" . '{company}' . "\n" . '{address_1}' . "\n" . '{address_2}' . "\n" . '{city} {postcode}' . "\n" . '{zone}' . "\n" . '{country}' ;
				}

				$find = array(
					'{firstname}',
					'{lastname}',
					'{company}',
					'{address_1}',
					'{address_2}',
					'{city}',
					'{postcode}',
					'{zone}',
					'{zone_code}',
					'{country}'
				);

				$replace = array(
					'firstname' => $order_info['payment_firstname'],
					'lastname'  => $order_info['payment_lastname'],
					'company'   => $order_info['payment_company'],
					'address_1' => $order_info['payment_address_1'],
					'address_2' => $order_info['payment_address_2'],
					'city'      => $order_info['payment_city'],
					'postcode'  => $order_info['payment_postcode'],
					'zone'      => $order_info['payment_zone'],
					'zone_code' => $order_info['payment_zone_code'],
					'country'   => $order_info['payment_country']
				);

				$payment_address = str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format))));

				$product_data = array();

				$products = $this->model_sale_order->getOrderProducts($order_id);

				foreach ($products as $product) {
					$option_data = array();

					$options = $this->model_sale_order->getOrderOptions($order_id, $product['order_product_id']);

					foreach ($options as $option) {
						if ($option['type'] != 'file') {
							$option_data[] = array(
								'name'  => $option['name'],
								'value' => $option['value']
							);		
						} else {
							$option_data[] = array(
								'name'  => $option['name'],
								'value' => substr($option['value'], 0, strrpos($option['value'], '.'))
							);	
						}
					}

					$product_data[] = array(
						'name'     => $product['name'],
						'model'    => $product['model'],
						'option'   => $option_data,
						'quantity' => $product['quantity'],
						'price'    => $this->currency->format($product['price'], $order_info['currency_code'], $order_info['currency_value']),
						'total'    => $this->currency->format($product['total'], $order_info['currency_code'], $order_info['currency_value'])
					);
				}

				$total_data = $this->model_sale_order->getOrderTotals($order_id);
				
				$kargoTutar = "0 TL";
				foreach($total_data as $kalem) if($kalem['code'] == "shipping") $kargoTutar = $kalem['text'];

				$this->data['orders'][] = array(
					'order_id'	       => $order_id,
					'invoice_no'       => $invoice_no,
					'invoice_date'     => date($this->language->get('date_format_short'), strtotime('now')),
					'date_added'       => date($this->language->get('date_format_short'), strtotime($order_info['date_added'])),
					'store_name'       => $order_info['store_name'],
					'store_url'        => str_replace("http://", "", rtrim($order_info['store_url'], '/')),
					'store_address'    => nl2br($store_address),
					'store_email'      => $store_email,
					'store_telephone'  => $store_telephone,
					'store_fax'        => $store_fax,
					'email'            => $order_info['email'],
					'telephone'        => $order_info['telephone'],
					'shipping_address' => $shipping_address,
					'payment_address'  => $payment_address,
					'unvan'		   => 	$order_info['firstname'].' '.$order_info['lastname'],
					'adres'		   =>   $order_info['payment_address_1'].' '.$order_info['payment_address_2'].' '.$order_info['payment_postcode'].' '.$order_info['payment_city'].'/'.$order_info['payment_zone'].'/'.$order_info['payment_country'] ,				
					'product'          => $product_data,
					'total'            => $total_data,
					'odemetipi' 	=>$order_info['payment_method'],
					'kargotutar'   =>$kargoTutar
				);
			}
		}

		$this->template = 'sale/on_bilgilendirme.tpl';

		$this->response->setOutput($this->render());
	}


PHP Kod:
			$this->data['invoice'] = $this->url->link('sale/order/invoice', 'token=' . $this->session->data['token'] . '&order_id=' . (int)$this->request->get['order_id'], 'SSL');

satırını bulup üstüne ekleyiniz.

PHP Kod:
$this->data['sozlesme'] = $this->url->link('sale/order/satissozlesmesi', 'token=' . $this->session->data['token'] . '&order_id=' . (int)$this->request->get['order_id'], 'SSL');
			$this->data['onbilgilendirme'] = $this->url->link('sale/order/onbilgilendirme', 'token=' . $this->session->data['token'] . '&order_id=' . (int)$this->request->get['order_id'], 'SSL');


Kod:
admin/view/template/sale/order_info.tpl

dosyasında

PHP Kod:
	  <a onclick="window.open('<?php echo $invoice; ?>');" class="button"><?php echo $button_invoice; ?></a><a onclick="location = '<?php echo $cancel; ?>';" class="button"><?php echo $button_cancel; ?></a></div>

satırını bulup üstüne ekleyiniz

PHP Kod:
  <a onclick="window.open('<?php echo $sozlesme; ?>');" class="button">Mesafeli Satış Sözleşmesi</a>
	  <a onclick="window.open('<?php echo $onbilgilendirme; ?>');" class="button">Ön Bilgilendirme Formu</a>



Umarım anlatımda atladığım bir kısım yoktur Smile Kolay gelsin.

Sayfa: 1 2 3 4
Referans URL