I'm trying to get the post back system to auto upgrade a membership after successful payment through ccbill, but I can't get it to work.
The page that passes the info on is:
PHP Code:
{strip}

<
form action='https://bill.ccbill.com/jpost/signup.cgi' method=POST>

    <
table width="100%" border="0" cellpadding="0" cellspacing="0" >

        <
tr>

            <
td class="module_detail" width="100%">

                {
assign var="page_hdr01_text" value="{lang mkey='confirmation'}"}
                {
assign var="page_title" value="{lang mkey='confirmation'}"}

                {include 
file="page_hdr01.tpl"}

                <
table border="0" cellpadding="{$config.cellpadding}" cellspacing="{$config.cellspacing}" width="100%">



                    <
tr><td>{lang mkey='info_confirm'}</td></tr>

                    <
tr><td>{lang mkey='name'}{$smarty.session.FullName|stripslashes}

                        </
td></tr>

                    <
tr><td>{lang mkey='change_mship_to'}<b>{$item_name}</b>.</td></tr>

                    <
tr><td>{lang mkey='amount'}{mylang mkey='support_currency' skey=$currency}{$amount}</td></tr>

                    <
tr><td>
                            <
div align="center"><b><font color="#BBAAGG" size="4" face="Verdana, Arial, Helvetica, sans-serif">PAY BY CREDIT CARD</font></b><br>

                                <
input type=hidden name=clientAccnum value='{$accNum}'>

                                <
input type=hidden name=clientSubacc value='{$subaccNum}'>

                                <
input type=hidden name=formName value='{$formName}'>

                                <
input type=hidden name=language value='English' >

                                <
input type=hidden name=currencyCode value='840' >

                                <
input type=hidden name=allowedTypes  value='{$allowedTypes}:840'>

                                <
input type=hidden name=subscriptionTypeId value='{$subType}:840'>

                                <
input type=hidden name=invoiceid value='{$invoice_no}' >

                                <
input type=hidden name=username value='{$smarty.session.UserName}' >

                                <
input type=hidden name=password value='{$smarty.session.password}' >

                                <
input type=hidden name=confirm_password value='{$smarty.session.password}' >

                                <
input type=hidden name=customer_fname value='{$smarty.session.FirstName}' >

                                <
input type=hidden name=customer_lname value='{$smarty.session.FirstName|replace:$smarty.session.FirstName:""}' >

                                <
input type=hidden name=paid_thru value='ccbill' >

                                <
input type="submit" name="submit" value="Pay Now">

                            </
div></form>
                                                    <
form action='https://bill.ccbill.com/jpost/signup.cgi' method=POST>
                                                    <
br><div align="center"><b><font color="#BBAAGG" size="4" face="Verdana, Arial, Helvetica, sans-serif">PAY BY ELECTRONIC CHECK</font></b><br>

                                <
input type=hidden name=clientAccnum value='{$accNum}'>

                                <
input type=hidden name=clientSubacc value='{$subaccNum}'>

                                <
input type=hidden name=formName value='{$formName2}'>

                                <
input type=hidden name=language value='English' >

                                <
input type=hidden name=currencyCode value='840' >

                                <
input type=hidden name=allowedTypes  value='{$allowedTypes}:840'>

                                <
input type=hidden name=subscriptionTypeId value='{$subType}:840'>

                                <
input type=hidden name=invoiceid value='{$invoice_no}' >

                                <
input type=hidden name=username value='{$smarty.session.UserName}' >

                                <
input type=hidden name=password value='pass{$smarty.session.UserName}' >

                                <
input type=hidden name=confirm_password value='pass{$smarty.session.UserName}' >

                                <
input type=hidden name=customer_fname value='{$smarty.session.FirstName}' >

                                <
input type=hidden name=customer_lname value='{$smarty.session.FirstName|replace:$smarty.session.FirstName:""}' >

                                <
input type=hidden name=paid_thru value='ccbill' >

                                <
input type="submit" name="submit" value="Pay Now">

                            </
div>


                        </
td>

                    </
tr>

                </
table>

            </
td>

        </
tr>
    </
table>

</
form>

{/
strip
The post back page after successful payment is:
PHP Code:
<?php
if ( !defined'SMARTY_DIR' ) ) {
    include_once( 
'init.php' );
}
//already processed subscription_id, exit
$trnrec=$osDB->getRow('select * from ! where txn_id = ? ', array(TRANSACTIONS_TABLE$_POST['subscription_id'] ));
if( 
$trnrec['id'] )
 exit;

// amount paid is less than amount expected
$trnrec=$osDB->getRow('select * from ! where invoice_no = ? ', array(TRANSACTIONS_TABLE$_POST['invoiceid'] ));
if( 
$_POST['initialPrice']   < $trnrec['amount_paid']   )
  {
    
$params['payment_status'] = 'Error';
    }
    else {

    
// deals with both Approval and Denial URLs
      
if (  isset($_POST['subscription_id']) && strlen($_POST['subscription_id']) >  ) {
          
$params['payment_status'] = 'Completed';
      } elseif (  isset(
$_POST['reasonForDecline'])  ) {
          
$params['payment_status'] = 'Declined';
      } else {
$params['payment_status'] = 'Error'; }
}

$params['txn_id'] = $_POST['subscription_id'];
$params['valid'] = true;
$params['pay_txn_id'] = $pay_txn_id $_POST['invoiceid'];
$params['paid_thru'] = 'ccbill';
$params['amount'] = $_POST['initialPrice'];
$params['email'] = $_POST['email'];
$params['vars']  = serialize($_POST);

$level_name process_payment_info($params);

$levels =$osDB->getRow('select mem.name, trn.payment_status from ! as trn, ! as mem where trn.invoice_no = ? and mem.roleid = trn.to_membership', array(TRANSACTIONS_TABLEMEMBERSHIP_TABLE$pay_txn_id) );

$t->assign 'level'$levels['name'] .' - Status: '.$levels['payment_status']);

$_SESSION['security'] = '';

hasRight('');

$t->assign('rendered_page'$t->fetch('checkout_process.tpl') );

$t->display'index.tpl' );

exit;

?>
Anyone have any ideas on this?