İptal

İptal işlemi için aşağıdaki parametrelerin gönderilmesi gerekmektedir.
NOT: İptal işlemi ancak gün sonu kapatılmadan önce gerçekleştirilebilir.

Alan Adı Tipi Açıklama Örnek Değer
PublicKey string TRPOS tarafından size verilen PublicKey Test verilerinde mevcuttur.
ApiKey string TRPOS tarafından size verilen ApiKey Test verilerinde mevcuttur.
Rnd string Her işlemde değişen değer 24072024182023
Hash string Doğrulama için gerekli HASH değeri Sha512 ile oluşturulmalıdır.
TxnNo string TRPOS Tarafından Oluşturulan İşlem Numarası İptal edilecek işlemin TxnNo değeri
UserIP string Müşteri IP adresi 127.0.0.1
Oid string Sipariş Numarası SP0123456789101112131415
ExtInfo string İstek sonucunda geri gönderilecek bilgi alanı Opsiyonel
ExpMonth string Z Kart Son Kullanım Tarihi – AY

İptal İşlem ÖrnekRequest Yapısı

REQUEST:

Kopyalandı!

                    POST = https://vpostest.trpos.com/Payment/CancelRequest
                    {
                    "publicKey": "39308144DD24F47DD3C7ECFB8E54CC41BE4CF43BD1E8167D35398D769A3277B8",
                    "apiKey": "3F76D2BA-074F-4A83-989F-7AF1FBFC93E1",
                    "rnd": "24072024182023",
                    "hash": "{Sha512 Hash İçeriği}",
                    "txnNo": "8C4D1235-0725-4466-A543-6F4",
                    "userIP": "127.0.0.1",
                    "oid": "SP0123456789101112131415",
                    "extInfo": "Test Bilgisi"
                    }
                    
                  

RESPONSE:

Kopyalandı!

                      {
                        "txnNo": "8C4D1235-0725-4466-A543-6F4",
                        "cancelTxnNo": "7B3D1235-0725-5566-A543-8F4",
                        "oid": "SP0123456789101112131415",
                        "resultCode": "0000",
                        "resultDetail": "",
                        "extInfo": "Test Bilgisi",
                        "hash": "{Sha512 Hash İçeriği}"
                        }
                        
                    

Response Verileri:

Alan Adı Tipi Açıklama
TxnNo string İptal edilen işlem için daha önce TRPOS tarafından oluşturulan işlem numarası
CancelTxnNo string İptal edilen işlem için TRPOS tarafından oluşturulan iptal işlem numarası
Oid string Sipariş Numarası
ResultCode string İptal İşleminin Sonucu
ResultDetail string İptal İşlemi Sonucuna Ait Açıklama
ExtInfo string İstek sonucunda geri gönderilecek bilgi alanı
Hash string İşlem doğruluğunun kontrol edilebilmesi için TRPOS tarafından gönderilen Hash değeri

İptal İşlemi Örnek .NET Sayfası:

Kopyalandı!

                        using Microsoft.AspNetCore.Mvc;
                        using Newtonsoft.Json;
                        using System.Security.Cryptography;
                        using System.Text;
                         İptal İşlemi Örnek JSON Yapısı:
                        REQUEST:
                        RESPONSE:
                        Response Verileri:
                        Alan Adı Tipi Açıklama
                        TxnNo string İptal edilen işlem için daha önce TRPOS tarafından oluşturulan işlem numarası
                        CancelTxnNo string İptal edilen işlem için TRPOS tarafından oluşturulan iptal işlem numarası
                        Oid string Sipariş Numarası
                        ResultCode string İptal İşleminin Sonucu
                        ResultDetail string İptal İşlemi Sonucuna Ait Açıklama
                        ExtInfo string İstek sonucunda geri gönderilecek bilgi alanı
                        Hash string İşlem doğruluğunun kontrol edilebilmesi için TRPOS tarafından gönderilen Hash değeri
                        İptal İşlemi Örnek .NET Sayfası:
                        namespace WebApplication1.Controllers
                        {
                        public class CancelController : Controller
                        {
                        public class CancelRequestModel
                        {
                        public string? PublicKey { get; set; }
                        public string? ApiKey { get; set; }
                        public string? Rnd { get; set; }
                        public string? Hash { get; set; }
                        public string? TxnNo { get; set; }
                        public string? UserIP { get; set; }
                        public string? Oid { get; set; }
                        public string? ExtInfo { get; set; }
                        }
                        public class CancelResponseModel
                        {
                        public string? TxnNo { get; set; }
                        public string? CancelTxnNo { get; set; }
                        public string? Oid { get; set; }
                        public string? ResultCode { get; set; }
                        public string? ResultDetail { get; set; }
                        public string? ExtInfo { get; set; }
                        public string? Hash { get; set; }
                        }
                        public async Task Index()
                        {
                        // TRPOS Tarafından verilen API bilgileri
                        string publicKey =
                        "39308144DD24F47DD3C7ECFB8E54CC41BE4CF43BD1E8167D35398D769A3277B8";
                        string apiKey = "3F76D2BA-074F-4A83-989F-7AF1FBFC93E1";
                        string secretKey =
                        "D7452D50390715218654C1D6CBF0E740B030618E098D9D04ED3176E0360C655F";
                        //Her işlemde benzersiz gönderilmesi gereken rnd değeri
                        string rnd = DateTime.Now.Ticks.ToString();
                        // TRPOS tarafından verilen işlem numarası
                        string txnNo = "";
                        // Sizin tarafınızdan oluşturulan sipariş numarası
                        string oid = "";
                        // Müşteriye ait IP numarası
                        string userIP = "127.0.0.1";
                        // Response da geri dönecek ekstra data bilgileri
                        string extInfo = "";
                        // HASH oluşturma fonksiyonu
                        string birlestir = string.Concat(apiKey, publicKey, rnd, oid, txnNo);
                        HMACSHA512 hmac = new HMACSHA512(Encoding.UTF8.GetBytes(secretKey));
                        byte[] b = hmac.ComputeHash(Encoding.UTF8.GetBytes(birlestir));
                        string hash = Convert.ToBase64String(b);
                        CancelRequestModel requestModel = new CancelRequestModel();
                        requestModel.PublicKey = publicKey;
                        requestModel.ApiKey = apiKey;
                        requestModel.Rnd = rnd;
                        requestModel.Hash = hash;
                        requestModel.TxnNo = txnNo;
                        requestModel.UserIP = userIP;
                        requestModel.Oid = oid;
                        requestModel.ExtInfo = extInfo;
                        // TRPOS işlem iptal POST URL
                        string cancelURL = "https://vpostest.trpos.com/Payment/CancelRequest";
                        using (HttpClient client = new())
                        {
                        HttpResponseMessage response = await
                        client.PostAsJsonAsync(cancelURL, requestModel);
                        if (response.IsSuccessStatusCode)
                        {
                        var cancelResponse =
                        JsonConvert.DeserializeObject(await
                        response.Content.ReadAsStringAsync()); // Cancel Requestten alınan JSON cevap
                        if (cancelResponse != null)
                        {
                        cancelResponse.Hash)
                        if (cancelResponse.ResultCode == "0000" && hash ==
                        {
                        // İptal işlemi başarılı
                        Console.WriteLine("İptal işlemi başarıyla tamamlandı.");
                        Console.WriteLine("TxnNo: " + cancelResponse.TxnNo);
                        Console.WriteLine("CancelTxnNo : " + cancelResponse.CancelTxnNo);
                        Console.WriteLine("Oid: " + cancelResponse.Oid);
                        Console.WriteLine("ExtInfo: " + cancelResponse.ExtInfo);
                        Console.WriteLine("Hash: " + cancelResponse.Hash);
                        }
                        else
                        {
                        }
                        }
                        else
                        {
                        // İptal işlemi hatalı
                        Console.WriteLine("Hata Kodu: " + cancelResponse.ResultCode);
                        Console.WriteLine("Hata Mesajı: " + cancelResponse.ResultDetail);
                        }
                        }
                        else
                        {
                        Console.WriteLine("Hata: Cevap alınamadı.");
                        Console.WriteLine("Hata: " + response.StatusCode);
                        }
                        }
                        return View();
                        }
                        }
                        }
                        
                        
                      

İptal İşlemi ResultCode Listesi ve Açıklamaları

ResultCode ResultDetails
0000 İşlem başarılı
0001 PublicKey gönderimi zorunludur.
0002 ApiKey gönderimi zorunludur.
0003 Rnd gönderimi zorunludur.
0015 Oid gönderimi zorunludur.
0022 UserIP gönderimi zorunludur.
0027 Site bilgileri alınamadı.
0028 Site bilgileri getirilemedi.
0029 Hash değerleri eşleşmiyor.
0032 TxnNo gönderimi zorunludur.
9999 Dinamik hata. (Sistem tarafından gönderilir.)