VibeFox Paymob for PrestaShop — Yardım
Gereksinimler
PrestaShop: 8.0 ila 9.x.
PHP: 8.0 veya üzeri. Modül, daha eski PHP sürümlerinde kurulmayı reddeder.
Paymob hesabı: desteklenen ülkelerden birinde bir satıcı hesabı: Mısır, Birleşik Arap Emirlikleri, Suudi Arabistan, Umman veya Pakistan. Paymob panelinden dört değere ihtiyacınız vardır: API key, bir online ödeme entegrasyonunun integration ID'si, ödeme sayfasının iFrame ID'si ve HMAC secret.
Para birimi: sepet para birimi, Paymob ülkenizin para birimi olmalıdır: Mısır için EGP, Birleşik Arap Emirlikleri için AED, Suudi Arabistan için SAR, Umman için OMR, Pakistan için PKR. Başka bir para birimiyle ödeme yöntemi ödeme sayfasında gizlenir. Çok para birimli Paymob hesapları desteklenmez.
VibeFox lisans anahtarı: vibefox.net üzerinden satın alınır. Bir anahtar bir alan adında çalışır.
Kurulum
1. Back office'te 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 Paymob Pay modülünü bulup Configure düğmesine tıklayın.
3. Configure sayfasının üst kısmındaki lisans bloğunda License key alanına VibeFox lisans anahtarınızı girin ve Activate düğmesine tıklayın (bkz. Lisans anahtarı).
4. Paymob country seçin ve API key, integration ID, iFrame ID ve HMAC secret değerlerini girin (bkz. Yapılandırma).
5. Paymob panelinde entegrasyonunuzun callback URL'lerini, Configure sayfasında gösterilen adrese ayarlayın (bkz. Callbacks).
6. Enable/Disable seçeneğini açın ve Save düğmesine tıklayın. Bir Paymob test entegrasyonunun ID'si ile test ödemesi yapın, ardından canlı entegrasyonunuzun ID'sini girin.
Kurulumda modül iki sipariş durumu oluşturur: Awaiting Paymob payment ve Paymob payment on hold. PrestaShop, yeni bir ödeme modülünü varsayılan olarak tüm para birimleri, ülkeler ve müşteri grupları için etkinleştirir. Bunları Payment > Preferences bölümünden sınırlayabilirsiniz. Mağazanızda daha sonra etkinleştirdiğiniz bir ülke, bu modül için orada da işaretlenmelidir.
Yapılandırma
Tüm ayarlar modül sayfasındadır: Modules > Module Manager > VibeFox Paymob Pay > 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, dört Paymob değerinden biri eksik olduğunda (o zamana kadar Paymob ödeme sayfasında gizlidir) ve seçilen Paymob ülkesi mağazanın varsayılan para birimini kabul etmediğinde sizi uyarır. Callbacks kutusu, Copy düğmesiyle callback URL'sini ve seçilen ülkenin Paymob paneline bir bağlantıyı gösterir.
Paymob
Enable/Disable: Enable Paymob ödeme yöntemini açar veya kapatır. Varsayılan: kapalı.
Title: müşterilerin ödeme sayfasında gördüğü ödeme yöntemi adı. Siparişte kaydedilen ödeme yöntemi adı da budur. Varsayılan: Paymob.
Description: ödeme sayfasında ödeme yönteminin altında gösterilen metin. Varsayılan: Pay securely by card or mobile wallet on the Paymob payment page. Hiç metin göstermemek için boş bırakın.
Paymob hesabı
Tüm değerler Paymob satıcı panelinizdedir. Ayrı bir test modu yoktur: test ödemeleri için test modundaki bir entegrasyonun integration ID'sini girin. Başka hiçbir ayar değişmez.
Paymob country: Paymob hesabınızın ülkesi. API ve ödeme sayfası sunucusunu seçer; sepet para birimi bu ülkenin para birimi olmalıdır. Varsayılan: Egypt.
API key: Paymob panelinde Settings > Account info > API Key altında.
Integration ID: Paymob panelinde Developers > Payment Integrations altında: kart veya cüzdan için online entegrasyonun sayısal ID'si. Paymob sayfasında sunulan ödeme yöntemleri bu entegrasyonun yöntemleridir.
iFrame ID: Paymob panelinde Developers > iframes altında: ödeme iFrame'inin sayısal ID'si.
HMAC secret: Paymob panelinde Settings > Account info > HMAC altında. Zorunlu: siparişler yalnızca bu gizli anahtarla imzalanmış geri çağrılardan ödenmiş olarak oluşturulur.
Integration ID ve iFrame ID yalnızca rakam içermelidir. Boşluklar kaldırılır. Başka herhangi bir değer kaydetme sırasında reddedilir ve must contain digits only — the previous value was kept mesajı gösterilir. Diğer alanlar kaydedilir.
Kaydedilmiş API key ve HMAC secret bir daha asla gösterilmez. Alan boş kalır ve Saved — leave empty to keep it. ifadesini gösterir. Yalnızca değiştirmek istediğinizde yeni bir değer yazın.
Clear saved secrets: API key veya HMAC secret seçeneğini işaretleyin ve kaldırmak için Save düğmesine tıklayın. Boş bir alan, kaydedilmiş değeri korur.
Callbacks
Paymob her işlemi mağazanıza bildirir. Paymob panelinde Developers > Payment Integrations bölümünü açın, entegrasyonunuzu seçin, Edit düğmesine tıklayın ve hem Transaction processed callback hem de Transaction response callback alanlarını Callbacks kutusunda gösterilen URL'ye ayarlayın. Kullanıcı dostu URL'lerle şöyle görünür: https://your-shop/module/wcp_paymob_pay/callback, belki /en/ gibi bir dil koduyla. URL, mağazanın varsayılan dilinde oluşturulur. Copy düğmesiyle kopyalayın. Kullandığınız her entegrasyonda, test entegrasyonu dahil, URL'leri ayarlayın.
Transaction processed callback, Paymob sunucusu tarafından gönderilir. Transaction response callback, müşteriyi mağazanıza geri getirir. İkisi de HMAC secret'ınızla imzalanır ve modül tarafından doğrulanır. Geçerli imzası olmayan geri çağrılar reddedilir ve hiçbir şeyi değiştirmez. Sunucu geri çağrısı gecikirse veya kaybolursa, imzalı bir müşteri dönüşü de ödemeyi onaylar. Sunucu geri çağrısı mağaza bakım modundayken de çalışır ve mağazanızın ülke kısıtlamasıyla engellenmez.
Gelişmiş
Debug log: ödeme adımlarını ve geri çağrıları modül klasöründeki logs/paymob_p_debug.log.php dosyasına yazar. Dosya web üzerinden açılamaz. Hatalar ve reddedilen geri çağrılar, kapalı olsa bile her zaman kaydedilir. Anahtarlar, belirteçler ve müşteri verileri hiçbir zaman yazılmaz. Varsayılan: kapalı.
Log: günlüğün boyutunu ve en son kayıtlarını gösterir. Boşaltmak için Clear log düğmesine tıklayın.
Clean uninstall: açıksa modül kaldırıldığında modül ayarları ve günlükler silinir. Siparişler için kaydedilen Paymob kimlikleri (ödeme denemeleri) ve sipariş durumları her zaman korunur. Varsayılan: kapalı.
Ödeme
Ödeme adımında müşteri ödeme yöntemini seçer (varsayılan olarak Paymob) ve onaylar. Modül, sepet para biriminde sepet toplamı için yeni bir Paymob siparişi kaydeder, müşterinin adını, e-postasını, telefonunu ve fatura adresini Paymob'a iletir ve müşteriyi ülkenizin Paymob ödeme sayfasına gönderir. Orada müşteri, entegrasyonunuzdaki yöntemlerden biriyle, örneğin kartla veya mobil cüzdanla öder. Bu noktada henüz bir sipariş yoktur.
Ödemeden sonra müşteri mağazanıza döner. Sipariş, yalnızca Paymob ödemeyi imzalı bir işlemle onayladıktan sonra ödenmiş olarak işaretlenir. Ardından sipariş oluşturulur ve müşteri standart sipariş onay sayfasını görür. Bekleyen bir ödeme (örneğin nakit veya kiosk) ya da yetkilendirilmiş bir ödeme de bekleme durumunda bir sipariş oluşturur ve onay sayfasına yönlendirir.
Sipariş aynı anda Paymob geri çağrısıyla onaylanıyorsa, müşteri şu metni içeren bir sayfa görür: Paymob accepted your payment and we are confirming it. You will receive an e-mail as soon as your order is confirmed — there is no need to pay again. Bekleyen bir ödeme için metin şudur: Your Paymob payment is pending (for example a cash or kiosk payment). Complete it as Paymob instructed you: your order is confirmed as soon as Paymob reports the payment. Sayfada bir Check again düğmesi ve bir Back to checkout düğmesi bulunur.
Ödeme reddedilirse müşteri aynı sepetle ödeme sayfasına döner ve Your Paymob payment was not completed. Please try again or choose another payment method. mesajını görür. Her yeni deneme kendi Paymob siparişini oluşturur, bu nedenle müşteri sepeti yeniden ödeyebilir. Paymob'dan gelen yanıt doğrulanamazsa müşteri We could not verify the response from Paymob. If you were charged, your order will be updated as soon as Paymob confirms the payment. mesajını görür.
Paymob ödemeyi başlatamazsa müşteri ödeme sayfasında kısa bir mesajla kalır, örneğin Paymob could not start the payment. Please check your billing details and try again, or choose another payment method. veya Could not connect to Paymob. Please try again in a moment. Teknik neden günlüğe yazılır.
Modül, Paymob sayfasında tek seferlik ödemeleri kabul eder. Kayıtlı kart, abonelik, sitenizde gömülü kart formu veya back office'ten iade yoktur.
Siparişler
Sipariş durumları
No order yet: müşteri Paymob'a yönlendirildi ve ödeme yapmadı, ödeme reddedildi veya Paymob henüz ödemeyi onaylamadı. Yalnızca sepet mevcuttur.
Payment accepted: Paymob ödemeyi onayladı. Ödeme, Paymob işlem kimliğiyle işlem kimliği olarak kaydedilir ve bir not işlemi, tutarı ve kart türünü son dört hanesiyle gösterir.
Awaiting Paymob payment: ödeme Paymob'da beklemededir, örneğin nakit veya kiosk ödemesi. Paymob ödemeyi onayladığında sipariş Payment accepted durumuna geçer.
Paymob payment on hold: Paymob tutarı yalnızca yetkilendirdi ve tahsil etmedi (Paymob panelinde tahsil edin; tahsilat geri çağrısı geldiğinde sipariş Payment accepted durumuna geçer); veya ödenen tutar ya da para birimi sepetten farklı (örneğin ödeme başladıktan sonra sepet değiştirildi); veya iptal edilmiş bir sipariş için ödeme geldi. Not nedeni açıklar. Siparişi kontrol edin ve tamamlayın ya da Paymob panelinde ödemeyi iade edin.
Zaten ödenmiş bir sipariş için ikinci bir başarılı ödeme gelirse sipariş değişmez. Bir not, mükerrer ödemeyi Paymob panelinde iade etmenizi ister. Daha önce ödenmiş iptal edilmiş bir sipariş veya iade edilmiş bir sipariş için gelen ödeme yalnızca bir not ekler: sipariş yeniden açılmaz. Henüz ödenmemiş bir sipariş için reddedilen ödeme yalnızca bir not ekler.
Paymob ödeme bloğu
Sipariş sayfası, siparişin her Paymob denemesini içeren bir Paymob payment bloğu gösterir: Paymob siparişi, satıcı sipariş numarası ve ülke, Paymob işlem kimliği, durum, istenen tutar, kartla Paymob'un bildirdiği tutar ve Paymob mesajı. Bunların altında bu sipariş için modülün Notes notları bulunur.
İadeler
Back office'ten iadeler desteklenmez. Ödemeyi Paymob panelinde iade edin veya iptal edin. Paymob bir iade veya iptal bildirdiğinde siparişe bir not eklenir ve sipariş durumu değişmez. Siparişi manuel olarak güncelleyin, örneğin durumunu veya bir iade faturasını.
Lisans anahtarı
Modül, vibefox.net üzerinden alınan bir VibeFox lisans anahtarıyla çalışır. License — VibeFox Paymob Pay lisans bloğu, Modules > Module Manager > VibeFox Paymob Pay > Configure sayfasında ayarların üstündeki ilk bloktur. Anahtarı License key alanına girin ve Activate düğmesine tıklayın. Bundan sonra blokta anahtar maskeli olarak, durum (örneğin lisansın geçerli olduğu tarih ve alan adınız) ile birlikte şu düğmeler görünür: 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-paymob 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 izni olan personel değiştirebilir. Bloktaki metinler 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 bir tarihle birlikte License expired on. Mağaza adresi değiştikten sonra ya da 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 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 Paymob, ö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 bölümünde Alerts sekmesinde bir hatırlatma görünür. Mevcut siparişler etkilenmez: zaten başlatılmış ödemeler yine onaylanır.
Bir lisansın süresi dolduğunda 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 boyunca günde bir kez, ardından haftada bir. Cron işi gerekmez. Modülü kaldırmak veya sıfırlamak her zaman lisans anahtarını ve lisans durumunu siler.
Sorun giderme
Paymob ödeme sayfasında görünmüyor: lisansın etkin olduğunu, Enable/Disable seçeneğinin açık olduğunu, dört değerin (API key, integration ID, iFrame ID, HMAC secret) doldurulduğunu ve sepet para biriminin seçili Paymob country para birimi olduğunu kontrol edin. Ayarlar sayfası bir şey eksik olduğunda uyarı gösterir. Payment > Preferences bölümünde modülün sepet para birimi, müşterinin ülkesi ve müşterinin grubu için izinli olduğunu kontrol edin.
Ödeme başarılı oldu ama sipariş oluşturulmadı: geri çağrılar mağazanıza ulaşmıyor. Kullandığınız entegrasyonun Transaction processed callback ve Transaction response callback alanlarının tam olarak Callbacks kutusunda gösterilen URL olduğunu ve HMAC secret değerinin aynı Paymob hesabına ait olduğunu kontrol edin. Reddedilen geri çağrılar, Debug log kapalı olsa bile günlüğe uyarı olarak yazılır. Modül sayfasındaki Log alanına bakın.
Geri çağrı Invalid signature yanıtı veriyor: ayarlardaki HMAC secret Paymob hesabıyla eşleşmiyor veya başka bir ülkenin hesabı seçili. HMAC secret'ı yeniden kopyalayın.
Geri çağrı Not configured yanıtı veriyor: HMAC secret boş. Gizli anahtarı girin; Paymob geri çağrıyı yeniden deneyecek.
Geri çağrı locked veya retry yanıtı veriyor: sipariş aynı anda başka bir istek tarafından güncelleniyordu, örneğin müşteri dönüşü, veya sipariş oluşturulamadı (örneğin modül devre dışı). Paymob geri çağrıyı yeniden deneyecek. Neden günlüğe yazılır.
Geri çağrı URL'sini tarayıcıda açmak could not verify mesajıyla ödeme sayfasına götürüyor: bu normaldir. URL yalnızca Paymob'dan gelen imzalı istekleri kabul eder.
Müşteri Paymob'u seçerken hata görüyor: Debug log seçeneğini açın ve günlüğe bakın. Paymob payments are temporarily unavailable yanlış bir API key veya eksik bir değer anlamına gelir. Paymob could not start the payment, Paymob'un isteği reddettiği anlamına gelir; örneğin yanlış bir integration ID veya eksik fatura bilgileri nedeniyle. This order cannot be paid with Paymob sipariş toplamının sıfır olduğu anlamına gelir. Paymob does not accept payments in ve ardından gelen bir para birimi, sepet para biriminin seçili Paymob ülkesinin para birimi olmadığı anlamına gelir.
Ödemeden sonra sipariş Paymob payment on hold veya Awaiting Paymob payment durumunda: Paymob payment bloğundaki notları okuyun. Ödeme beklemededir (nakit veya kiosk), işlem yalnızca yetkilendirilmiştir (Paymob panelinde tahsil edin), tutar veya para birimi eşleşmedi ya da ödeme sipariş iptal edildikten sonra geldi.
Test ödemeleri: Integration ID alanına bir Paymob test entegrasyonunun ID'sini girin ve callback URL'lerini bu entegrasyonda ayarlayın. Gerçek ödemeler için canlı entegrasyonunuzun ID'sini yeniden girin.
Kaldırma
Modules > Module Manager bölümüne gidin, VibeFox Paymob Pay 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. Clean uninstall açıksa modül ayarları ve günlük silinir. Kapalıysa tüm ayarlar sonraki bir yeniden kurulum için saklanır. Siparişlerin Paymob ödeme denemeleri ve Awaiting Paymob payment ile Paymob payment on hold sipariş durumları her zaman korunur. Mevcut siparişler ödeme notlarını, işlem kimliklerini ve Paymob kimliklerini korur.
Paymob, ilgili sahibinin ticari markasıdır. Bu modül Paymob ile bağlantılı değildir ve Paymob tarafından onaylanmamıştır.
