Я использую L5 и хочу интегрировать в эту систему свои покупки через PayPal. Песочница уже настроена, и я могу совершать все платежи, используя настоящий пакет API PayPal, но, поскольку я хочу попробовать сделать это с помощью Omnipay, у меня возникают некоторые трудности:
Когда я выполняю этот код:
Route::get('test', function()
{
$gateway = Omnipay::create('PayPal_Rest');
$gateway->setClientId('{my id}');
$gateway->setSecret('{my secret}');
$gateway->setTestMode(true);
$params = array(
'cancelUrl' => 'http://webshop.app',
'returnUrl' => 'http://webshop.app/testresp',
'name' => 'Your Purchase',
'description' => 'Your Description',
'amount' => '15.99',
'currency' => 'EUR'
);
Session::put('params', $params);
Session::save();
$resp = $gateway->purchase($params)->send();
if ($resp->isSuccessful()) {
// payment was successful: update database
print_r($resp);
} elseif ($resp->isRedirect()) {
// redirect to offsite payment gateway
$resp->redirect();
} else {
// payment failed: display message to customer echo
$resp->getMessage();
}
});
Я понимаю: InvalidRequestException in AbstractRequest.php line 122:
The card parameter is required
Похоже, мне придется инициировать эту покупку с помощью информации о кредитной карте клиента, которую я не хочу собирать (следовательно, в первую очередь используя PayPal). Есть ли способ использовать этот API без использования кредитной карты?
Мне не нравится использование Express API, поскольку я не хочу, чтобы мое имя пользователя и пароль PayPal были в моем коде. По нескольким причинам.