Geri

VibeFox PayU India for PrestaShop — Yardım

Gereksinimler

PrestaShop: 8.0 ile 9.x.

PHP: 8.0 veya üzeri. Modül, daha eski PHP sürümlerine kurulmayı reddeder.

Para birimi: Hint Rupisi (INR). PayU India yalnızca rupi cinsinden tahsilat yapar. Diğer para birimlerindeki sepetler için ödeme yöntemi ödeme sayfasında gizlenir.

Telefon numarası: PayU her ödeme için bir telefon numarası ister. Ödeme sayfanızda adresin telefon alanını zorunlu yapın veya en azından görünür hale getirin.

PayU India hesabı: PayU Dashboard > Payment Gateway > Key Salt Details bölümünden Merchant Key ve Merchant Salt (v1) bilgilerine ihtiyacınız var. Test çiftini görmek için paneli Test Mode'a alın. Salt v2 değil, Salt v1 kullanın.

Mağazanız için internet erişimi: isteğe bağlı webhook için gereklidir. Bu olmadan siparişler, müşteri PayU'dan döndüğünde onaylanır.

VibeFox lisans anahtarı: vibefox.net üzerinden satın alınır. Bir anahtar bir alan adında çalışır.

Kurulum

1. Yönetim panelinde Modules > Module Manager bölümüne gidin ve Upload a module düğmesine tıklayın. Modülün ZIP dosyasını seçin.

2. Yükleme tamamlandığında Configure düğmesine tıklayın veya daha sonra modül listesinde VibeFox PayU India Payment Gateway öğesini bulup Configure düğmesine tıklayın.

3. Configure sayfasının üstündeki lisans bloğunda License key alanına VibeFox lisans anahtarınızı girin ve Activate düğmesine tıklayın (bkz. Lisans anahtarı).

4. Test Merchant Key ve Salt ile Live Merchant Key ve Salt bilgilerini girin (bkz. Yapılandırma).

5. Önerilir: PayU Dashboard > Webhooks bölümünde, başarılı ve başarısız ödemeler için Configure sayfasında gösterilen webhook URL'sini ekleyin.

6. Mode seçin, Enable/Disable seçeneğini açın ve Save düğmesine tıklayın. Test modunda bir ödeme deneyin, ardından canlı moda geçin.

Kurulumda modül iki sipariş durumu oluşturur: Awaiting PayU India payment ve PayU India payment on hold. PrestaShop, tüm para birimleri, ülkeler ve müşteri grupları için yeni bir ödeme modülü sunar. Bunları Payment > Preferences bölümünden sınırlayabilirsiniz; INR para biriminin modül için izinli kalması gerekir.

Yapılandırma

Tüm ayarlar modül sayfasındadır: Modules > Module Manager > VibeFox PayU India Payment Gateway > Configure. Her bölümün kendi Save düğmesi vardır ve bu düğme tüm sayfayı kaydeder. Alanların üstünde sayfa, geçerli modun anahtarı veya salt değeri eksikse sizi uyarır, Test modundayken Test mode is active: payments go to test.payu.in and no real money is charged. mesajını gösterir ve mağazanızın varsayılan para birimi INR değilse bir hata gösterir (bu durumda ağ geçidi ödeme sayfasında gizlenir).

Kaydettiğinizde anahtarlardan ve salt değerlerinden boşluklar ve satır sonları kaldırılır; çünkü yapıştırılmış bir boşluk içeren salt, PayU'nun her yanıtının doğrulamada başarısız olmasına neden olur.

PayU India

Enable/Disable: Enable PayU India Payment Gateway ödeme yöntemini açar veya kapatır. Varsayılan: kapalı. Geçerli modun anahtarı ve salt değeri olmadan açarsanız, sayfa kaydettikten sonra sizi uyarır.

Title: müşterinin ödeme sayfasında gördüğü ödeme yönteminin başlığı. Siparişte kaydedilen ödeme yöntemi adı da budur. Varsayılan: PayU India. Zorunlu.

Description: müşterinin ödeme sayfasında gördüğü ödeme yönteminin açıklaması. Varsayılan: Pay securely via Credit/Debit Card, NetBanking, UPI, or Wallets through PayU.

API kimlik bilgileri

Merchant Key ve Merchant Salt (v1) bilgilerini PayU Dashboard > Payment Gateway > Key Salt Details bölümünden kopyalayın. Test çiftini almak için paneli Test Mode'a alın. Bölümde Open the PayU Dashboard bağlantısı vardır.

Mode: yeni ödemelerin kullandığı PayU ortamı.

Test (Sandbox): test anahtarını ve salt değerini ile test.payu.in adresini kullanır. Gerçek para tahsil edilmez. Ödeme sayfasında açıklamanın ardından TEST MODE: no real money is charged. (varsayılan) yazısı görünür.
Live (Production): canlı anahtarı ve salt değerini ile secure.payu.in adresini kullanır.

Zaten başlatılmış ödemeler, başlatıldıkları modu korur: sonuçları ve iadeleri, modu değiştirmenizden sonra bile o modun anahtarı ve salt değeriyle kontrol edilir ve gönderilir.

Live Merchant Key: canlı PayU Merchant Key'iniz.

Live Merchant Salt (v1): canlı PayU Merchant Salt (v1) değeriniz. İstekleri imzalar ve PayU yanıtlarını doğrular. Gizli tutun.

Test Merchant Key: PayU test Merchant Key'iniz, yalnızca Test modunda kullanılır.

Test Merchant Salt (v1): PayU test Merchant Salt (v1) değeriniz, yalnızca Test modunda kullanılır.

Kaydedilmiş salt değerleri bir daha gösterilmez. Alan boş kalır ve Saved — leave empty to keep it. yazısını gösterir. Yalnızca değiştirmek istediğinizde yeni bir değer girin.

Clear saved salts: bir salt değerini işaretleyip Save düğmesine tıklayarak kaldırın. Boş bir alan, kayıtlı değeri korur.

Dönüş ve webhook URL'leri

Return URL: https://your-shop/module/wcp_payu_india_payment/return biçimindedir; başında /en/ gibi bir dil kodu olabilir. Her ödemede otomatik olarak PayU'ya gönderilir; yapılandırılması gereken bir şey yoktur.

Webhook URL: https://your-shop/module/wcp_payu_india_payment/webhook biçimindedir; dil kodu içerebilir. İsteğe bağlıdır ama önerilir: müşteri dönmeden tarayıcıyı kapatsa bile ödemeleri onaylar. PayU Dashboard > Webhooks bölümüne, başarılı ve başarısız ödemeler için ekleyin. URL'yi Configure sayfasında gösterildiği gibi tam olarak kopyalayın. İnternetten erişilebilir olmalıdır (temel kimlik doğrulama veya güvenlik duvarı engeli olmamalıdır). Mağazanın bakım modu ve ülke kısıtlamaları buna engel olmaz.

Webhook, müşterinin dönüşüyle aynı imzalı sonucu taşır. Geçerli bir PayU hash değeri olmayan webhook'lar reddedilir.

Gelişmiş

Verify Payment: her başarılı ödemeyi PayU verify_payment API'si ile ikinci kez kontrol eder. Önerilir. Kontrol tamamlanamazsa sipariş ödendi olarak işaretlenmek yerine beklemeye alınır. Varsayılan: açık.

Enable Logging: sorun gidermek için ağ geçidi olaylarını logs/payu_p_debug.log.php dosyasına, modül klasörüne kaydeder. Dosya web üzerinden açılamaz. Hatalar ve uyarılar her zaman kaydedilir; bu seçenek, her ödeme formu ve her PayU sonucu gibi diğer olayları da ekler. Anahtarlar, salt değerleri ve müşterilerin kişisel verileri hiçbir zaman kaydedilmez. Varsayılan: kapalı.

Log: günlüğün boyutunu ve en son kayıtlarını gösterir. Temizlemek için Clear log düğmesine tıklayın.

Delete data on uninstall: modül kaldırıldığında modül ayarlarını ve günlükleri siler. Siparişler ve PayU işlem kayıtları hiçbir zaman silinmez. Varsayılan: kapalı.

Ödeme sayfası

Ödeme aşamasında müşteri ödeme yöntemini seçer (varsayılan olarak PayU India) ve onaylar. Fatura adresinde de teslimat adresinde de sabit veya cep telefonu numarası yoksa, müşteri ödeme sayfasında kalır ve PayU India requires a phone number. Please enter your phone number and try again. mesajını görür. Aksi halde kısa bir sayfa görür: Thank you for your order. You will be redirected to PayU to complete your payment. Bu sayfa, sepet toplamı için imzalı bir ödeme isteğini PayU'nun barındırılan ödeme sayfasına gönderir. Tarayıcı kendiliğinden devam etmezse sayfada Pay with PayU düğmesi ve Back to checkout düğmesi bulunur. PayU sayfasında müşteri kartla, NetBanking, UPI veya cüzdanla öder. Bu noktada henüz bir sipariş yoktur.

Her ödeme denemesi, sepet numarasıyla başlayan kendi PayU işlem kimliğini alır ve tutarı ve modu ile birlikte kaydedilir. Aynı sepetin daha önce açılmış ve hâlâ açık olan bir ödeme sayfasında yapılan ödeme yine kabul edilir. Zaten siparişi olan bir sepet asla yeni bir ödeme formu almaz; bu nedenle tarayıcının Geri düğmesi ikinci bir ödemeyi başlatamaz.

PayU, sonucu müşteriyle birlikte ve yapılandırılmışsa webhook ile geri gönderir. Bir sonuç, yalnızca ödemenin başlatıldığı modun anahtarı ve salt değeriyle oluşturulmuş geçerli bir PayU hash değeri ile ve yalnızca o sepet için verilmiş bir işlem kimliği için kabul edilir. Verify Payment açıksa, başarılı bir sonuç ayrıca PayU verify_payment API'si ile kontrol edilir. Ödenen tutar, denemenin tutarına ve sepet toplamına INR cinsinden paisa kuruşuna kadar eşit olmalıdır. Sipariş, PayU bunu bu şekilde onayladıktan sonra ödendi olarak işaretlenir. Modül şu PayU sonuçlarını işler:

success: ödeme yapıldı. Tüm kontroller geçerse sipariş ödendi olarak oluşturulur, aksi halde beklemeye alınır.
pending: bir UPI veya NetBanking ödemesi hâlâ sürüyor. Sipariş Awaiting PayU India payment durumunda oluşturulur; nihai sonuç webhook ile gelir.
failure: ödeme reddedildi veya müşteri tarafından iptal edildi. Sipariş oluşturulmaz ve sepet korunur, böylece müşteri yeniden ödeme yapabilir. Bu ödemeyi bekleyen bir sipariş Payment error durumuna geçer. Ödenmiş siparişler asla değiştirilmez.

Başarılı veya bekleyen bir ödemeden sonra müşteri standart sipariş onay sayfasını görür. Bekleyen bir ödeme, Your PayU payment is pending. The order will be updated as soon as PayU confirms the result — there is no need to pay again. mesajını ekler; beklemedeki bir sipariş Your payment is being reviewed. We will contact you if anything else is needed. mesajını ekler; Payment error veya Canceled durumundaki bir sipariş ise Your PayU payment was not completed. Please contact us about this order. mesajını gösterir.

Başarısız bir ödemeden sonra müşteri şu mesajlarla ödeme sayfasına döner: Payment was not completed. Please try again or choose a different payment method., Payment was cancelled. You may try again. veya sonucun doğrulanamadığı durumda We could not confirm the payment result. If your account was charged, please contact us before paying again. Müşteri döndüğünde sonuç hâlâ işleniyorsa We are confirming your PayU payment. If you completed the payment, your order will be created shortly — please do not pay again. mesajını ve Check again düğmesini içeren bir sayfa gösterilir.

Modül yalnızca INR cinsinden tahsilat yapar ve çoklu para birimi işleme (MCP) özelliğine sahip değildir. Kayıtlı kartlar veya tokenizasyon, abonelikler, sitede yerleşik (seamless) kart formu, taksit (EMI) veya teklif yönetimi ve PayU tek tıkla ödeme özellikleri bulunmaz.

Siparişler ve iadeler

Sipariş durumları

No order yet: müşteri PayU'ya yönlendirildi ve ödeme yapmadı ya da ödeme başarısız oldu veya iptal edildi. Yalnızca sepet vardır.

Payment accepted: ödeme onaylandı. Ödeme, PayU işlem kimliği (mihpayid) ile işlem kimliği olarak kaydedilir ve bir not PayU payment successful. Transaction ID: …, Mode: …, Bank: … gösterir.

Awaiting PayU India payment: bir UPI veya NetBanking ödemesi PayU'da hâlâ beklemededir. PayU onayladığında sipariş Payment accepted durumuna geçer.

PayU India payment on hold: ödenen tutar veya para birimi sepetten farklıdır, verify_payment API'sine ulaşılamadı ya da ödemeyi henüz onaylamadı ya da iptal edilmiş bir sipariş için ödeme geldi. Not nedeni belirtir. PayU Dashboard'da işlemi kontrol edin, ardından siparişi Payment accepted durumuna getirin veya siparişi iptal edip ödemeyi iade edin. Yalnızca doğrulama başarısız olduysa, sonucun bir sonraki iletiminde sipariş otomatik olarak ödenir.

Payment error: bekleyen bir ödeme daha sonra reddedildi veya iptal edildi. Sonradan gelen başarılı bir sonuç yine de siparişi öder.

Refunded: ödenen her şey modül aracılığıyla iade edildi.

PayU, zaten ödenmiş bir sipariş için başka bir başarılı ödeme bildirirse sipariş değiştirilmez ve bir not, mükerrer ödemeyi PayU Dashboard'dan iade etmenizi ister. Başka bir ödeme yöntemiyle sipariş verilmiş bir sepet için yapılan PayU ödemesi bir not alır ve o siparişi ödemez.

PayU India ödeme bloğu

Sipariş sayfasında, PayU işlem kimliği (mihpayid), mağaza işlem kimliği (txnid), ortam, PayU durumu, ödeme modu ve bankası, ödenen tutar ve talep edilen iade tutarı, test ödemeleri için bir Test mode rozeti, iade geçmişi ve modülün notlarını içeren bir PayU India payment bloğu gösterilir. Beklemedeki bir sipariş için ödemeyi kontrol etme hatırlatıcısı gösterilir.

İadeler

PayU India payment bloğunda tutarı girin (henüz iade edilmemiş tutar otomatik doldurulur), isteğe bağlı olarak bir neden yazın ve Refund via PayU düğmesine tıklayın. Refund this amount through PayU? This cannot be undone. sorusunu onaylayın. Tam ve kısmi iadeler desteklenir; tutar sıfırdan büyük olmalı ve PayU'nun tahsil ettiği tutarın kalanını aşmamalıdır. Siparişleri düzenleme yetkisine sahip olmanız gerekir; Modüller sayfalarına erişim gerekmez. İade, ödemenin yapıldığı modun anahtarı ve salt değeriyle PayU iade API'si üzerinden gönderilir; bu nedenle bu kimlik bilgilerinin ayarlanmış olması gerekir. PayU iadeyi reddederse blok, PayU mesajıyla birlikte PayU refund failed: gösterir ve hiçbir iade kaydedilmez.

PayU iadeleri sıraya alır ve eşzamansız olarak tamamlar; müşteri genellikle parayı 5–7 iş günü içinde alır. İade geçmişi ve notlar tutarı, PayU istek kimliğini ve nedeni gösterir. Tam bir iade siparişi Refunded durumuna getirir; kısmi bir iade durumu değiştirmez. İadeler, PayU ödemenin işlem kimliğini bildirdikten sonra kullanılabilir. Modül iade durumunu daha sonra kontrol etmez ve iade belgesi (credit slip) oluşturmaz. Sipariş sayfasındaki PrestaShop'un standart iade düğmeleri PayU üzerinden para geri göndermez.

Lisans anahtarı

Modül, vibefox.net üzerinden alınan bir VibeFox lisans anahtarıyla çalışır. Lisans bloğu License — VibeFox PayU India Payment Gateway, Modules > Module Manager > VibeFox PayU India Payment Gateway > Configure sayfasında ayarların üstünde yer alan ilk bloktur. Anahtarı License key alanına girin ve Activate düğmesine tıklayın. Bundan sonra blok, anahtarı maskelenmiş olarak, durumu (örneğin lisansın geçerli olduğu tarihi ve alan adınızı) ve şu düğmeleri gösterir: durumu yeniden kontrol etmek için Check now, başka bir anahtar girmek için Change key ve anahtarı bu mağazadan kaldırmak için Remove key. Bunların altında Product: presta-payment-payu-india satırı ve vibefox.net hesabınızı açan Manage licenses and domains in your account bağlantısı bulunur. Anahtarı yalnızca modül için Configure yetkisine sahip çalışanlar değiştirebilir. Bloğun metinleri back office dilini izler (İngilizce ve Rusça dahildir).

Anahtar kabul edilmezse blok nedenini gösterir; örneğin Key not found, This key belongs to another product, Domain limit reached veya License expired on ve bir tarih. Mağaza adresi değiştikten sonra veya hesabınızda bir alan adı yuvasını serbest bıraktıktan sonra Check now düğmesine tıklayın. Lisans sunucusuna ulaşılamazsa modül son bilinen durumla çalışmaya devam eder.

Bir anahtar tek bir alan adında çalışır: ana mağazanın alan adında, çoklu mağaza kurulumunda da. Anahtarı mağazadan kaldırmak alan adı yuvasını serbest bırakmaz. Yuvayı vibefox.net hesabınızdan serbest bırakın.

Etkin bir anahtar olmadan PayU India, ödeme sayfasında müşterilere gösterilmez. Yine de bir ödeme başlatılırsa müşteri This payment method is not available. Please choose another one. mesajını görür. PrestaShop vitrini back office'e giriş yaptığınızı bilmez; bu nedenle ödeme yöntemi sizin için de gizlenir: modülü bir anahtar satın almadan önce kurabilirsiniz, ancak ödeme sayfasında test edemezsiniz. Modules > Module Manager içinde Alerts sekmesinde bir hatırlatma görünür. Mevcut siparişler etkilenmez: zaten başlatılmış ödemeler bildirimlerle onaylanmaya devam eder ve iadeler çalışır.

Bir lisans sona erdiğinde modül çalışmaya devam eder, ancak güncellemeler ve destek için yenileme gerekir. Durum, back office'te çalışırken otomatik olarak yeniden kontrol edilir: anahtar girildikten sonraki ilk 14 gün her gün bir kez, sonra haftada bir kez. Cron işi gerekmez. Modülü kaldırmak veya sıfırlamak her zaman lisans anahtarını ve lisans durumunu siler.

Sorun giderme

PayU India ödeme sayfasında görünmüyor: lisansın etkin olduğunu, Enable/Disable seçeneğinin açık olduğunu ve seçilen Mode için anahtar ve salt değerlerinin girildiğini kontrol edin. Sepet para biriminin INR olduğunu ve modülün bu para birimi, müşterinin ülkesi ve grubu için Payment > Preferences bölümünde izinli olduğunu kontrol edin. Configure sayfası eksik kimlik bilgileri ve INR dışındaki bir mağaza para birimi için uyarı gösterir.

Ödeme gerçekleşti ama sipariş oluşturulmadı: müşteri mağazaya geri dönmedi ve hiçbir webhook gelmedi. Configure sayfasındaki webhook URL'sini PayU Dashboard > Webhooks bölümüne, başarılı ve başarısız ödemeler için ekleyin ve internetten erişilebilir olduğundan emin olun.

Webhook invalid_signature yanıtı veriyor: PayU hash değeri eşleşmedi. Ödemenin modunun anahtarının ve salt değerinin doğru olduğunu ve Salt v2 değil, Salt v1 kullanıldığını kontrol edin. Test salt değeriyle imzalanmış bir canlı ödeme sonucu veya tersi de reddedilir. Hiçbir şey değişmez.

Webhook not_configured yanıtı veriyor: ödemenin başlatıldığı modun anahtarı veya salt değeri eksik. Bunları girin; PayU webhook'u yeniden dener.

Webhook verify_unavailable yanıtı veriyor: verify_payment API'si ödemeyi henüz onaylayamadı. Sipariş beklemede kalır ve bir sonraki iletim yeniden doğrulama yapar.

Webhook busy veya retry yanıtı veriyor: aynı sepetin müşteri dönüşü tam o anda işleniyordu ya da sipariş oluşturulamadı (örneğin modül devre dışı). PayU webhook'u yeniden dener. Neden günlüğe yazılır.

Webhook ignored_unknown_txnid yanıtı veriyor: işlem bu mağaza tarafından başlatılmadı; örneğin aynı PayU hesabını kullanan başka bir mağaza. Hiçbir şey değişmez.

Müşteri PayU India requires a phone number mesajını görüyor: ödeme sayfasında adresin telefon alanını zorunlu veya görünür yapın. Önce fatura adresi, sonra teslimat adresi kullanılır.

Sipariş PayU India payment on hold durumunda: PayU India payment bloğundaki notları okuyun. Neden bir tutar veya para birimi uyuşmazlığı, başarısız veya bekleyen bir doğrulama ya da iptal edilmiş bir sipariş için ödeme olabilir.

İade başarısız oluyor: PayU transaction ID not found for this order. siparişin henüz bir PayU ödemesi olmadığı anlamına gelir. This payment was made in Test mode, but the Merchant Key/Salt of that mode are not set. (veya Live mode) bu modun kimlik bilgilerini önce girmeniz gerektiği anlamına gelir. Invalid refund amount: at most … INR can be refunded. tutarın ödemenin kalanından fazla olduğu anlamına gelir.

Günlükte çok az bilgi var: hatalar ve uyarılar her zaman yazılır; her ödeme formunu ve her PayU sonucunu da görmek için Enable Logging seçeneğini açın.

Geliştirici kancası (hook): actionPayuPRequestFields, ödeme isteği alanlarını imzalanmadan önce değiştirir. Anahtar, işlem kimliği, tutar ve dönüş URL'leri bu yolla değiştirilemez.

Kaldırma

Modules > Module Manager bölümüne gidin, VibeFox PayU India Payment Gateway satırının yanındaki menüyü açın ve Uninstall seçeneğini seçin. Bu modülün lisans anahtarı ve lisans durumu her zaman kaldırılır. Delete data on uninstall açıksa modül ayarları ve günlük silinir. Kapalıysa, daha sonraki bir yeniden kurulum için tüm ayarlar korunur. PayU işlem kayıtları ve iade talepleri ile Awaiting PayU India payment ve PayU India payment on hold sipariş durumları her zaman korunur; böylece daha önce ödenmiş siparişler yeniden kurulumdan sonra da iade edilebilir. Mevcut siparişler ödeme notlarını ve PayU işlem kimliklerini korur.

PayU, ilgili sahibinin ticari markasıdır. Bu modül PayU ile bağlantılı değildir ve PayU tarafından onaylanmamıştır.