paypal成功网址错误laravel

时间:2016-03-29 15:51:19

标签: php laravel paypal omnipay

我使用laravel Omni插件进行交易。付款完成后,我收到错误的成功网址。

public function  checkOut(Request $request)
{
    $params = array(
                'cancelUrl'     => 'http://localhost/vis/public/cancel_order',
                'returnUrl'     => 'http://localhost/vis/public/payment_success',
                'name'      => 'Meal',
                'description'   => 'Casper',
                'amount'    => '1.00',
                'currency'  => 'USD'
            );

    Session::put('params', $params);
    Session::save();
    $gateway = Omnipay::create('PayPal_Express');
    $gateway->setUsername('un');
    $gateway->setPassword('pwd');
    $gateway->setSignature('signature');
    $gateway->setTestMode(true);
    $response = $gateway->purchase($params)->send();

    if ($response->isSuccessful()) {
        print_r($params);
        redirect('payment_success/' . $this->orderNo);
        // 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();
    }
}

public function getSuccessPayment()
{
    $gateway = Omnipay::create('PayPal_Express');
    $gateway->setUsername('un');
    $gateway->setPassword('pwd');
    $gateway->setSignature('signature');
    $gateway->setTestMode(true);

    $params = Session::get('params');
    $response = $gateway->completePurchase($params)->send();
    $paypalResponse = $response->getData(); // this is the raw response object

    if(isset($paypalResponse['PAYMENTINFO_0_ACK']) && $paypalResponse['PAYMENTINFO_0_ACK'] === 'Success') {
        // Response
        print_r($params);
 //     print_r($paypalResponse);

    } else {

        //Failed transaction

    }
//  return View('result');
    print_r($params);
    print_r($paypalResponse);
}

我收到了以下错误

  

未找到   HTTP错误404.找不到请求的资源。   http://localhost/vis/public/payment_success?token=EC-1R845179Asss493N&PayerID=swdw3BS9REA4AN

1 个答案:

答案 0 :(得分:0)

看起来您可能忘记在routes.php中添加该路由,请确保您在routes.php中有类似的内容

import {Component} from 'angular2/core';
import {Jsonp} from 'angular2/http';

@Component({
  selector: 'my-app',
  template: `
    <div>
      Result: {{result | json}}
    </div>
  `
})
export class AppComponent {
  constructor(jsonp:Jsonp) {
    var url = 'https://accounts.google.com/logout&c=JSONP_CALLBACK';
    jsonp.request(url, { method: 'Get' })
     .subscribe((res) => {
       (...)
     });
  }
}

将StoreController更改为此功能所在的控制器的名称。