Pazar Yeri - Ödeme Güncelleme
Servis Adresi
/PaymentDealer/UpdateDealerPaymentMarketPlace
İstek Parametreleri
PaymentDealerAuthentication
Parametre | Açıklama |
---|---|
DealerCode(string) | Moka sistemi tarafından verilen bayi kodu |
Username (string) | Moka sistemi tarafından verilen Api kullanıcı adı |
Password (string) | Moka sistemi tarafından verilen Api şifresi |
CheckKey (string) | Kontrol anahtarı (DealerCode + "MK" + Username + "PD" + Password) String olarak birleştirilen bu bilgilerin SHA-256 hash algoritmasından geçirilmesiyle oluşturulur. Buraya tıklayarak deneme ekranına gidebilirsiniz. |
PaymentDealerRequest
Parametre | Açıklama | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OtherTrxCode (string) (opsiyonel) | Mütabakat sağlamak için kendi Unique Transaction (İşlem) Kodunuzu bu alanda gönderebilirsiniz. Not : Bayi ödeme detay listesi alırken bu kodunuzu kullanarak Ödeme durumunu öğrenebilirsiniz. | ||||||||||||||||||
Software (string) | Moka ödeme sistemiyle entegre çalışan, bu servisi çağırdığınız E-ticaret paketinin veya yazılımınızın ismi. (Max 30 karakter) | ||||||||||||||||||
Description (string) | Açıklama alanıdır. Ödemeye ilişkin bir açıklama yazmak istenirse bu alana yazılabilir.(200 karaktere kadar yazılabilir.) | ||||||||||||||||||
CommissionScenario (integer) | Üst bayi tarafından karar verilen ve bu satışa ortak olmuş alt bayilerden kesilecek komisyonların nasıl hesaplanacağını bildiren komisyon seçeneğidir. | ||||||||||||||||||
BuyerInformation (Array)(opsiyonel) | Bayimizden Ürün/Hizmet satın alan müşterisi ile ilgili alanlardır. Bu alanların gönderilmesi zorunlu olmamasına karşın, Moka ile paylaşılması,
ileride ödemeyle ilgili oluşabilecek sorunlara karşı, hem bayimizin hem de Moka' nın menfaatinedir.
|
||||||||||||||||||
SubDealer (Array - List) |
|
Örnek İstek (JSON)
{
"PaymentDealerAuthentication":{
"DealerCode":"XXX",
"Username":"XXX",
"Password":"XXX",
"CheckKey":"28ba1f316e661ee7a0477a13aa30613da548c94a8098829af9255b04d7e916e3"
},
"PaymentDealerRequest":{
"OtherTrxCode":"20201221172055",
"Software":"Possimulation",
"Description":"",
"CommissionScenario":2,
"BuyerInformation":{
"BuyerFullName":"",
"BuyerGsmNumber":"",
"BuyerEmail":"",
"BuyerAddress":"Tasdelen / Çekmeköy"
},
"SubDealer":[
{
"DealerId":167,
"Amount":150,
"DealerCommissionRate":"2.00",
"DealerCommissionAmount":"",
"DealerCommissionFixedAmount":"0",
"GroupRevenueRate":"",
"GroupRevenueAmount":"",
"AmountToBeCommissioned":"",
"IsIncludedFixedAmount":""
}
]
}
}
Başarılı İstek Sonucu
Gönderilen istek verileri Moka’ da başarılı bir şekilde işlenmişse, geri dönüş nesnesinin "ResultCode" alanında "Success" bilgisi yazar.
"Data" alanında ise bankadan dönen işlem sonucu bulunur. "Data" içinde yer alan "IsSuccessful" (true/false) alanı kontrol edilerek
işlemin durumu kontrol edilir. Bu alanda false dönmesi durumunda aynı nesne içindeki ResultCode ve ResultMessage alanları kontrol edilerek işlemin sanal pos üzerinde neden
başarısız olduğu görülebilir.
Bankadan başarılı işlem dönmesi durumunda aynı nesne içindeki VirtualPosOrderId alanından gelen kod saklanmalıdır. İptal, iade veya havuz ödeme onayı işlemleri, bu kod
kullanılarak gerçekleştirilecektir.
Başarılı Sonuç Örneği
{
"Data":{
"DealerPaymentId":64318,
"OtherTrxCode":"20201221172055",
"VirtualPosOrderId":"Test-50e76e51-6baf-4640-bbc5-1bd93120699b"
},
"ResultCode":"Success",
"ResultMessage":"",
"Exception":null
}
Başarısız İstek Sonucu
Gönderilen istek verileri Moka akışları içerisinde işlenemediyse, geri dönüş nesnesinin "ResultCode" alanında alttaki tablodaki hata kodlarından birisi bulunur.
Beklenmeyen yazılımsal bir hata oluştuğunda ise, "ResultCode" alanında EX yazar ve "ResultMessage" alanında alınan hata mesajı (Exception) yer alır.
Her iki durumda da, "Data" nesnesi null olarak gelir.
ResultCode | Açıklama |
---|---|
PaymentDealer.UpdateDealerPaymentMarketPlace.InvalidRequest | CheckKey hatalı ya da nesne hatalı ya da JSON bozuk olabilir. |
PaymentDealer.CheckPaymentDealerAuthentication.InvalidRequest | Böyle bir bayi bulunamadı, Bayi kodu, bayi kullanıcı adı ve/veya şifresi yanlış girilmiş. |
PaymentDealer.UpdateDealerPaymentMarketPlace.ChannelPermissionNotAvailable | Bayinin, ödeme isteği gönderme yetkisi yok. |
PaymentDealer.UpdateDealerPaymentMarketPlace.IpAddressNotAllowed | Bayinin erişebileceği IP ler kısıtlanmış. |
PaymentDealer.UpdateDealerPaymentMarketPlace.MustNeedDealerPaymentIdOrOtherTrxCodeOrVirtualPosOrderId | Bayi için DealerPaymentId ya da OtherTrxCode ya da VirtualPosOrderId tanımlanmalı. |
PaymentDealer.UpdateDealerPaymentMarketPlace.CannotFoundPayment | Böyle bir ödeme bulunamadı. |
PaymentDealer.UpdateDealerPaymentMarketPlace.InvalidCommissionScenario | Geçersiz Komisyon Senaryosu |
PaymentDealer.UpdateDealerPaymentMarketPlace.SubDealerInfoRequired | Alt bayi bilgisi gerekli. |
PaymentDealer.Fields.InvalidSoftwareLength | Geçersiz yazılım ismi uzunluğu |
PaymentDealer.Fields.InvalidDescriptionLength | Geçersiz açıklama uzunluğu |
PaymentDealer.Fields.InvalidBuyerFullNameLength | Geçersiz FullName uzunluğu |
PaymentDealer.Fields.InvalidBuyerGsmNumberLength | Geçersiz numara uzunluğu |
PaymentDealer.Fields.InvalidBuyerAddressLength | Geçersiz adres uzunluğu |
PaymentDealer.CheckSubDealer.InvalidSubDealerId | Alt bayinin ID si geçersiz |
PaymentDealer.CheckSubDealer.InvalidSubDealerAmount | Alt bayinin tutar bilgisi geçersiz |
PaymentDealer.CheckSubDealer.MoreThanOneSameSubDealer | Birden fazla aynı alt bayi tanımlı |
PaymentDealer.CheckSubDealer.SubDealerAmountTotalMustBeEqualPaymentAmount | Alt bayi tutarının toplamı ödeme tutarına eşit olmalıdır. |
PaymentDealer.CheckSubDealer.InconsistentForScenarioOne | 1. Senaryo için çelişkili bilgiler mevcut |
PaymentDealer.CheckSubDealer.InconsistentForScenarioTwo | 2. Senaryo için çelişkili bilgiler mevcut |
PaymentDealer.CheckSubDealer.InconsistentForScenarioThree | 3. Senaryo için çelişkili bilgiler mevcut |
PaymentDealer.CheckSubDealer.InconsistentForScenarioFour | 4. Senaryo için çelişkili bilgiler mevcut |
PaymentDealer.CheckSubDealer.InconsistentForScenarioFive | 5. Senaryo için çelişkili bilgiler mevcut |
PaymentDealer.CheckSubDealer.InvalidDealerCommissionRate | Geçersiz Bayi Komisyon Oranı |
PaymentDealer.CheckSubDealer.InvalidDealerCommissionFixedAmount | Geçersiz Bayi Komisyonu Sabit Tutarı |
PaymentDealer.CheckSubDealer.InvalidDealerCommissionAmount | Geçersiz Bayi Komisyon Tutarı |
PaymentDealer.CheckSubDealer.InvalidGroupRevenuePercentage | Geçersiz Grup Gelir Yüzdesi |
PaymentDealer.CheckSubDealer.InvalidAmountToBeCommissioned | Alt bayiye yansıtılmak istenen komisyonun uygulanacağı tutar geçersiz |
PaymentDealer.CheckSubDealer.AmountToBeCommissionedTotalMustBeEqualPaymentAmount | Alt bayiye yansıtılmak istenen komisyonun uygulanacağı tutar toplam tutara eşit olmalıdır. |
PaymentDealer.CheckSubDealer.InvalidGroupRevenueAmount | Geçersiz Grup Gelir Tutarı |
PaymentDealer.CheckSubDealer.InvalidCommissionScenario | Geçersiz Komisyon Senaryosu |
PaymentDealer.UpdateDealerPaymentMarketPlace.InvalidSubDealer | Geçersiz Alt Bayi |
PaymentDealer.UpdateDealerPaymentMarketPlace.DealerGroupNotFoundOrMarketPlacePermission | Bayi Grubu bulanamadı ya da Pazar yeri izni yok. |
PaymentDealer.UpdateDealerPaymentMarketPlace.DealerCommissionRateNotFound | Bayi Komisyon Oranı bulunamadı. |
PaymentDealer.UpdateDealerPaymentMarketPlace.DealerGroupCommissionRateNotFound | Bayi Grubu komisyon oranı bulunamadı. |
PaymentDealer.UpdateDealerPaymentMarketPlace.MustBeSelectedIncludedFixedAmountToOneSubDealer | Bir alt bayi için sabit bir tutar seçilmeli. |
EX | Beklenmeyen bir hata oluştu |
Başarısız Sonuç Örneği
{
"Data":null,
"ResultCode":" PaymentDealer.UpdateDealerPaymentMarketPlace.InvalidSubDealer ",
"ResultMessage":"",
"Exception":null
}
Açıklama
Bu servis de UpdateDealerPayment servisi gibi ekstre oluşmadan ve banka gün sonu almadan Software ve Description alanlarını güncelleyebilir. Eğer komisyon oranları değişmişse en güncel girilmiş komisyon oranlar alınarak güncelleme yapılır. Eğer gelir payı oranı değişmişse yeni oranlar alınarak güncelleme yapılır. Bu servisin UpdateDealerPayment servisinden farkı birden fazla üye iş yeri varsa alt üye iş yerlerinden gönderilen ödeme tutarları toplamı ana tutara eşit olacak şekilde yeniden dağıtılabilir. Tek bir üye iş yeri varsa zaten gönderilen ödeme tutarları ana tutara eşittir. Komisyon senaryosu değişebilir ve senaryo bazından zorunlu olan alanlar gönderilir. Eğer üye iş yeri integer ve decimal alanları boş gönderir veya göndermezse bu alanların default değerleri (sıfır) alınır.