GET /v1/tv/b2b/packages. The price comes from the package, less your discount, and is debited from your wallet. Poll GET /v1/tv/b2b/{reference} while it is PROCESSING.curl --location 'http://localhost:5050/v1/tv/b2b-subscribe' \
--header 'Idempotency-Key;' \
--header 'x-api-key: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"idempotencyKey": "5f0c7c1e-8a52-4a5e-9d0b-1c1f6f1d2a11",
"operator": "DSTV",
"smartcardNumber": "7034567890",
"packageCode": "COMPE36",
"phoneNumber": "08012345678"
}'{
"success": true,
"message": "Subscription renewed",
"statusCode": 200,
"path": "/v1/…",
"timestamp": "2026-09-26T12:00:00.000Z",
"hash": "a1b2c3d4-…",
"data": {
"transaction": {
"reference": "DB-TV-20250923-MFX2K9QZ-9A1B2C3D",
"type": "CABLE_TV",
"status": "SUCCESS",
"amount": 18620,
"recipient": "7034567890",
"network": "DSTV",
"planId": "COMPE36",
"description": "DStv DStv Compact",
"tokenOrPin": null,
"balanceBefore": 10000,
"balanceAfter": 9520,
"failureReason": null,
"createdAt": "2026-09-26T12:00:00.000Z"
}
}
}