Pay Mirror API

Эти конечные точки находятся на LicenseChain Pay, а не на ядре API. Базовый URL: https://pay.licensechain.app.

Используется после Mirror Payнагрузка (строгий режим) перенаправить поток. Источник истины: Pay поставщики услуг касс и платежей.

POST /api/checkout/mirror/validate

Подтверждение покупки на стороне сервера. Вызов после проверки параметра запроса перенаправления signature. Соответствует Pay validate/route.ts.

Запрос

POST https://pay.licensechain.app/api/checkout/mirror/validate
Content-Type: application/json

{
  "license": "LC-XXXX-XXXX",
  "email": "buyer@example.com"
}

Отправьте значение LCG из URL-адреса возврата как license. Используйте адрес электронной почты покупателя для выставления счетов (при сопоставлении указывается строчными буквами Pay). Отправьте not access_token для этой конечной точки.

Ответ (проверено)

{
  "success": true,
  "verified": true,
  "status": "successful",
  "purchase": {
    "id": "lic_abc123",
    "productId": "550e8400-e29b-41d4-a716-446655440000",
    "createdAt": "2026-05-11T07:01:00.000Z",
    "transactionId": "pi_3RxExample123"
  }
}

Ответ (не найден)

{
  "success": true,
  "verified": false,
  "status": "not_found"
}

Выполняйте доступ только тогда, когда verified: true. Mirror SDK отображает это как verifyPurchase().

POST /api/checkout/mirror/subscription/charge

Взимайте плату за продление подписки стороннего платежного партнера со своей серверной части (например, плановый платеж по подпискам WooCommerce). Требуется действительный продукт callback_secret и идентификатор подписки, возвращаемый при первой проверке.

Запрос

{
  "subscription_id": "sub_1AbCdEfGhIjKlMn",
  "amount": 49.99,
  "currency": "USD",
  "callback_secret": "your_product_callback_secret"
}

Успешный ответ

{
  "success": true,
  "charged": true,
  "invoice_id": "in_1AbCdEfGhIjKlMn",
  "message": "Invoice paid"
}
  • 400 — неверный JSON или отсутствующие поля.
  • 404 — подписка не найдена или уже отменена.
  • 503 — сторонний платежный партнер, не настроенный на Pay.

Связанные руководства