2017-01-17 2 views
2

Я интегрирую Laravel с GoKlessless, чтобы позволить моим пользователям принимать платежи по картам, однако я борюсь с установкой флеш-оболочки GoCardless.Laravel GoCardless

Я следовал следующий документ: https://developer.gocardless.com/getting-started/partners/building-an-authorisation-link/

Он говорит использовать следующее, я прав, говоря, это будет идти в мой контроллер? конечно же, с Laravel мне не нужно будет требовать от продавца/автозагрузки?

<?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

Смежные вопросы