HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //proc/self/root/tmp/360live-test-draft-variants.cjs
const fs=require('fs');
function loadEnv(p){if(!fs.existsSync(p))return;for(const line of fs.readFileSync(p,'utf8').split(/\r?\n/)){const t=line.trim();if(!t||t.startsWith('#')||!t.includes('='))continue;const [k,...r]=t.split('=');if(process.env[k.trim()]===undefined)process.env[k.trim()]=r.join('=').trim().replace(/^['"]|['"]$/g,'')}}
loadEnv('/home/360live.stream/services/api/.env');
const apiUrl=process.env.HOSTBILL_API_URL,api_id=process.env.HOSTBILL_API_ID,api_key=process.env.HOSTBILL_API_SECRET;
async function call(call,extra){const body=new URLSearchParams({api_id,api_key,call,...extra});const r=await fetch(apiUrl,{method:'POST',headers:{'content-type':'application/x-www-form-urlencoded'},body});const txt=await r.text();let j=null;try{j=JSON.parse(txt)}catch{}return {status:r.status,json:j,text:txt.slice(0,220)}}
(async()=>{const variants=[{name:'product_m',args:{prod_type:'service',product:'875',cycle:'m',host:'360live-test-variant.internal'}},{name:'product_free',args:{prod_type:'service',product:'875',cycle:'free',host:'360live-test-variant.internal'}},{name:'item_id_m',args:{prod_type:'service',item_id:'875',cycle:'m',host:'360live-test-variant.internal'}},{name:'product_m_zero_billing',args:{prod_type:'service',product:'875',cycle:'m',host:'360live-test-variant.internal','billing[price]':'0','billing[setup]':'0'}}]; const out=[]; for(const v of variants){const d=await call('createOrderDraft',{client_id:'10601',notes:'360live entitlement test variant - no revenue'}); const id=d.json?.draft_id; let item=null; if(id)item=await call('addOrderDraftItem',{id:String(id),...v.args}); out.push({variant:v.name,draft_ok:Boolean(id),draft_id:id?String(id):null,item_success:Boolean(item?.json?.success),item_error:item?.json?.error||null,item_sample:item?.text||null});} console.log(JSON.stringify(out,null,2));})().catch(e=>{console.error(e.message);process.exit(1)});