İptal

iyzico üzerinden tahsil edilen bir ödeme, banka kuralları gereği aynı gün içinde (gün sonu yapılmadan) iptal (cancel) edilebilir. İptal işleminin iadeden farkı, ödeme ile aynı gün yapılabilmesi ve kart ekstresinde girdi/çıktı yaratmamasıdır. İptal yapılabilmesi için ödemeye ait id (paymentId) gönderilmesi gerekir. İptal işlemi başarılıysa iptal edilen tutar (price) servisten döner. İptal işlemi tepeden çalışır, yani ödemenin tamamını iptal eder.

Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre ismi Tip Zorunluluk Açıklama
ip string evet İşlemin gönderildiği ip adresi.
paymentid string evet iyzico tarafından işleme verilen benzersiz ödeme numarası.
locale string hayır iyzico istek sonucunda dönen metinlerin dilini ayarlamak için kullanılır. Varsayılan değeri tr’dir.
conversationId string hayır İstek esnasında gönderip, sonuçta alabileceğiniz bir değer, request/response eşleşmesi yapmak için kullanılabilir.

Servisten dönen parametreler şu şekildedir:

Parametre ismi Tip Açıklama
price string Ödeme sepet tutarı.
currency string İptali yapılan ödeme para birimi.
paymentid integer iyzico tarafından işleme verilen benzersiz ödeme numarası.
status string Yapılan isteğin sonucunu bildirir. İşlem başarılı ise success, hatalı ise failure döner.
errorCode string İşlem hatalıysa, bu hataya dair belirtilen koddur.
errorMessage string İşlem hatalıysa, bu hataya dair belirtilen mesajdır. Locale parametresine göre dil desteği sunar.
errorGroup string İşlem hatalıysa, bu hataya dair belirtilen gruptur.
locale string İstekte belirtilen locale değeri geri dönülür, varsayılan değeri tr
’dir.
systemTime integer Dönen sonucun o anki unix timestamp değeridir.
conversationId string İstek esnasında gönderilmişse, sonuçta aynen geri iletilir.

$request = new \Iyzipay\Request\CreateCancelRequest();
$request->setLocale(\Iyzipay\Model\Locale::TR);
$request->setConversationId("123456789");
$request->setPaymentId("1");
$request->setIp("85.34.78.112");

$cancel = \Iyzipay\Model\Cancel::create($request, Config::options());
CreateCancelRequest request = new CreateCancelRequest();
request.ConversationId = "123456789";
request.Locale = Locale.TR.ToString();
request.PaymentId = "1";
request.Ip = "85.34.78.112";

Cancel cancel = Cancel.Create(request, options);
CreateCancelRequest request = new CreateCancelRequest();
request.setLocale(Locale.TR.getValue());
request.setConversationId("123456789");
request.setPaymentId("1");
request.setIp("85.34.78.112");

Cancel cancel = Cancel.create(request, options);
iyzipay.cancel.create({
    locale: Iyzipay.LOCALE.TR,
    conversationId: '123456789',
    paymentId: '1',
    ip: '85.34.78.112'
}, function (err, result) {
    console.log(err, result);
    done();
});
request = {
    locale: 'tr',
    conversationId: '123456789',
    paymentId: '238',
    ip: '85.34.78.112'
}
cancel = Iyzipay::Model::Cancel.new.create(request, @options)
request = dict([('locale', 'tr')])
request['conversationId'] = '123456'
request['paymentId'] = '1'
request['ip'] = '85.34.78.112'

cancel = iyzipay.Cancel()
cancel_response = cancel.create(request, options)
//Request
{
    "locale": "tr",
    "conversationId": "123456789",
    "paymentId": "26130",
    "ip": "85.34.78.112"
}

//Response
{
    "status": "success",
    "locale": "tr",
    "systemTime": 1470730734003,
    "conversationId": "123456789",
    "paymentId": "26130",
    "price": 1.1,
    "currency": "TRY"
}

Örnek Kodlar

var Iyzipay = require('iyzipay'); var iyzipay = new Iyzipay({ apiKey: "sandbox-afXhZPW0MQlE4dCUUlHcEopnMBgXnAZI", secretKey: "sandbox-wbwpzKIiplZxI3hh5ALI4FJyAcZKL6kq", uri: 'https://sandbox-api.iyzipay.com' }); iyzipay.cancel.create({ locale: Iyzipay.LOCALE.TR, conversationId: '123456789', paymentId: '1', ip: '85.34.78.112' }, function (err, result) { console.log(result); });