2016-03-27 15 views
0

Sunucu entegrasyon yöntemini kullanarak SagePay ile entegre oluyoruz.20 saniyeden uzun sürebilir posta bildirimlerini işleme

SagePay'den POST bildirimi tarafımıza bir PHP betiğine dönüyor.

PHP geri çağırma aracımızın kendisi, harici bir web servisinde çeşitli yöntemleri çağırmalıdır.

Bazen ağ gecikmesi nedeniyle, geri arama komut dosyanızın çalışması 20 saniyeden uzun sürüyor. SagePay bundan hoşlanmaz ve yeni bir bildirim POST'u yeniden yayınlar. Bu, nihayetinde ikiden fazla veya daha fazla, yani idealden daha az olan (çoklu ödeme tamamlanmış e-postalar vb. Gönderir) geri çağırma ile sonuçlanır. Temel olarak SagePay, 20 saniyeden daha kısa sürede yanıt alana kadar bildirimleri yayınlamaya devam eder.

SagePay'in en son POST isteğini, önceki bildirimler hakkında 'unutmadıklarını' göz ardı edemeyiz ve en son yanıtı almaya çalışamayız. Ağ gecikmesi hakkında da hiçbir şey yapamıyoruz.

Böyle bir durumda ne yapılması gerektiği konusunda herhangi bir tavsiyesi var mı?

cevap

1

Bildirim çağrınızın yapabileceği ilk şey işlem tablosunu kontrol etmektir ve daha önce güncelleştirilmemişse, işlem tablosunu mesajla güncelleyin ve iş sürecinize devam edin veya tekrarlanan çağrıyı atın. Sagepay'in yalnızca en son yayınlanan Bildirim çağrısı ile ilgili bir yanıtı kabul ettiğinin farkında değildim ve bu durum entegrasyon kılavuzunda belirtilmedi. Bununla birlikte, yine de hızlandırmayı hedeflemeniz gerekir. E-postalarınızı her dakika cron/planlı bir işe nasıl gönderebileceğinizi düşünün, böylece müşterileriniz üçüncü tarafların yanıt vermesini beklemez. Bildirim geri bildirimlerinize e-posta göndermek yerine, daha sonra cron işi tarafından işlenecek bir e-posta_sayısı tablosuna satırlar ekleyebilirsiniz.

+0

Teşekkürler Ian, iletiyi saklamak ve işlemeye devam etmek işe yaramazdı. SagePay web sitesi şunları belirtir: 'Sunucunuz bildirim bildirimine cevap vermiyorsa, başka bir girişimde bulunacağız. Sunucunuz Sage Pay tarafından gönderilen en son bildirim gönderisine yanıt vermelidir. Sage Pay'in daha eskiden bildirim gönderilerine verdiği yanıtlar bunu yok sayar. ' Sonunda, yardımların bir kısmını hızlandırmayı başardık. Web servis çağrılarının SagePay'e 'tamam' dönüp dönmeyeceğini öğrenmek için çalışmasını beklemek zorundayız. – CJD

İlgili konular