Интеграция TutuPay

Позвольте продукту взимать плату за доп. услуги из общего баланса Tutu — без создания платёжного стека.

Интеграция за три шага

  1. 1

    Скопируйте SDK

    Скопируйте lib/pay-sdk/index.ts в репозиторий продукта.

  2. 2

    Создайте экземпляр

    Вызовите createTutuPay({ clientId }) со своим clientId.

  3. 3

    Запустите оплату

    Вызовите pay.checkout({ sku }); всплывающее окно обрабатывает вход, заказ и оплату.

import { createTutuPay } from '$lib/pay-sdk';

const pay = createTutuPay({
  baseUrl: import.meta.env.VITE_TUTUPAY_URL,
  clientId: 'tutuedit'
});

const r = await pay.checkout({ kind: 'export_credits', sku: 'pack_100' });
if (r.status === 'paid') {
  // grant credits idempotently on your side; use r.orderId to double-check
}

Как это работает

Размещённая касса выполняет вход, заказ и оплату во всплывающем окне (тот же корень доверия tutuid, без повторного входа) и возвращает результат через postMessage; ваш продукт не касается баланса и платёжных данных. Добавьте SKU одной строкой в backend orders.rs sku_price().

Открыть демо интеграции