dış ödeme ağ geçidi ile e-ticaret stok yönetimi

4 Cevap php

Bu soru this one benzer ama bir farkla (yani eski soru için kabul cevabı aşağıdaki senaryoda geçerli değildir)

i bilet (PHP / MySQL) satan bir site var. Ben sadece bir bilet sol olduğunu varsayalım:

  • Alıcı A arabasının içinde bilet koyar ve ödeme ağ geçidi sayfasına gider (yani paypal)
  • bilet 5 dakika boyunca kilitli, bu nedenle alıcı B satın alamaz
  • alıcı bir şey yapıyor, açık paypal sayfası ile 5 dakika bekler
  • alıcı B arabasının koyar ve paypal sayfasını gider böylece bilet kilidi
  • alıcı bir başarı ile paypal ödeme işlemi yürütür
  • alıcı B başarı ile paypal ödeme işlemi yürütür

i uzun süre bekleyebilir ama bu daha genel durumda sorunu çözmek sanmıyorum. Ben bunu eğer dahası, bu büyük bir süre için stok öğeleri kilitleme, DoS çeşit yapmak için possibile olacaktır.

Bu senaryo işlemek için en iyi yolu nedir?

4 Cevap

Tüm ödeme ağ geçitleri ödeme referans vb çoğu da CSC/CVV2 onay sonuçları gibi geri gönderme yetkilendirme / kimlik bilgisi, siz (tüccar) nihai söz sahibi böylece kabul edip (örneğin) bildirmek için bir geri gönderme yapacak ödeme ya da değil.

Postback makbuzunda size bilet hala 'kilitli' olup olmadığını kontrol edin ve daha sonra ödemeyi iptal etmek için ödeme ağ geçidi üzerinden bir ödeme tersine sorunu olmasa gerekir. Daha sonra bir mesaj görüntülemek için gereken 'üzgünüm, zaman aşımı lütfen tekrar deneyin aşıldı'

Ağ geçidi bir 'anlık ters' tarzı işlevselliği desteklemiyor, o zaman en azından fonlar aslında müşterilerin kartından çekilen asla sayede 'boşluk' işlevselliği çeşit destekleyecek ve yetkilendirme tutun genellikle iki gün sonra (otomatik olarak düşüyor , bazı kartlarda daha uzun sürebilir ama). Işlemlerin (umarım küçük) sayısına o zaman aşımı için, bu kabul edilebilir. Zaman aşımı süresi ayarlanabilir, böylece kaç işlemlerin zaman aşımı izleme değer olacaktır.

Bilet artık kilitli Alternatif olarak, eğer, (ve yine, ağ geçidi destekliyorsa) Bir İade ödeme geri göndermek.

Birisi o 5 dakika gibi onun arabası koyar eğer bilet engellemek gerektiğini düşünüyorum. Eğer birkaç diğer müşteriler uzak sürüş sonunda olabilir ...

Sana birisi aslında ödemeyi yapar ve onu satın sürece herkes onun / sepetinize bilet eklemek için izin öneririz. "Üzgünüm Sen Geç ... Bilet Tükendi mısınız!" Gibi Şimdi başkalarının ödeme için devam zaman, sadece bir mesaj yanıp ve bilet kendi arabası çıkarılmalıdır.

Bu şekilde bilet müşterilerden bloke olmayacak ve yine aynı bilet için ödeme yapma iki kişilik senaryo ortaya çıkmayacak.

Nasıl yerine teknik birinin daha sosyal çözümü hakkında? Neden kesinlikle bariz çok uzun beklemek zaman bir bilet kilidi olacağını yapmak değil mi?

Bu bir dış ödeme ağ geçidi giriş sayfasını kullanın ve bunu yapmak için çalışıyoruz ne yapamayacağı olasıdır.

Paypal ve diğer birçok işlemciler doğrudan web servis entegrasyonu yol var. Bu sayfanızda ödeme bilgi toplamak anlamına gelir, bu sunucuya gönderilen ve web hizmeti çağrısı yapmak ve işlemciden hemen bir yanıt almak olur. (PayPal yapar ürünün dediği hatırlamıyorum, ama Payflow Pro adlı olmak ve Verisign satın alındı ​​kullanılır.)

Onlar sepeti yerleştirilir zaman Yani bilet kilit yoktur. Iş akışı olacaktır:

  1. Ödeme bilgilerini toplayın.
  2. Once payment info is posted back to your server: a. Try to lock the tickets - return failure if not available b. On successful lock, process authorization
  3. Başarılı yetkilendirmeye, biletler mevcut havuzun kaldırılır.
  4. Başarısız izne veya hata, bilet kilidi ve diğer kullanıcılar için kullanılabilir.

Kilit zaman aşımı ile uğraşmaya gerek yok. Onlar sadece yeterince geçerli bir ödeme doğrulamak için kilitlenir.

PCI poz önlerken sorunu çözme konusunda sormadı. Muhtemelen isteyeceğiz beri:

Kendi sayfasında ödeme bilgi toplama gömmek için izin orada işlemciler vardır. Eğer sunucu bir kart numarası alır asla böylece bir kart numarası yerine bir "belirteç" elde etmek için izin bazı vardır. Belirteç sonra sunucu tarafı web hizmeti çağrısı kullanılabilir. Sen neye ihtiyacınız olsun ve kart numaralarını aldıktan etrafında PCI sorunları ile uğraşmak zorunda değilsiniz.