qiwi
Qiwi Api Node
https://qiwi.com/api
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΎΠΊΠ΅Π½import QiwiApi from "@kiyasov/qiwi";
const api = new QiwiApi({
accessToken: "", // Π’ΠΎΠΊΠ΅Π½ ΠΊΠΎΡΠ΅Π»ΡΠΊΠ° https://qiwi.com/api
personId: "" // ΠΠΎΠΌΠ΅Ρ ΠΊΠΎΡΠ΅Π»ΡΠΊΠ°
});
Π‘ΠΏΠΈΡΠΎΠΊ Π±Π°Π»Π°Π½ΡΠΎΠ²
ΠΠ°ΠΏΡΠΎΡ Π²ΡΠ³ΡΡΠΆΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠ΅ Π±Π°Π»Π°Π½ΡΡ ΡΡΠ΅ΡΠΎΠ² Π²Π°ΡΠ΅Π³ΠΎ QIWI ΠΠΎΡΠ΅Π»ΡΠΊΠ°.
api.balanceInfo().then(data => console.log(data));
ΠΡΠ²Π΅Ρ
{
"accounts": [
{
"alias": "mc_beeline_rub",
"fsAlias": "qb_mc_beeline",
"bankAlias": "QIWI",
"title": "MC",
"type": {
"id": "MC",
"title": "Π‘ΡΠ΅Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡΠ΅Π»ΡΠΊΠ°"
},
"hasBalance": false,
"balance": null,
"currency": 643
},
{
"alias": "qw_wallet_rub",
"fsAlias": "qb_wallet",
"bankAlias": "QIWI",
"title": "WALLET",
"type": {
"id": "WALLET",
"title": "QIWI Wallet"
},
"hasBalance": true,
"balance": {
"amount": 8.74,
"currency": 643
},
"currency": 643
}
]
}
ΠΡΠΎΡΠΈΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΠ°ΠΏΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»Π΅ - Π½Π°Π±ΠΎΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π²Π°ΡΠ΅Π³ΠΎ QIWI ΠΊΠΎΡΠ΅Π»ΡΠΊΠ°.
api.accountInfo().then(data => console.log(data));
ΠΡΠ²Π΅Ρ
{
"authInfo": {
"boundEmail": "m@ya.ru",
"ip": "81.210.201.22",
"lastLoginDate": "2017-07-27T06:51:06.099Z",
"mobilePinInfo": {
"lastMobilePinChange": "2017-07-13T11:22:06.099Z",
"mobilePinUsed": true,
"nextMobilePinChange": "2017-11-27T06:51:06.099Z"
},
"passInfo": {
"lastPassChange": "2017-07-21T09:25:06.099Z",
"nextPassChange": "2017-08-21T09:25:06.099Z",
"passwordUsed": true
},
"personId": 79683851815,
"pinInfo": {
"pinUsed": true
},
"registrationDate": "2017-01-07T16:51:06.100Z"
},
"contractInfo": {
"blocked": false,
"contractId": 79683851815,
"creationDate": "2017-01-07T16:51:06.100Z",
"features": [
...
],
"identificationInfo": [
{
"bankAlias": "QIWI",
"identificationLevel": "SIMPLE"
}
]
},
"userInfo": {
"defaultPayCurrency": 643,
"defaultPaySource": 7,
"email": null,
"firstTxnId": 10807097143,
"language": "string",
"operator": "Beeline",
"phoneHash": "lgsco87234f0287",
"promoEnabled": null
}
}
ΠΠΏΠ»Π°ΡΠ° Π΄ΡΡΠ³ΠΈΡ ΡΡΠ»ΡΠ³
ΠΠΏΠ»Π°ΡΠ° ΡΡΠ»ΡΠ³ΠΈ ΠΏΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ°Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ Π² ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠ°Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, Π±Π΅Π· ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½ΠΎΠΌΠ΅ΡΠ° Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°.
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ https://developer.qiwi.com/ru/qiwi-wallet-personal/?http#payments_model
api
.processPayment({
pattern_id: "", // ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°
data: {
id: String(moment().unix() * 1000), // ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ (ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 20 ΡΠΈΡΡ). ΠΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ. ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ
ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΠ°Π²Π½ΡΠΌ 1000*(Standard Unix time Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
).
sum: {
amount: "", // Π‘ΡΠΌΠΌΠ° (ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠ±Π»ΠΈ ΠΈ ΠΊΠΎΠΏΠ΅ΠΉΠΊΠΈ, ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ .). ΠΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΎΠΊΡΡΠ³Π»Π΅Π½Π½ΠΎΠ΅ Π΄ΠΎ 2 Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ. ΠΡΠΈ Π±ΠΎΠ»ΡΡΠ΅ΠΌ ΡΠΈΡΠ»Π΅ Π·Π½Π°ΠΊΠΎΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΎ Π΄ΠΎ ΠΊΠΎΠΏΠ΅Π΅ΠΊ Π² ΠΌΠ΅Π½ΡΡΡΡ ΡΡΠΎΡΠΎΠ½Ρ.
currency: "643" // ΠΠ°Π»ΡΡΠ° (ΡΠΎΠ»ΡΠΊΠΎ 643, ΡΡΠ±Π»ΠΈ)
},
fields: {
account: "" // ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
},
paymentMethod: {
type: "Account", // ΠΠΎΠ½ΡΡΠ°Π½ΡΠ°, Account
accountId: "643" // ΠΠΎΠ½ΡΡΠ°Π½ΡΠ°, 643
}
}
})
.then(data => console.log(data));
ΠΡΠ²Π΅Ρ
{
"id": "", // ΠΠΎΠΏΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° id ΠΈΠ· ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
"terms": "", // ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ» ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ ΠΏΠ»Π°ΡΠ΅ΠΆ
"fields": {
"account": "" // ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
},
"sum": {
"amount": 100, // Π‘ΡΠΌΠΌΠ°
"currency": "643"
},
"transaction": {
"id": "", // ID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠΈΠ½Π³Π΅ QIWI Wallet
"state": {
"code": "Accepted"
}
},
"source": "account_643",
}