Sozlash variantlari
@joyida/payme SDKsi moslashuvchan sozlash variantlari bilan ta'minlangan.
Merchant API sozlamalari
Merchant API uchun sozlash obyekti:
interface PaymeConfig {
/** Ixtiyoriy; tarmoqqa yuborilmaydi (Merchant API faqat maxfiy kalit bilan Basic autentifikatsiya qiladi). Loglash uchun foydali. */
merchantId?: string;
readonly secretKey: string;
baseURL?: string;
timeout?: number;
}Asosiy misol
import { PaymeMerchant } from '@joyida/payme';
const payme = new PaymeMerchant({
secretKey: 'your_secret_key', // Majburiy
});To'liq misol
import { PaymeMerchant } from '@joyida/payme';
const payme = new PaymeMerchant({
merchantId: 'your_merchant_id', // Ixtiyoriy - loglash uchun
secretKey: 'your_secret_key', // Majburiy
baseURL: 'https://checkout.paycom.uz/api', // Ixtiyoriy - ishlab chiqarish
timeout: 10000, // Ixtiyoriy - millisekundlarda
});Subscribe API sozlamalari
Subscribe API uchun sozlash obyekti:
interface PaymeSubscribeConfig {
readonly merchantId: string;
readonly password?: string;
readonly baseURL?: string;
readonly timeout?: number;
}Klient tomon rejim
Kartalarni tokenizatsiya qilish uchun ishlatiladi (faqat merchantId kerak):
import { PaymeSubscribe } from '@joyida/payme';
const subscribeClient = new PaymeSubscribe({
merchantId: 'your_merchant_id'
}, 'client');
// Karta yaratish mumkin
await subscribeClient.cardsCreate({...});Server tomon rejim
Kartalarni boshqarish va chek yaratish uchun ishlatiladi (merchantId va parol kerak):
import { PaymeSubscribe } from '@joyida/payme';
const subscribeServer = new PaymeSubscribe({
merchantId: 'your_merchant_id',
password: 'your_password'
}, 'server');
// Chek yaratish mumkin
await subscribeServer.receiptsCreate({...});Muhit o'zgaruvchilari
Maxfiy kalitlarni kodga yozish o'rniga muhit o'zgaruvchilaridan foydalaning:
.env fayli
# Merchant API uchun
PAYME_SECRET_KEY=your_secret_key
PAYME_MERCHANT_ID=your_merchant_id
# Subscribe API uchun
PAYME_PASSWORD=your_passwordKodda ishlash
import { PaymeMerchant, PaymeSubscribe } from '@joyida/payme';
// Merchant API
const payme = new PaymeMerchant({
merchantId: process.env.PAYME_MERCHANT_ID!,
secretKey: process.env.PAYME_SECRET_KEY!,
});
// Subscribe API - server tomon
const subscribe = new PaymeSubscribe({
merchantId: process.env.PAYME_MERCHANT_ID!,
password: process.env.PAYME_PASSWORD!
}, 'server');
// Subscribe API - klient tomon
const subscribeClient = new PaymeSubscribe({
merchantId: process.env.PAYME_MERCHANT_ID!
}, 'client');Sozlash variantlari
secretKey (Majburiy)
Merchant API autentifikatsiyasi uchun Paymedan olingan maxfiy kalit.
const payme = new PaymeMerchant({
secretKey: 'your_secret_key'
});merchantId (Ixtiyoriy)
Savdochilik identifikatori. Tarmoqqa yuborilmaydi, faqat loglash uchun foydali.
const payme = new PaymeMerchant({
merchantId: 'your_merchant_id', // Loglash uchun
secretKey: 'your_secret_key'
});baseURL (Ixtiyoriy)
Payme API asosiy URL manzili. Odatiy ishlab chiqarish URL:
// Ishlab chiqarish (default)
const payme = new PaymeMerchant({
secretKey: 'your_secret_key',
baseURL: 'https://checkout.paycom.uz/api'
});
// Test
const payme = new PaymeMerchant({
secretKey: 'test_secret_key',
baseURL: 'https://checkout.test.paycom.uz/api'
});timeout (Ixtiyoriy)
So'rovlar uchun taymer (millisekundlarda). Odatiy qiymat: 30000 (30 soniya).
const payme = new PaymeMerchant({
secretKey: 'your_secret_key',
timeout: 15000 // 15 soniya
});Debug rejim
Debug rejimini so'rovlar va javoblarni loglash uchun yoqing:
const payme = new PaymeMerchant({
secretKey: 'your_secret_key',
debug: true // So'rovlar va javoblarni loglash
});Debug loglari faqat debug: true bo'lganda paydo' bo'ladi:
[Payme SDK Debug] Making request to https://checkout.paycom.uz/api
[Payme SDK Debug] Received response { status: 200, statusText: 'OK' }
[Payme SDK Debug] Request successful { allow: true }Ishlab chiqarish va test muhitlari
Ishlab chiqarish
const payme = new PaymeMerchant({
secretKey: process.env.PAYME_SECRET_KEY!,
baseURL: 'https://checkout.paycom.uz/api'
});Test
const payme = new PaymeMerchant({
secretKey: process.env.PAYME_TEST_SECRET_KEY!,
baseURL: 'https://checkout.test.paycom.uz/api'
});To'liq misol
import { PaymeMerchant, PaymeSubscribe } from '@joyida/payme';
// Muhit o'zgaruvchilari
const config = {
merchantId: process.env.PAYME_MERCHANT_ID!,
secretKey: process.env.PAYME_SECRET_KEY!,
password: process.env.PAYME_PASSWORD!,
baseURL: process.env.NODE_ENV === 'test'
? 'https://checkout.test.paycom.uz/api'
: 'https://checkout.paycom.uz/api',
timeout: 10000,
debug: process.env.NODE_ENV === 'development'
};
// Merchant API
const payme = new PaymeMerchant(config);
// Subscribe API - server tomon
const subscribe = new PaymeSubscribe({
merchantId: config.merchantId,
password: config.password,
baseURL: config.baseURL,
timeout: config.timeout,
debug: config.debug
}, 'server');
// Subscribe API - klient tomon
const subscribeClient = new PaymeSubscribe({
merchantId: config.merchantId,
baseURL: config.baseURL,
timeout: config.timeout,
debug: config.debug
}, 'client');