Renouveler un service
curl --request POST \
  --url https://kennhosting.com/api/v1/services/{service_uuid}/renew \
  --header 'Authorization: Bearer <token>'

Requête

Un renouvellement crée une commande (Order) de type renewal, en statut pending, avec un montant basé sur le plan et la période choisie. Le paiement s’effectue ensuite comme pour une facture (ex. POST /v1/invoices/{order_uuid}/pay).
POST /v1/services/{service_uuid}/renew
Authorization: Bearer kh_live_xxxx
Content-Type: application/json

Paramètres de chemin

ParamètreTypeRequisDescription
service_uuidUUIDOuiUUID public du service (Service.uuid)

Corps de la requête

{
  "period_months": 12,
  "payment_method": "auto"
}
ChampTypeRequisDescription
period_monthsintegerNon1, 3, 6 ou 12 (défaut : 12). Détermine la période de facturation (monthly, semi-annual, annual).
payment_methodstringNonnotchpay, mobile_money, card ou auto (défaut). Influence le checkout_mode de la commande (auto ou manual).

Réponse (201 Created)

{
  "success": true,
  "data": {
    "order_id": "550e8400-e29b-41d4-a716-446655440000",
    "order_number": "KH-ABCDEFGHIJ",
    "amount": 12000,
    "billing_period": "annual",
    "period_months": 12,
    "status": "pending"
  }
}
ChampDescription
order_idUUID de la commande / facture à payer
order_numberNuméro interne affiché sur la facture
amountMontant total (XAF)
billing_periodmonthly, semi-annual ou annual
statusStatut de la commande (souvent pending tant que le paiement n’est pas initié)

Consulter une commande de renouvellement

Une fois l’UUID de commande connu (champ order_id ci-dessus), vous pouvez suivre l’état du renouvellement :
GET /v1/renewals/{order_uuid}
Authorization: Bearer kh_live_xxxx
Permission : services:read La réponse inclut notamment uuid, status, montants, dates, et un objet service (domaine, expiration, etc.) si un service est lié à cette commande.

Payer la commande

Utilisez le flux factures :
POST /v1/invoices/{order_uuid}/pay
Permission : invoices:pay Consultez aussi Payer une facture et Statut d’un paiement.

Permissions requises

  • POST …/renew : services:renew
  • GET …/renewals/{order_uuid} : services:read
Les clés sandbox (kh_test_) sont en lecture seule : les POST / PATCH / DELETE retournent 403 avec le code sandbox_read_only. Testez les renouvellements avec une clé live (kh_live_).