Я не знаю, возможно ли это или это полное безумие, но я пытаюсь выполнить метод PHP из вызова AJAX, используя OctoberCMS Ajax Framework(Я предполагаю, что это использует jQuery за этим) и не работает, потому что я никогда не получаю перенаправление на сайт PayPal. PHP-код, который я пытаюсь заставить работать, это:
protected function onExecutePurchaseMethod()
{
Omnipay::gateway('PayPal_Express');
$params = [
'username' => $this->username,
'password' => $this->password,
'signature' => $this->signature,
'testMode' => $this->sandboxMode,
'amount' => Session::get('amountToReload'),
'cancelUrl' => url( 'payment/step4', "", $secure = null ),
'returnUrl' => url( 'payment/step2', "", $secure = null ),
'currency' => 'USD'
];
$response = Omnipay::purchase($params)->send();
if ($response->isSuccessful()) {
var_dump($response);
} else {
var_dump($response->getMessage());
}
}
Что происходит, поскольку ни одно перенаправление на PayPal не выполняется, а страница много раз зависает, заставляя меня закрыть браузер и открыть снова, ни один метод не выполняется и никаких видимых ошибок. Можно сделать то, что я пытаюсь сделать? Разве это не безумие? Если это возможно, где моя ошибка?
В качестве дополнительной информации я использую Barryvdh Laravel-omnipay пакет для ручки Omnipay изнутри Laravel.
После краткого просмотра документации, я думаю, что вам не хватает обязательного поля для purchase()
метод. Я считаю, что вам нужно card
параметр (даже если он неверный), чтобы получить его для обработки.
Других решений пока нет …