Создание платежа

Создание платежа (payin).

POSThttps://pipay.su/api/v2/payments

Создание платежа

Эндпоинт создаёт новый платёжный запрос.

Тело запроса

  • orderId (string): Идентификатор заказа.

  • merchantId (string): Уникальный идентификатор мерчанта.

  • amount (number): Сумма платежа.

  • assetOrBank (string, необязательно): Название банка или крипто-актива.

  • method (string): Метод оплаты.

    • alfa_qr - RUB

    • apay - АльфаБанк, RUB

    • ARS_QR - ARS

    • bank_uru - Банковский трансфер Уругвай, UYU

    • bob_idepro - BOB

    • c2c - Карта, RUB

    • c2c_alfa - RUB

    • c2c_amd - C2C АРМЕНИЯ ЛОКАЛ, AMD, RUB

    • c2c_az - AZN

    • c2c_azVIP - AZN

    • c2c_kz - KZT

    • c2c_psb - RUB

    • c2c_tjs - c2c Таджикистан, TJS

    • c2c_try - TRY

    • c2cwt - RUB

    • cbu - ARS

    • click - UZS

    • click_qr - UZS

    • cvu - ARS, USD

    • ecom_rub - Рублевый ecom, RUB

    • humo - UZS

    • iban - TRY

    • idepro_qr - idepro_qr (BOB), BOB

    • kapitalbank_az - AZN

    • kgs_elqr - KGS

    • m2alfa - RUB

    • m2cabh - RUB

    • m2camd - Трансгран RUB-AMD, RUB

    • m2cbrl - Трансгран сбер -> Бразилия QR, RUB

    • m2ckz - KZT

    • m2ckzXE - KZT

    • m2ctj - RUB

    • m2cvnd - RUB

    • m2gaz - RUB

    • m2gazsbp - RUB

    • m2gctjs - Трансгран Газпром карта TJS, RUB

    • m2gntjs - Трансгран Газпром номер Таджикистан, RUB

    • m2gvnd - RUB

    • m2nkz - KZT

    • m2nkzkgs - KZT

    • m2ntj - RUB

    • m2ontjs - трансгран СБП Озон - Таджикистан, RUB

    • m2patjs - Трансгран ПСБ счёт Таджикистан, RUB

    • m2pctjs - Трансгран ПСБ карта Таджикистан, RUB

    • m2pntjs - Трансгран ПСБ номер Таджикистан, RUB

    • m2psb - m2 ПСБ Тадж QR, RUB

    • m2sber - RUB

    • m2tbank - RUB

    • m2tctjs - трансгран карта Тинькофф - Таджикистан, RUB

    • m2tntjs - трансгран СБП Тбанк - Таджикистан, RUB

    • m2vbrl - Трансгран сбер -> Бразилия QR, RUB

    • m2vctjs - Трансгран ВТБ карта TJS, RUB

    • m2vtb - RUB

    • m2vvnd - QR Вьетнам ВТБ, RUB

    • m2yctjs - трансгран карта Юмани - Таджикистан, RUB

    • m2yntjs - трансгран номер Юмани - Таджикистан, RUB

    • mts_sng - RUB

    • nspk - RUB

    • nspk1 - RUB

    • ozonc2c - ОзонБанкС2С, RUB

    • ozonsbp - ОзонБанкСПБ, RUB

    • PagoMovil - VES

    • payme - UZS

    • psb - RUB

    • qr - RUB

    • qr_kzt - ИП Казахстан, KZT

    • redirect_uru - UYU

    • sber1click - RUB

    • sbp - СБП, RUB

    • sbp_kz - KZT

    • sbp_tjs - TJS

    • sbpwt - RUB

    • sim - RUB

    • sim_kgs - МК Киргизия, RUB

    • sim_tjs - Моб ком TJS, RUB

    • simstjs - Мобком tjs, RUB

    • tip - Чаевые, RUB

    • TJS_QR - TJS

    • transgran - RUB

    • uniqr - uniqr [Уникальный QR], RUB

    • uruqr - Уругвай QR, UYU

    • uzcard - UZS

    • ves_bolivar - Венесуэла Боливар, VES

    • vpay - RUB

  • currency (string, необязательно): Валюта платежа (RUB, UZS, KZT, IDR, PKR, BDT, VND, PHP, EUR и др.)

  • callbackUri (string): URI для отправки колбэков.

  • successUri (string): URI для редиректа при успешной оплате.

  • failUri (string): URI для редиректа при неуспешной оплате.

  • payer (object): Информация о плательщике.

Пример объекта payer

{
  "payer": {
    "userId": "u-4095",
    "userIp": "188.11.55.10",
    "customerName": "Иван Иванов",
    "phone" : "37434343434",
    "email" : "[email protected]",
    "senderBank": "sber", // (string, необязательно, conditional-обязательно for cross‑border methods) — Идентификатор банка плательщика. Используется для курсов, маршрутизации и лимитов трансграничных платежей. Передавайте slug в нижнем регистре ([a-z0-9_-], макс. 32 символа), например "tbank", "sber", "vtb", "alfa".
    "fingerprint": "device_id", // (string, необязательно) — Отпечаток устройства для антифрода.
    "type": "trusted", // (string, необязательно) ftd/std/trusted
    "payments": {
      "successful": 5,
      "expired": 1
    }
  }
}

  • payer.fingerprint (string, обязательно): Уникальный идентификатор устройства/сессии пользователя.

Варианты генерации:

  1. Browser: a hash of userAgent + screen + timezone

  2. Mobile app: device_id (Android ID / IDFV)

  3. Server-side integration: a session UUID or a hash of userId + userAgent

Примеры допустимых значений:

  • "7a3f2b1c" (hex hash)

  • "550e8400-e29b-41d4-a716-446655440000" (UUID)

  • "user_123_session_abc" (arbitrary string)

Максимальная длина: 64 characters

Пример тела запроса

json
{
  "amount": "2000",
  "orderId": "builders-twsesssts-UbsвDssыssHs7sOw2",
  "currency": "INR",
  "method": "upi",
  "merchantId": "lbjk0tqfpgbqeaainyuq6aye",
  "callbackUri": "https://test.local/callback"
}

Примеры ответов

AZN ECOM (200)

json
{
  "status": true,
  "result": {
    "id": "affea489a-d8bc-4bcd-9d78-99ae1a0fa82bg",
    "state": "created",
    "method": "az_ecom"
  },
  "url": "https://checkout.com/affea489a-d8bc-4bcd-9d78-99ae1a0fa82bg"
}

INR UPI (200)

json
{
  "status": true,
  "result": {
    "id": "ae5d4e8df-1aa3-4942-b79a-5acddba8d3f0g",
    "state": "pending",
    "address": "8986768",
    "bank": "indusind",
    "recipient": "Namrata Cherian",
    "rate": 85.26,
    "amount": 1000,
    "init_amount": 1000,
    "bankName": "Indusind Bank"
  },
  "url": "https://checkout.com/66dc4b308b78c"
}

RUB P2P (200)

json
{
  "status": true,
  "result": {
    "id": "pcafecfdf-b34a-4b33-897b-e081f227a472r",
    "state": "pending",
    "address": "11111111111",
    "bank": "rocketbank",
    "country": "RUB",
    "recipient": "vasya johnson",
    "rate": "80.58",
    "amount": "5500.00",
    "init_amount": "5500.00",
    "bankName": "Рокет Банк",
    "message": null,
    "commission": "10.00",
    "usdt_amount": 61.429635145197324,
    "expired_at": "2025-11-26T19:08:11.000000Z",
    "method": "c2c"
  },
  "url": "https://checkout-flow/pcafecfdf-b34a-4b33-897b-e081f227a472r"
}

Invalid amount (400)

json
{
  "status": false,
  "error": {
    "code": 400,
    "message": "Invalid amount",
    "details": "The amount should be between 500 and 300000."
  }
}

Merchant not found (404)

json
{
  "status": false,
  "error": {
    "code": 40401,
    "message": "Merchant not found",
    "details": "The specified merchantId does not exist or is invalid."
  }
}

RUB CrossBoard (200)

json
{
  "status": true,
  "result": {
    "id": "66dc4b308b78c",
    "state": "pending",
    "address": "+992200115507",
    "bank": "dcitybank",
    "recipient": "Иванов Иван Иванович",
    "rate": 91.93,
    "amount": 1000,
    "init_amount": 1000,
    "bankName": "Душанбе Сити Банк",
    "message": "Выберите перевод по номеру телефона, введите скопированный номер, выберете банк Душанбе Сити Банк, введите сумму, подтвердите перевод"
  },
  "url": "https://checkout.com/66dc4b308b78c"
}

Create Payment (payin) (400)

json
{
  "status": false,
  "error": {
    "code": 40003,
    "message": "No available methods",
    "details": "No payment methods configured for this merchant and type."
  }
}