2017-01-17 9 views
2

LaravelとGoCardlessを統合してユーザーがカード決済を利用できるようにしていますが、私はGoCardless PHPラッパーのインストールに苦労しています。Laravel GoCardless

私は次のdoc続いてきました:それは次のように使用することを言います https://developer.gocardless.com/getting-started/partners/building-an-authorisation-link/

を、私は右、これは私のコントローラに行こうと言っにいますか?確かにLaravelと私はvendor/autoloadを要求する必要はありませんか?

<?php 
require 'vendor/autoload.php'; 

// You should store your client ID and secret in environment variables rather than 
// committing them with your code 
$client = new OAuth2\Client(getenv('GOCARDLESS_CLIENT_ID'), getenv('GOCARDLESS_CLIENT_SECRET')); 

$authorizeUrl = $client->getAuthenticationUrl(
    // Once you go live, this should be set to https://connect.gocardless.com. You'll also 
    // need to create a live app and update your client ID and secret. 
    'https://connect-sandbox.gocardless.com/oauth/authorize', 
    'https://acme.enterprises/redirect', 
    ['scope' => 'read_write', 'initial_view' => 'login'] 
); 

// You'll now want to direct your user to the URL - you could redirect them or display it 
// as a link on the page 
header("Location: " . $authorizeUrl); 

謝罪、誰かが正しい方向に私を指摘することができれば感謝します。

コントローラは現在のようです。

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use App\Http\Requests; 

class goCardlessController extends Controller 
{ 
    public function index() 
    { 
     $client = new OAuth2\Client(env('GOCARDLESS_CLIENT_ID'), env('GOCARDLESS_CLIENT_SECRET')); 

     $authorizeUrl = $client->getAuthenticationUrl(
      'https://connect-sandbox.gocardless.com/oauth/authorize', 
      'REDIRECT_URL', 
      ['scope' => 'read_write', 'initial_view' => 'login'] 
     ); 

     header("Location: " . $authorizeUrl); 
    } 
} 

が、私はエラーを取得:

Class 'App\Http\Controllers\OAuth2\Client' not found

私は私のコントローラでそれを定義していないが、Imは私がこれを行うだろうか疑問ので、理にかなっていますか?

答えて

1

は、あなたのコントローラでこれを試してみてください:

use Oauth2; 

または代わりに、$client = new \OAuth2\Client(....はのOAuth2

前に\を注意してください。