Référence API
L'URL de base de LicenseChain Core API est https://api.licensechain.app/v1. L'authentification utilise Authorization: Bearer <user-jwt-or-app-api-key>.
Carte guide axée sur le flux de travail
Produits API
Les produits peuvent être entièrement gérés via le API (liste, création, lecture, mise à jour PUT/PATCH, suppression), y compris les mêmes champs que l'interface utilisateur des produits du vendeur Dashboard. Utilisez PATCH pour les mises à jour partielles.
Créer une demande de produit
{
"name": "Pro Monthly",
"description": "Recurring access to premium feature set",
"price": 49.99,
"currency": "USD",
"active": true,
"successUrl": "https://merchant.example.com/pay/success",
"cancelUrl": "https://merchant.example.com/pay/cancel",
"helpUrl": "https://merchant.example.com/help",
"supportUrl": "https://merchant.example.com/support",
"termsUrl": "https://merchant.example.com/terms",
"privacyUrl": "https://merchant.example.com/privacy",
"refundUrl": "https://merchant.example.com/refund",
"productType": "subscription",
"billingType": "recurring",
"interval": "month",
"stripePriceIdRecurring": "price_1AbCdEfGhIjKlMn",
"stripeTaxEnabled": true,
"stripeIdentityRequired": false,
"cryptoPaymentsEnabled": true,
"hideEmail": false,
"autoRedirect": false
} Réponse du produit
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"userId": "user_123",
"name": "Pro Monthly",
"description": "Recurring access to premium feature set",
"price": 49.99,
"currency": "USD",
"active": true,
"successUrl": "https://merchant.example.com/pay/success",
"cancelUrl": "https://merchant.example.com/pay/cancel",
"helpUrl": "https://merchant.example.com/help",
"supportUrl": "https://merchant.example.com/support",
"termsUrl": "https://merchant.example.com/terms",
"privacyUrl": "https://merchant.example.com/privacy",
"refundUrl": "https://merchant.example.com/refund",
"productType": "subscription",
"billingType": "recurring",
"interval": "month",
"stripePriceIdRecurring": "price_1AbCdEfGhIjKlMn",
"stripeTaxEnabled": true,
"stripeIdentityRequired": false,
"cryptoPaymentsEnabled": true,
"hideEmail": false,
"autoRedirect": false,
"licenseEmails": [
"licenses-a@merchant.example.com",
"licenses-b@merchant.example.com"
],
"sendLicenseToCustomer": true,
"callbackSecret": "base64url_or_base64_secret_from_product_record",
"createdAt": "2026-05-11T07:00:00.000Z",
"updatedAt": "2026-05-11T07:00:00.000Z"
} Statut de la transaction API
Utilisez POST /transaction/status pour une transaction et POST /transactions pour les détails par lots.
Demande de statut
{
"transaction": "pi_3RxExample123"
} Réponse d'état
{
"status": 200,
"transactionStatus": "paid",
"transactionStatusReason": "Transaction successfully completed",
"info": "",
"transaction": {
"transactionId": "pi_3RxExample123",
"transactionStatus": "paid",
"statusReason": "Transaction successfully completed",
"licenseId": "lic_abc123",
"productId": "prod_8c9a1d74",
"amount": 49.99,
"currency": "USD",
"email": "buyer@example.com",
"timestamp": "2026-05-11T07:01:00.000Z",
"paymentProvider": "stripe"
}
} Vérification de la licence et JWT
Vérifier la demande
{
"key": "LC-XXXXXX-XXXXXX-XXXXXX",
"hwuid": "optional-device-id"
} Vérifier la réponse (avec jeton de licence facultatif)
{
"valid": true,
"status": "ACTIVE",
"expiresAt": "2025-12-31T23:59:59Z",
"email": "user@example.com",
"verificationType": "custom",
"license_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImxpY2Vuc2VjaGFpbi0xIn0....signature",
"license_token_expires_at": "2024-01-01T01:00:00.000Z",
"license_jwks_uri": "https://api.licensechain.app/v1/licenses/jwks"
}