Paycell Ödeme/İade İşlemleri Hakkında Genel Bilgi
Paycell ile yapılan satış ilşlemlerinin detaylarına PaymentTransactions tablosunda
reason='PAYCELL_PAYMENT'
şeklinde arama yaparak ulaşabilirsiniz.
Ödemesi başarılı geçmiş bir siparişin PAYCELL_PAYMENT kaydının responseDatasında aşağıdaki cevabı görüntüleriz:
{
"operationResult": {
"resultCode": "0",
"resultDesc": "SUCCESS"
},
"items": {
"item": [{
"name": "detail",
"attributes": {
"attribute": [{
"key": "status",
"value": "0"
}, {
"key": "statusDesc",
"value": "ACTIVE"
}, {
"key": "detailStatus",
"value": "1000"
}, {
"key": "detailStatusDesc",
"value": "Turkcell Mobil Odeme isleminiz gerceklesmistir."
}]
}
}]
}
}
Paycell ödemelerinde belirli bir miktarın üzerinde alışveriş yapılması durumunda kullanıcılardan şifre ile işlem onayı gerekmektedir. Bu durumda kullanıcılar sipariş ver butonuna bastıklarında karşılarına şifre girme alanı çıkar ve şifreyi girdikten sonra ödemeleri gerçekleşir. Bu tarz OTPli işlemler gerçekleştiğinde PaymentTransactions tablosunda aynı sipariş no ile iki kayıt görüntülenir. İlk kaydın kategorisi PAYMENT_OTP_NEEDED, ikinci kaydın kategorisi ise PAYMENT_SUCCESSFULdur.
Paycell İade Süreçleri
Paycell ile gerçekleştirilen işlemlerin iade durumları PaymentTransactions tablosunda reason=’PAYCELL_CANCEL’ şeklinde tutulur. İadenin başarılı olduğunu bu kaydın responseDatasından anlayabiliriz.
Örnek başarılı iade responseData
{
"operationResult": {
"resultCode": "0",
"resultDesc": "SUCCESS"
},
"items": {
"item": [{
"name": "detail",
"attributes": {
"attribute": [{
"key": "status",
"value": "11"
}, {
"key": "statusDesc",
"value": "NEW_REQUEST_REFUND"
}, {
"key": "detailStatus"
}, {
"key": "detailStatusDesc"
}]
}
}]
}
}
- Paycell iadeleri iki şekilde yapılmaktadır.
Aynı gün iptal işlemi
Bir veya daha fazla gün sonra gerçekleşen iade işlemi
Sipariş aynı gün içinde iptal edildiyse işlem direkt olarak iptal edilir ve kullanıcının para iadesi anında gerçekleşir. Daha sonraki günlerde iade işlemi sağlandıysa iade, Turkcell’ e göre kullanıcının sonraki faturasından yansir.
Kullanıcılar bu durumu Paycell uygulamalarında Cüzdanım —-> İşlem geçmişim kısmından görüntüleyebilir. Bizler ise işlemin aynı gün iptal servisine çıkıp çıkmadığını PaymentTransactions tablosunda iade kaydının olduğu requestData’nın içinde gözlemleyebiliriz.
RequestDatanın içinde:
{
"key": "trnType",
"value": "FS_REFUND"
}
bilgisi görüntülüyorsak iade bir sonraki faturaya yanısyacaktır.
RequestDatanın içinde görülen bilgi:
{
"key": "trnType",
"value": "FS_REVERSE"
}
şeklinde ise aynı gün iptal işlemi geçrekleştirilmiştir.
Kısmi iade durumunda PaymentTransactions tablosunda reason=’PAYCELL_PARTIAL_REFUND’ şeklinde görüntülenir.
Örnek başarılı response
{
"operationResult": {
"resultCode": "0",
"resultDesc": "SUCCESS"
},
"items": {
"item": [{
"name": "detail",
"attributes": {
"attribute": [{
"key": "status",
"value": "15"
}, {
"key": "statusDesc",
"value": "NEW_REQUEST_PARTIAL_REFUND"
}, {
"key": "detailStatus"
}, {
"key": "detailStatusDesc"
}]
}
}]
}
}
Paycell İade İşlemi Gerçekleştirme
Paycell de iadenin gerçekleşmediği bir iptal sipariş durumunda postmanden iade isteği atarak iade sağlanır.
Iade curl:
curl --location 'https://bisu.com.tr/api/v2/cockpit/biri/order/cancelAndRefund' \
--header 'Authorization: 2d3bc97667658c76056c9c23c9e895c6baf68651' \
--header 'Content-Type: application/json' \
--data '{
"data": {
"subscriberId": "nu0aCPw6aMRoCnstnO1GOO5nWYAxxoey",
"orderNumber": "1676530225888",
"userId": 106961,
"reason": {
"id": 13,
"text": "Yanlış Ürün"
}
}
}'
Aşağıdaki işlemler uygulanır:
- Siparişin payment kaydı ile otp_needed kaydındaki tutarlarının uyuşup uyuşmadığı kontrol edilir.
- Uyuşmazlık olması durumunda siparişin Biri_Order tablosundaki totalAmount kaydına ilk requestteki(otp_needed) amount bilgisi kaydedilir.
- Siparişin Biri_Order tablosundaki status’ünün cancel olup olmadığına dikkat edilir.
- Cancel olması durumunda status completed duruma getirilir.
- İade edilecek siparişin bilgileri bodyde güncellenir.
- Başarılı işlem sonucunda requestteki transaction type’ı FS_REFUND ise kullanıcıya bir sonraki faturasına yansıyacağı bilgisi verilebilir.
İade isteği için Authorization ve userId bilgilerini kendi bilgilerinizle güncellemeyi unutmayiniz.