У меня есть следующий SuccessPayment метод:OmniPay - Laravel - Доработка Paypal Pyment
public function getSuccessPayment() {
$gatewayFactory = new \Omnipay\Common\GatewayFactory;
$gateway = $gatewayFactory->create('PayPal_Express');
#Test API Sandbox
$gateway->setUsername('xxxxxxx.de');
$gateway->setPassword('xxxxxxxxx');
$gateway->setSignature('xxxxx.xxxxx.xxxxx.xxxxxxx');
$gateway->setTestMode(true);
# FINALIZZZE PAYPAL PAYMENT
$response = $gateway->completePurchase($this->getApiInfos())->send();
$data = $response->getData();
# IF SUCCESSFULLLLLLL
if($data['ACK'] == 'Success'):
$order = Order::where('paypalToken',$data['TOKEN'])->first();
# Set Status
$order->orderSuccess = 4;
$order->orderPaid = 1;
# Set PP ID
$order->paypalTransactionId = $data['PAYMENTINFO_0_TRANSACTIONID'];
$order->save();
# Destroy Cart
Cart::destroy();
# Send Confirm Mail
$this->sendConfirmOrderMail($order->id, Auth::user()->id);
return View::make('pages.checkout.success', compact(['order','data']));
endif;
}
$ this-> getApiInfos() имеет полномочия и информацию, которые собираются ПП, вот метод:
public function getApiInfos($order = NULL) {
return array(
'amount'=> Cart::total(),
'cancelUrl' => \URL::route('paypal_cancel_order'),
'returnUrl' => \URL::route('paypal_return'),
'description' => 'Your Payment at xxxxxx - Order #',
'currency' => 'EUR'
);
}
Посмотрите на описание. Как я могу получить orderID в описании, после перенаправления на Paypal и после того, как я был перенаправлен обратно на мою страницу?
Я теряю сеанс и порядок (я думаю!), Так как я могу это сделать?
Кроме того, вы знаете, как я могу отправить стоимость доставки, налог и изображение заголовка в PayPal через Omnipay?
Я не совсем знаком с Omnipay, но должно быть где-то, что он создает фактический запрос API. В пределах этого вы можете установить параметры для INVOICE, SHIPPINGAMT, TAXAMT и т. Д. Я видел, как многие люди жалуются на Omnipay с помощью PayPal, фактически, из-за ограничений и несовместимости. В зависимости от того, насколько глубоко вы интегрируетесь в интеграцию, я бы рекомендовал взглянуть на мою [библиотеку классов PHP для PayPal] (https://packagist.org/packages/angelleye/paypal-php-library). Он разработан специально для PayPal и является полнофункциональным и очень простым в использовании. –
Как интегрировать его в Laravel? – Marek123
Эта ссылка, которую я вам отправил, представляет собой пакет Packagist, поэтому вы можете включить его в свой проект Laravel, как и любой другой пакет через Composer. Просто добавьте следующее в строку запроса: «angelleye/paypal-php-library»: «2.0. *». Вот [руководство по установке видео] (https://www.youtube.com/watch?v=f9wi8m7_FDc). –