Node.js Express ile iyzico Checkout Form Ödeme Entegrasyonu
iyzico API kullanarak güvenli ödeme formu oluşturan ve başlatma token'ı döndüren hazır Express.js controller yapısı.
const Iyzipay = require('iyzipay');
// iyzico API Konfigürasyonu
const iyzipay = new Iyzipay({
apiKey: process.env.IYZICO_API_KEY,
secretKey: process.env.IYZICO_SECRET_KEY,
uri: 'https://sandbox-api.iyzipay.com' // Canlı ortam için: https://api.iyzipay.com
});
// Ödeme Formu Başlatma Fonksiyonu
const initializePayment = (req, res) => {
const request = {
locale: Iyzipay.LOCALE.TR,
conversationId: '123456789',
price: '100.0',
paidPrice: '100.0',
currency: Iyzipay.CURRENCY.TRY,
basketId: 'B67832',
paymentGroup: Iyzipay.PAYMENT_GROUP.PRODUCT,
callbackUrl: 'https://siteniz.com/iyzico/callback',
enabledInstallments: [1, 2, 3, 6, 9],
buyer: {
id: 'BY789',
name: 'Ahmet',
surname: 'Yılmaz',
gsmNumber: '+905320000000',
email: 'ahmet@email.com',
identityNumber: '11111111111',
registrationAddress: 'Kadıköy, İstanbul',
ip: req.ip,
city: 'Istanbul',
country: 'Turkey'
},
shippingAddress: {
contactName: 'Ahmet Yılmaz',
city: 'Istanbul',
country: 'Turkey',
address: 'Kadıköy, İstanbul'
},
billingAddress: {
contactName: 'Ahmet Yılmaz',
city: 'Istanbul',
country: 'Turkey',
address: 'Kadıköy, İstanbul'
},
basketItems: [
{
id: 'BI101',
name: 'Yazılım Lisansı',
category1: 'Yazılım',
itemType: Iyzipay.BASKET_ITEM_TYPE.VIRTUAL,
price: '100.0'
}
]
};
iyzipay.checkoutFormInitialize.create(request, (err, result) => {
if (err || result.status !== 'success') {
return res.status(400).json({ status: 'fail', message: result.errorMessage });
}
// Başarılıysa ödeme formu HTML/JS kodunu döndürür
res.status(200).json({ status: 'success', checkoutFormContent: result.checkoutFormContent });
});
};
module.exports = { initializePayment };Bu içerik bir topluluk üyesi tarafından eklenmiştir. Kodu kendi ortamında çalıştırmadan önce incele. Telif / içerik bildir.