我分享了我项目的一部分代码。在这里,我有7天的免费试用期。但是我想先授权充值0的卡。免费试用7天后完成。我将收取全部的订阅计划金额。
正如我们与支持团队讨论的那样。他们说要传递另一个参数名称si_is_setup_amt
。我们已经尝试过但没有成功。
您能检查我的代码,让我知道我的代码有什么问题吗?
代码:
require_once $_SERVER["DOCUMENT_ROOT"] . '/ccavenue/Crypto.php';
if(!empty($data)){
$merchant_id = 'merchant_id';
$access_code = 'access_code';
$working_key = 'working_key';
$url = 'https://test.ccavenue.com/transaction/transaction.do?command=initiateTransaction';
$name = 'John';
$email = 'test@example.com';
$currency = 'USD';
$start_date = '17-06-2019';
$amount = 100.00;
$redirect_url = base64_decode('my_redirect_url');
$cancel_url = base64_decode('my_cancel_url');
$order_id = 'XXX-102030';
$recurrence = strtoupper('month');
$frequency = 1;
$language = 'EN';
$si_amount = 10.00;
//$data['free_trail_period'] = 7
if (isset($data['free_trail_period']) && (intval($data['free_trail_period']) == 0)) {
$si_is_setup_amt = 'Y';
}else{
$si_is_setup_amt = 'N';
$amount = 1.00;
}
$billing_cicyle = 99;
$merchant_data='';
$merchant_data.='merchant_id='.$merchant_id;
$merchant_data.='&order_id='.$order_id;
//$merchant_data.='&order_id=111';
$merchant_data.='&amount='.$amount;
$merchant_data.='¤cy='.$currency;
$merchant_data.='&redirect_url='.$redirect_url;
$merchant_data.='&cancel_url='.$cancel_url;
$merchant_data.='&language='.$language;
$merchant_data.='&billing_name='.$name;
$merchant_data.='&billing_email='.$email;
if($data['is_si'] == 1){
$merchant_si_data = '&si_type=FIXED&si_is_setup_amt='.$si_is_setup_amt.'&si_amount='.$si_amount.'&si_start_date='.$start_date.'&si_frequency='.$frequency.'&si_frequency_type='.$recurrence.'&si_bill_cycle='.$billing_cicyle;
}
$merchant_data .= $merchant_si_data;
$encrypted_data= encrypt($merchant_data,$working_key);
}
$form = '<form method="post" name="redirect" action="'.$url.'" id="redirect_ccavenue">';
$form .= '<input type="hidden" name="encRequest" value="'.$encrypted_data.'" >';
$form .= '<input type="hidden" name="access_code" value="'.$access_code.'" >';
// $form .= '<input type="submit">';
$form .= '</form>';
return $form;