Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Payumoney Codeigniter集成_Codeigniter_Payment_Payumoney - Fatal编程技术网

Payumoney Codeigniter集成

Payumoney Codeigniter集成,codeigniter,payment,payumoney,Codeigniter,Payment,Payumoney,我正在研究CodeIgniter payUmoney集成。我有一个注册表单,其中一个注册并通过payUmoney支付网关获得支付,该表单还包含多个选择字段。我需要使用payUmoney支付网关。 因此,请帮助我在CodeIgniter中成功完成事务后如何将记录插入数据库 实际上这是我的表格。现在,我想提交的表格,但成功付款后。对于我来说,有一个小问题,我将在哪里存储数据,直到付款成功。表示我希望在成功事务后存储数据。还有一件事,还有多个选择下拉列表,所以请帮助我如何在使用payUmoney进行交

我正在研究CodeIgniter payUmoney集成。我有一个注册表单,其中一个注册并通过payUmoney支付网关获得支付,该表单还包含多个选择字段。我需要使用payUmoney支付网关。 因此,请帮助我在CodeIgniter中成功完成事务后如何将记录插入数据库


实际上这是我的表格。现在,我想提交的表格,但成功付款后。对于我来说,有一个小问题,我将在哪里存储数据,直到付款成功。表示我希望在成功事务后存储数据。还有一件事,还有多个选择下拉列表,所以请帮助我如何在使用payUmoney进行交易后将数据存储到数据库中

您最新评论的答案。校验和错误是由于哈希不匹配造成的。将表单提交到payu/checkout.php后,checkout.php将向(测试url)提交表单

在payu/checkout.php中

function checkout() {

        $MERCHANT_KEY = "enter your test merchant key here";
        $SALT = "enter your test salt here";

        $txnid = substr(hash('sha256', mt_rand() . microtime()), 0, 20);

        $udf1='';
        $udf2='';
        $udf3='';
        $udf4='';
        $udf5='';

        $hashstring = $MERCHANT_KEY . '|' . $txnid . '|' . $grandtotal . '|' . $productinfo . '|'. $fname . '|' . $email .'|'.$udf1.'|' .$udf2.'|' .$udf3.'|'.$udf4.'|'.$udf5.'||||||'. $SALT;

        $hash = strtolower(hash('sha512', $hashstring));
        $data['hash'] = $hash;

        //Loading checkout view
        $this->load->view('checkout.php');
}
在checkout.php中,您必须向提交一个表单,其中包含我在哈希生成中使用的除salt之外的所有字段。散列字段也是这种形式

<form method="post" name="payuForm" action="https://test.payu.in/_payment">

        <input name="key" type="hidden" value="<?php echo $mkey ?>" />
        <input name="txnid" type="hidden"  value="<?php echo $tid ?>" />
        <input type="hidden" name="hash" value="<?php echo $hash ?>"/>

        <input name="amount" type="hidden" value="<?php echo $grandtotal; ?>" />

        <input name="productinfo" type="hidden" value="<?php echo $pinfo;?>">

        <input type="hidden" name="service_provider" value="payu_paisa" size="64" />
        <input name="udf1" type="hidden" value="">
        <input name="udf2" type="hidden" value="">
        <input name="udf3" type="hidden" value="">
        <input name="udf4" type="hidden" value="">
        <input name="udf5" type="hidden" value="">

        <input name="firstname" id="firstname" type="hidden" value="<?php  echo $name; ?>"/>

        <input name="email" id="email"  type="hidden"  value='<?php echo $mailid;?>'>

        <input name="phone"   type="hidden"  value="<?php echo $phoneno; ?>">
        <input name="surl" type="hidden" value="<?php echo base_url('payu/success'); ?>" size="64" />
        <input name="furl" type="hidden" value="<?php echo base_url('payu/fail'); ?>" size="64" />
        <input name="curl" type="hidden" value="<?php echo base_url('payu/cancel'); ?>" />

        <?php
        }
        ?>
        <input type="submit" name="submit_form" value="Click Here for Payment" class="btn btn-info btn-block" >
    </form>

我做了一个CodeIgniter payumoney项目。但我不明白你到底有什么问题。在payumoney返回到成功方法后,只需将事务状态从initiated更改为success。记住检查返回哈希验证以避免潜在的hack.Thanx james攻击您的feedbaxk。但我正在使用测试帐户。我想在付款成功后插入记录,那么当我填写表单并提交时,问题是什么?重定向到test.payu.ib//u payment。但它显示付款页面中的payumoney页面发生错误。另外,请告诉我如何在成功交易后插入记录。我的意思是,如果交易成功,那么我可以通过$this->input->post..插入记录吗?请帮助我,我有麻烦了。。。。Thnx您是否收到校验和错误或任何其他错误?请具体说明。我相信您有一个交易表来记录所有交易,包括交易id、支付金额、状态等字段。交易成功后,使用$this->input->post('status')更新您的状态;这是在验证返回哈希后由payumoney返回的。打印请求($);在您的成功方法将帮助您识别所有从payumoney.Thanx返回的回复,实际问题是当它重定向到pau登录页面时,它显示一个错误。。。。错误发生在页面上没有任何额外内容。您可以将错误页面图像与您的问题一起发布以供进一步分析,并请发布您正在汇总的隐藏表单。是的,James。谢谢你的支持。我已经这样做了,并发送了上一张表单中的所有表单控制值,但当支付成功时,我只得到了几个值,如firstname、amount、Email和phone。但我在隐藏字段中也有很多值。。我该怎么办。你是说你的付款成功了,那么你从哪里得到校验和错误?如果发生校验和错误,你如何使你的付款成功。不,我自己解决了这个问题,你继续支持。但是现在我得到了成功的结果,但是无法从隐藏的表单中获得所有的post值。我是否应该将所有字段传递到哈希或其他任何内容中?@jaydepgoswami udf是用户定义的函数。它们用于传递附加信息。它是一个可选字段,通常在我的所有情况下,它都是空字符串。@Jaydepgoswami如果该字段不是空的,您还应该在返回哈希计算中添加udf。返回哈希与事务哈希的顺序相反。
public function success()
{
    //print_r($_REQUEST);

    $status= $this->input->post('status');

    if($status =='success')
    {
        $txnid = $this->input->post('txnid');
        $amount = $this->input->post('amount');
        $productinfo = $this->input->post('productinfo');
        $firstname = $this->input->post('firstname');
        $hash = $this->input->post('hash');
        $email = $this->input->post('email');
        $udf1 = $this->input->post('udf1');
        $udf2 = $this->input->post('udf2');
        $udf3 = $this->input->post('udf3');
        $udf4 = $this->input->post('udf4');
        $udf5 = $this->input->post('udf5');
        $key = $this->input->post('key');



        $SALT ="Your salt";


        If (isset($_POST["additionalCharges"])) 
        {
            $additionalCharges=$_POST["additionalCharges"];
            $retHashSeq = $additionalCharges.'|'.$SALT . '|' . $status . '|||||||||||' . $email . '|' . $firstname . '|' . $productinfo . '|' . $amount . '|' . $txnid . '|' . $key;
        }else{
            $retHashSeq = $SALT . '|' . $status . '|||||||||||' .$udf5.'|'.$udf4.'|'.$udf3.'|'.$udf2.'|'.$udf1.'|'. $email . '|' . $firstname . '|' . $productinfo . '|' . $amount . '|' . $txnid . '|' . $key;

        }

        $rethash = hash("sha512", $retHashSeq);


        if ($rethash != $hash)
        {
            $data['errmsg'] = " Invalid Transaction . Error Occured";
            //echo "Return Hash failed";
           redirect('payu/err',$data);
        }

       // now begin your custome code if a transaction is success 

    }