AlexXanderGrib / node-qiwi-sdk

:kiwi_fruit: QIWI Bank (qiwi.com) API SDK for node JS. Fully Typed. Covers (Personal & P2P API's)
https://npmjs.com/package/qiwi-sdk
MIT License
32 stars 8 forks source link

Не валидный amount fraction в ссылке на форму оплаты (метод createFormUrl). #4

Closed Hand-of-Doom closed 2 years ago

Hand-of-Doom commented 3 years ago

Привет! Я использую qiwi-sdk и заметил, что генерируемый amount fraction всегда 0.

Как я это делаю

static getPaymentLink(_amount: number, orderId: string): string {
  const amount = 1.1;

  // Why is amount fraction 0?
  return this.qiwi.createFormUrl(this.walletProvider, {
    amount,
    comment: orderId,
  });
}

Класс QiwiWallet можно найти тут: https://github.com/Sweet-Coin-Market/Sweet-Coin-Market/blob/architecture-migration/src/services/wallets/QiwiWallet.ts

Это действительно баг или я неправильно передаю amount?

Почитал исходный код библиотеки, решил воспроизвести ситуацию в интерактивной консоли браузера. image amountFraction действительно всегда 0.

Решил поэкспериментировать, убрал Math.round - почти все корректно image

Ещё поразмыслил, в итоге изменил код библиотеки: image

Всё работает! image


Зависимости в package.json:

"dependencies": {
    "module-alias": "^2.2.2",
    "mysql2": "^2.3.0",
    "node-vkcoinapi": "^1.8.0",
    "phone": "^3.1.6",
    "qiwi-sdk": "^1.7.2",
    "reflect-metadata": "^0.1.13",
    "sequelize": "^6.6.2",
    "sequelize-typescript": "^2.1.0",
    "vk-io": "^4.3.2",
    "vk-io-question": "^3.1.1"
  },

Только что обновил qiwi-sdk - проблема не решилась.

Спасибо!

AlexXanderGrib commented 2 years ago

Прошу прощение за игнор, я болел целый месяц поэтому на гитхаб редко заходил. Я понимаю что делать фикс для вас уже поздно, но всё равно спасибо, что сообщили о проблеме. Починю в ближайшее время

Я быстрее отвечаю в Телеграме: https://t.me/AlexXanderGrib

AlexXanderGrib commented 2 years ago

Фикс выпущен в версии 2.0.2. Ещё раз благодарю за сообщение об этой ошибке

https://www.npmjs.com/package/qiwi-sdk/v/2.0.2