#laravel-4 #omnipay #paypal
#laravel-4 #omnipay #paypal
Вопрос:
Я искал повсюду и бегал кругами по OmniPays github, пытаясь найти документацию о том, как реализовать PayPal Express в OmniPay.
$response = Omnipay::purchase([
'amount' => $total,
'encodedTestIDs' => serialize($payForTestID),
'returnUrl' => 'http://php.bhiceu.com/payment/return',
'cancelUrl' => 'http://php.bhiceu.com/payment/cancel'
])->send();
//dd($response);
//die;
if ($response->isRedirect()) {
// redirect to offsite payment gateway
$response->redirect();
} else {
// payment failed: display message to customer
echo $response->getMessage();
}
Приведенный выше код успешно отправляет меня в PayPal с соответствующей суммой, и когда я отменяю или проверяю, я возвращаюсь к соответствующим URL-адресам, однако все, что я получаю обратно, — это токен paypal, с которым я не могу найти никакой документации о том, что делать.
Комментарии:
1. Ага… Omnipay кажется, что это может быть очень удобно, но документации просто не существует. Вы когда-нибудь выясняли ответ?
Ответ №1:
Вам необходимо завершить покупку с помощью метода completePurchase().
посмотрите на omnipay / пример кода на https://github.com/thephpleague/omnipay-example/blob/master/index.php#L203-L218
Ответ №2:
Ответ оказался довольно простым, но мне пришлось покопаться в исходном коде, поскольку документации для библиотеки не существует.
$response = Omnipay::completePurchase([
'amount' => $price,
'currency' => $currency
])->send();
Вы просто вызываете Omnipay::completePurchase
с тем же amount
и, что и currency
при первоначальном Omnipay::purchase
вызове.
После этого вы будете использовать Omnipay::fetchCheckout()->send()
для получения такой информации, как адрес доставки и т. Д.