Kart Saklama ve Tekrarlı Ödeme Akışı

A. Bayilerimiz, Moka üzerinde kendi müşterilerinin kartlarını saklayabilirler ve bu kartlardan 3D veya Non-3D olarak, istedikleri zaman çekim yapabilirler.

B. Bunun haricinde, düzenli çekim yapmayı Moka da üstlenebilir. Düzenli-Tekrarlı çekim (Recurring Payment), Moka tarafından sadece Non-3D olarak yapılır.


A. Kart Saklamak ve saklı karttan ödeme yapmak için sırasıyla :

  • önce müşteri eklenir (AddCustomer servisimiz ile)
  • Bu müşteriye kart eklenir (AddCard servisimiz ile). Moka, eklenen kart sonucunda "Token" döner ve bayi bu Token' ı kendinde kaydeder.
  • Müşteriyi ve kartı aynı anda tek bir servis ile de ekleyebilir. (AddCustomerWithCard servisimiz ile)
  • Bayi, dilediği zamana normal ödeme servislerimizi (DoDirectPayment veya DoDirectPaymentThreeD) kullanarak Token üzerinden (kart bilgisi göndermeden) ödeme gönderebilir.

B. Tekrarlı ödemeler için sırasıyla :

  • Yukarıdaki gibi, Müşteri ve Kart eklenir. (AddCustomer ve AddCard veya AddCustomerWithCard servislerimiz ile)
  • Bayinin, satışını yapacağı ürünler eklenir. (AddProduct servisimiz ile)
  • ödeme çekimlerinin ne zamanlar yapılacağını gösterir Zaman Programları eklenir. - günlük, haftalık, aylık vs.- (AddSchedule servisimiz ile).
  • Müşteriye satış yapılır. (AddSale servisimiz ile) - Böylelikle hangi müşteriye (Customer), hangi ürün (Product) satıldı, hangi karttan (Card) ne sıklıkta (schedule), ne kadarlık ödeme çekimleri yapılacak bilgisi verilmiş olur.
  • Yapılan satışın ödeme tarihleri geldiğinde, Moka sistemi otomatik olarak bir ödeme çekim adımı oluşturacak (PaymentPlan) ve satışta tanımlanmış karttan çekimi yapacaktır.
  • Günde 2 defa çekim denenecek (öğlen 12 ve akşam 18 de), ve kaç gün boyunca (HowManyTrial) çekim denenmesi istendiği de AddSale servisimiz ile satış oluştururken verilecektir. Bu çekimlerin detayları da PaymentPlanHistory olarak tutulacaktır. Dolayısıyla bir ödeme adımı için, birden fazla History kaydı oluşabilir. örn : ilk deneme başarısız, sonraki deneme başarılı olduğunda 2 adet History kaydı oluşur.
  • Bayi, dilerse, manuel olarak da araya ödeme planları ekleyebilir. Veya Moka, otomatik olarak ödeme planı eklemesin, bütün planları ben ekleyeceğim diyebilir. (AddPaymentPlan servisimiz ile)
  • Bayi, istediği anda, tek bir satışın ödeme adımlarının listesini (GetPaymentPlanList), bütün satışlarının ödeme adımlarının raporunu (GetPaymentPlanReport) veya ödeme adımlarına ait tarihçelerin listesini (GetPaymentPlanHistoryList) yine servislerimiz aracılığıyla çekebilir.
  • Diğer bir seçenek olarak da, her bir ödeme çekimi denemesi yapıldığında (saat 12 ve 18' de), bayinin Moka'ya daha önceden bildirmiş olduğu URL' ye (RecurringReturnURL), çekimle ilgili alanlar POST atılabilir. URL 'ye atılan POST içinde şu alanlar yer alır :

HashInfo :  DealerCode + Username + Password + PostToken alanları birleştirilip SHA256 ile hash' lenir ve HashInfo alanıyla kıyaslanır. Aynıysa, bu POST, Moka' dan gelmiş demektir.

PostToken :  Her bir çekim denemesi için Moka' nın ürettiği GUID değerdir. Hash elde ederken kullanılır. (yukarıdaki formül ile)

DealerCustomerId :  Çekim yapılan müşterinin Moka sisteminde tanımlı olduğu ID' dir.

CustomerCode :  Çekim yapılan müşterinin Bayinin kendi sisteminde tanımlı olduğu koddur.

DealerSaleId :  Çekimi yapılan satışın Moka sisteminde tanımlı olduğu ID' dir.

SaleCode :  Çekimi yapılan satışın Bayinin kendi sisteminde tanımlı olduğu koddur.

DealerPaymentPlanId :  Satışa ilişkin ödeme adımı ID 'sidir. ödeme adımları satışta verilen zaman programına göre oluşurlar. (günlük, haftalık veya aylık). Ayrıca dilenirse manuel ödeme adımları da eklenebilir. Bu ödeme adımı için birden fazla çekim denemesi yapılabilir. ilk çekim denemesi başarısız olursa, ikinci deneme yapılır. Satış yapılırken verilen her bir kart için (en fazla 3 adet kart verilebilir), deneme yapılır ve her deneme için POST atılır.

DealerPaymentPlanHistoryId :  Ödeme adımına istinaden yapılan her bir çekim denemesinin tarihçe ID sidir. Bir ödeme adımı için (DealerPaymentPlanId), birden fazla (DealerPaymentPlanHistoryId) oluşabilir.

DealerPaymentId :  Çekim denemesi sonucu oluşan ödeme ID sidir. Moka bayi panelinden bu ID ile ödeme detaylarını görebilirsiniz.

Amount :  Karttan çekilen tutardır.

HistoryStatus :  Çekim denemesinin sonucudur. (0 : Başarısız, 1 : Başarılı)



OTOMATİK ÖDEME ADIMI OLUŞUMU VE MANUEL ÖDEME ADIMI EKLEME

Bayi, satışı yaparken (AddSale), otomatik plan oluştur derse (PlanType : 1), o satışa ilişkin bir ödeme günü geldiğinde, Moka sistemi, otomatik olarak bir ödeme adımı (DealerPaymentPlan) oluşturur. örneğin, X müşterisinden her ayın 5' inde 200 TL çekecek şekilde bir satış yapılabilir. Bu durumda, zaman programını (DealerSchedule) her ayın 5' inde olacak şekilde düzenlenmesi yeterlidir. (Tabi önceden müşteri (AddCustomer) ve ürünün de (AddProduct) tanıtılmış gerekiyor).

Bayi satışı yapıp, otomatik ödeme planı oluştur (PlanType : 1) dediği anda, o ayın 5' i geldiğinde, sabah, Moka sistemi, otomatik olarak bu satışa ait bir ödeme yapılacak diye bir ödeme adımı (DealerPaymentPlan) kaydı atar ve gün içinde 2 kez (Saat 12 ve 18' de) bu ödeme adımını gerçekleştirmeye çalışır. Bu ödeme adımına ait tarihçeler (DealerPaymentPlanHistory) oluşmaya başlar. İlk denemede başarısız olsa bile diyelim ki ikinci denemede başarılı oldu. Tarihçede, o ödeme adımı için 2 adet kayıt oluşmuş olur.

Hangi aralıkta (günlük, haftalık veya aylık), ne tutarda para çekileceği belliyse, satış eklerken, Otomatik ödeme planı oluşacak diye işaretlemek yeterli olacaktır. Ancak, arada, duruma göre başka bir ödeme daha alayım, tutarı da farklı olsun denirse, o zaman otomatiğin yanında manuel olarak da ödeme adımı eklemek istiyorum diye işaretlenmesi gerekmektedir (PlanType : 3). Bu durumda, bayi de bu satış altında, dilediği tarih ve tutarda ödeme isteği emri (ödeme adımı) eklemiş olur. Manuel olarak eklenen ödeme adımının tarihi geldiğinde, bu talep gereği de ödeme karttan çekilir. Otomatik çekimler de bir yandan devam eder. Yani manuel ödeme, bayiye, dilediği tarihte, dilediği tutarda ödeme eklemesine olanak sağlar. (bir çeşit esnek ara ödeme seçeneği gibi düşünülebilir). Bayiler, manuel ödemeyi kullanmak zorunda değiller.

Bazı durumlarda ise, bayi, otomatik olarak ödeme adımı oluşmasın, hangi tarihte ne kadarlık çekim yapılacağına sürekli ben karar vereyim diye isteyebilir. Bu tür satışlar için ise PlanType : 2 olarak girilir. Ve Moka sistemi bu satışa ilişkin, otomatik olarak ödeme adımı hiçbir zaman oluşturmaz. Ama manuel ödeme adımının tarihi geldiğinde karttan çekim yapılır.