Оплата частинами ПриватБанк Україна
Розстрочка / миттєва розстрочка (PayParts). Офіційна документація: https://pbdocs.gitbook.io/api-oc/. Комісія шлюзу: PP — платить магазин, II — платить покупець; за договором з банком.
Доступи
Кабінет payparts2.privatbank.ua/ipp/admin (OTP-вхід, потрібен рахунок у ПриватБанку): storeId, password. Пісочниця: /ipp/sandbox.
- Змінні середовища
PRIVATPARTS_STORE_IDPRIVATPARTS_PASSWORDPRIVATPARTS_PARTS=4PRIVATPARTS_TYPE=PP|II|PB|IA- Вебхук
POST /webhooks/privatparts(JSON: storeId, orderId, paymentState, message, signature). Підпис = base64(SHA1(password + storeId + orderId + paymentState + message + password)). IP банку можна внести в allow-list: 217.117.66.32–63, 217.117.68.32–63.
Що викликає Місток
| Запит | Поля / сенс |
|---|---|
POST /ipp/v2/payment/create (або /hold) | storeId, orderId, amount, partsCount, merchantType, products[{name, count, price}], responseUrl, redirectUrl, signature → {state, token}; сторінка оплати /ipp/v2/payment?token=… |
POST /ipp/v2/payment/state | paymentState |
POST /ipp/v2/payment/confirm · /cancel | підтвердження/скасування холду (LOCKED) |
POST /ipp/v2/payment/decline | повернення коштів |
Статуси
CREATED → created · CLIENT_WAIT/OTP_WAITING/PP_CREATION → processing · LOCKED → hold · SUCCESS → success · FAIL/CANCELED → failure.
Модель Містка: created → processing → (hold →) success | failure | expired | reversed. Замовлення в Shopify отримує оплату лише на success і лише після звірки суми й валюти з нашим записом.
Пісочниця
Сторінка пісочниці банку та демо-магазин /ipp/demo/products; рішення по заявці займає 30–40 с.
Обмеження
- сума 300–50 000 грн
- partsCount 2–25
- тільки UAH
Не підтверджено живим прогоном
Реалізовано за офіційними доками та SDK; перший прогін на тестових ключах обов’язковий.
- правила часткового повернення та стан після повернення не документовані
- тайм-аут LOCKED не вказано