0

私は現在、支払いオプションがある小さなショッピングカートcash on deliveryと、を使用した他の前払い支払いオプションを開発していますpayment gateway。今、私のカートのフローチャートは次のようになります

  1. 注文、住所入力
  2. 支払いオプションを選択します (代金引換またはプリペイド)
  3. 代金引換の場合 ご注文確定
  4. 前払いの場合は、支払いゲートウェイのページにリダイレクトします

そのため、顧客がオプションを選択すると、コントローラ関数はそれがまたはであるhandlePayment()かどうかをチェックします。ビュー ページが表示されている場合、または の場合は、必要なすべてのデータを含む支払いゲートウェイにリダイレクトする必要があります。CODPrepaidCODprepaidPOST

では、どうすればこのタスクを達成できるでしょうか?

4

3 に答える 3

1

CODの場合は $this->view->load('pagename); と書く必要があります。それ以外の場合は、別の関数を呼び出す必要があります $this->functionname($_POST);

于 2013-07-29T06:19:37.413 に答える
0

別の角度から -- 最初に、代金引換またはプリペイドの質問をしていただけますか? 次に、各「パス」を完全に分離します。特にアプリケーションが成長する場合、長期的にはアプリケーションにとってより良いものになる可能性があります。プリペイドトラックでより厳格なフォーム検証を行うことができれば(その情報の一部がクレジットカード検証の一部として使用される場合など)、支払いが直接行われる代金引換と比較して役立つ場合があります

于 2013-07-29T20:41:35.283 に答える
0

これを試してください。必要なものの大まかな仮定です:

function handlePayment(){
    if($this->input->post('type') == "COD"){
        $data   = array();
        $data   = $this->input->post(null);
        $this->load->view('cod', $data);
    }else if($this->input->post('type') == "prepaid"){
        $data   = array();
        $data   = $this->input->post(null);
        $this->prepaidPayment($data);  
    }
}

function prepaidPayment($data){
    //do something with the data which contains all the post variables
}
于 2013-07-29T06:32:39.720 に答える