+ Kod Paylaş
ÜCRETSİZ Node.js, Express, iyzico APIÖdeme Sistemleri pisaqore@gmail.com · Ekim 27, 2026 · 👁 0

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.