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