Skip to content

@joyida/payme bilan boshlash

Ushbu qo'llanma sizni dasturingizda Payme to'lovlarini bir necha daqiqada integratsiya qilishga yordam beradi.

Talablar

  • Bun >= 1.3.9 (bu SDK faqat Bunda qo'llab-quvvatlanadi)
  • Payme Business hisobi
  • Paymedan maxfiy kalit (Merchant API); Subscribe API uchun shuningdek savdochilik identifikatori va parol kerak

O'rnatish

bash
bun add @joyida/payme

Tizimga kirish ma'lumotlari

  1. Payme Business saytida ro'yxatdan o'ting
  2. Savdochilik hisobini yarating
  3. Tizimga kirish ma'lumotlarini oling:
    • Savdochilik ID: Savdochilik sozlamalarida topiladi
    • Maxfiy kalit: API sozlamalarida yaratilgan
    • Parol: Subscribe API uchun (karta tokenizatsiyasi)

Tezkor boshlash - Merchant API

Merchant API to'lovlarni qayta ishlash uchun ishlatiladi.

typescript
import { PaymeMerchant } from '@joyida/payme';

// Klientni ishga tushiring (Merchant API autentifikatsiyasi uchun faqat secretKey kerak)
const payme = new PaymeMerchant({
  secretKey: 'your_secret_key',
});

// To'lov mumkinligini tekshiring
const check = await payme.checkPerformTransaction({
  amount: 500000, // 5000 so'm tiyinda (1 so'm = 100 tiyin)
  account: { order_id: 'ORD-123' }
});

if (check.allow) {
  console.log('✅ To\'lov ruxsat etildi');
}

Tezkor boshlash - Subscribe API

Subscribe API karta tokenizatsiyasi va takroriy to'lovlar uchun ishlatiladi.

typescript
import { PaymeSubscribe } from '@joyida/payme';

// Klient tomon rejim (karta tokenizatsiyasi uchun)
const subscribeClient = new PaymeSubscribe({
  merchantId: 'your_merchant_id'
}, 'client');

// Karta tokenini yarating
const result = await subscribeClient.cardsCreate({
  card: {
    number: '8600069195406311',
    expire: '0399' // MMYY formati
  },
  save: true
});

console.log('Karta tokeni:', result.card.token);

Muhit o'zgaruvchilari

Loyihangiz ildiz faylida .env faylini yarating:

bash
PAYME_MERCHANT_ID=your_merchant_id
PAYME_SECRET_KEY=your_secret_key
PAYME_PASSWORD=your_password

Keyin kodda ishlating:

typescript
const payme = new PaymeMerchant({
  merchantId: process.env.PAYME_MERCHANT_ID!,
  secretKey: process.env.PAYME_SECRET_KEY!,
});

TypeScript qo'llab-quvvatlashi

Kutubxona to'liq TypeScript bilan to'plangan. Qo'shimcha @types paketlari kerak emas!

typescript
import type {
  CreateTransactionParams,
  CreateTransactionResult
} from '@joyida/payme';

const params: CreateTransactionParams = {
  id: '5305e3bab097f420a62ced0b',
  time: Date.now(),
  amount: 500000,
  account: { order_id: 'ORD-123' }
};

const result: CreateTransactionResult = await payme.createTransaction(params);

Keyingi qadamlar

Umumiy muammolar

"Yaroqsiz tizimga kirish ma'lumotlari" xatosi

Savdochilik ID va Maxfiy kalit to'g'ri ekanligiga ishonch hosil qiling. Quyidagilarni tekshiring:

  • Tizimga kirish ma'lumotlarida bo'shliqlar
  • Noto'g'ri muhit (test va ishlab chiqarish)
  • Muddati o'tgan yoki bekor qilingan kalitlar

"Summa tasdiqlash muvaffaqiyatsiz" xatosi

Summalar tiyinda ekanligini esingizda tuting (1 so'm = 100 tiyin):

  • ✅ To'g'ri: 500000 (5000 so'm)
  • ❌ Noto'g'ri: 5000 (50 so'm)

TypeScript xatolari

TypeScript 5.0 yoki undan yuqori versiyasini ishlatyotganingizga ishonch hosil qiling:

bash
bun add -d typescript@latest

Yordam olish

MIT Lizenziyasi ostida chiqarilgan.