Ödeme Güncelleme
Servis Adresi
POST /PaymentDealer/UpdateDealerPayment
İstek Parametreleri
PaymentDealerAuthentication
| Parametre | Açıklama |
|---|---|
| DealerCode string | Ruut sistemi tarafından verilen bayi kodu |
| Username string | Ruut sistemi tarafından verilen Api kullanıcı adı |
| Password string | Ruut 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 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| DealerPaymentId integer (opsiyonel) | Çekim denemesi sonucu oluşan Ödeme ID'dir. | ||||||||
| 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. | ||||||||
| VirtualPosOrderId string | Ödeme işlemi sonucunda dönen işlem numarası bilgisidir. 3D ödemelerde trxCode ismiyle dönülen numaradır. Key: trxCode     Value : ORDER-17131QQFG04026575 |
||||||||
| Software string | Ruut ö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.) | ||||||||
| 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, Ruut ile paylaşılması,
ileride ödemeyle ilgili oluşabilecek sorunlara karşı, hem bayimizin hem de Ruut' nın menfaatinedir.
|
Örnek İstek (JSON)
{
"PaymentDealerAuthentication":{
"DealerCode":"xxx",
"Username":"xxx",
"Password":"xxx",
"CheckKey":"28ba1f316e661ee7a0477a13aa30613da548c94a8098829af9255b04d7e916e3"
},
"PaymentDealerRequest":{
"DealerPaymentId":"64227",
"Software":"Possimulation",
"Description":"",
"BuyerInformation":{
"BuyerFullName":"",
"BuyerGsmNumber":"",
"BuyerEmail":"",
"BuyerAddress":"Tasdelen / Çekmeköy"
}
}
}
Başarılı İstek Sonucu
Gönderilen istek verileri Ruut’ 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":64227,
"OtherTrxCode":"20201216153336",
"VirtualPosOrderId":"Test-b0cbed8c-4c59-4c2c-a8d3-01b8edddf8da"
},
"ResultCode":"Success",
"ResultMessage":"",
"Exception":null
}
Başarısız İstek Sonucu
Gönderilen istek verileri Ruut 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.UpdateDealerPayment.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.UpdateDealerPayment.ChannelPermissionNotAvailable | Bayinin, ödeme isteği gönderme yetkisi yok. |
| PaymentDealer.UpdateDealerPayment.IpAddressNotAllowed | Bayinin erişebileceği IP ler kısıtlanmış. |
| PaymentDealer.UpdateDealerPayment.MustNeedDealerPaymentIdOrOtherTrxCodeOrVirtualPosOrderId | Bayi için DealerPaymentId ya da OtherTrxCode ya da VirtualPosOrderId tanımlanmalı. |
| PaymentDealer.UpdateDealerPayment.CannotFoundPayment | Böyle bir ödeme bulunamadı. |
| PaymentDealer.UpdateDealerPayment.DealerCommissionRateNotFound | Bayi için belirlenmiş bayi komisyon oranı bulunamadı. |
| PaymentDealer.UpdateDealerPayment.DealerGroupCommissionRateNotFound | Bayi için belirlenmiş bayi grup komisyon oranı bulunamadı. |
| 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 |
| EX | Beklenmeyen bir hata oluştu |
Başarısız Sonuç Örneği
{
"Data":null,
"ResultCode":"PaymentDealer.UpdateDealerPayment.DealerGroupCommissionRateNotFound ",
"ResultMessage":"",
"Exception":null
}
Açıklama
Bu servis, 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.