【问题标题】:PayPal does not show order summary-OmnipayPayPal 不显示订单摘要-Omnipay
【发布时间】:2016-09-17 14:01:24
【问题描述】:

我有一个 Paypal 重定向功能,因为我在参数中传递了一些值..

它只通过Description 字段不显示要支付的金额,以及我的订单摘要的其余部分..

这是我的功能

public function postPayment() 
{   
    $hot_id     = \Session::get('hot_id');
    $user_id    = \Session::get('uid');
    $check_in   = \Session::get('check_in');
    $check_out  = \Session::get('check_out');
    $mem_count  = \Session::get('mem_count');
    $rm_no      = \Session::get('rm_no');

    $check_in   = strtotime($check_in);
    $check_in   = date('Y-m-d',$check_in);

    $check_out  = strtotime($check_out);
    $check_out  = date('Y-m-d',$check_out);

    $datediff   = strtotime($check_out) - strtotime($check_in);
    $diff       = floor($datediff/(86400));

    $room_prize = \DB::select("SELECT `room_prize` FROM `abserve_hotel_rooms` WHERE `room_id` = ".$_POST['room_id']);
    $arr = array();
        foreach ($room_prize as $key => $value) {
            $arr[]= (get_object_vars($value));
        }
        $room_prize = array();
        foreach ($arr as $key => $value) {
            $room_prize[]=($value['room_prize']);
        }
    if($rm_no == 1)
    {
        $room_prize = (int) $room_prize[0] * (int) $diff;
    }
    else
    {
        $room_prize = (int) $room_prize[0] * (int) $diff * (int) $rm_no;
    }

    $room_prize = number_format((float)$room_prize, 2, '.', '');
    $room_id    = $_POST['room_id'];

    $today      = new DateTime();
    $created_at = $today->format('Y-m-d');

    $values = array('user_id' => $user_id,'hotel_id' => $hot_id,'room_id'=>$room_id,'room_prize'=>$room_prize,'check_in'=>$check_in,'check_out'=>$check_out,'created_at'=>$created_at);

    \DB::table('abserve_orders')->insert($values);

    $order_id = DB::select("SELECT `id` FROM `abserve_orders` WHERE `room_id` = ".$_POST['room_id']." AND `user_id` = ".$user_id);
    $arr = array();
        foreach ($order_id as $key => $value) {
            $arr[]= (get_object_vars($value));
        }
        $order_id = array();
        foreach ($arr as $key => $value) {
            $order_id[]=($value['id']);
        }
        $order_id = $order_id[0];

        $params = array(
                'cancelUrl'     => url().'/cancel_order',
                'returnUrl'     => url().'/payment_success', 
                'name'          => 'new order',
                'description'   => 'description1', 
                'amount'        => $room_prize,
                'currency'      => 'USD',
                'hot_id'        => $hot_id,
                'room_id'       => $room_id,
                'user_id'       => $user_id,
                'check_in'      => $check_in,
                'check_out'     => $check_out,
                'order_id'      => $order_id,
                'nights'        => $diff,
        );
        // print_r($params);exit;
        \Session::put('params', $params);
        \Session::save();  

        $gateway = Omnipay::create('PayPal_Express');

        $gateway->setUsername('googley555_api1.yahoo.com');
        $gateway->setPassword('3EQ6S6PB68A52JKZ');
        $gateway->setSignature('AFcWxV21C7fd0v3bYYYRCpSSRl31AHaEiWOLAf5jQQ3-A9hLlhypSz9h');
        $gateway->setTestMode(true);

    $response = $gateway->purchase($params)->send();

        if ($response->isSuccessful()) {

            // payment was successful: update database
            print_r($response);

    } elseif ($response->isRedirect()) {

            // redirect to offsite payment gateway
            $response->redirect();

    } else {

          // payment failed: display message to customer
          echo $response->getMessage();

    }
}

我不知道其中缺少什么..

有人请帮帮我..

【问题讨论】:

    标签: php paypal laravel-5.1 omnipay


    【解决方案1】:

    您不能将任意参数(例如 hot_id、room_id 等)传递给 PayPal(或 omnipay),因为它不知道如何处理它们。 PayPal 只打算采用某些参数,而 PayPal 不采用的参数会被 Omnipay 忽略。

    您可能必须提供所有这些额外参数作为描述参数的一部分,PayPal 确实理解这些参数。

    理想情况下,您的应用程序应该在将用户重定向到 PayPal 结帐页面之前以某种有用的格式向用户显示这些内容。

    【讨论】:

      猜你喜欢
      • 2017-08-12
      • 2017-11-07
      • 2012-10-25
      • 2015-03-21
      • 2012-07-09
      • 2013-12-05
      • 1970-01-01
      • 2015-12-09
      • 1970-01-01
      相关资源
      最近更新 更多