Интеграция Omnipay PayPal с laravel 4
Я хочу интегрировать Omnipay paypal в laravel 4
. Я прошел через это, но не смог понять, как это сделать. Я не нашел никакой документации. Я прошел через это, это и это.
Я установил его с помощью Composer. Теперь я запутался в следующих вопросах.
$gateway = Omnipay::create('PayPal_Express');
$gateway->setUsername('XXXXX');
$gateway->setPassword('XXXX');
$gateway->setSignature('XXXXX');
Чьи полномочия будут даны здесь? Тот, кто покупает, или тот, кому будут переведены деньги. Я в любом случае, когда учетные данные других будут дано?
Как пользователь будет совершать транзакции? Я видел его функции покупки и завершения покупок, но не мог понять этого. При обычной интеграции с Paypal мы обычно перенаправляем пользователей на Paypal, где он или она завершает транзакцию, а затем возвращается. Как я могу сделать это здесь?
Может ли кто-нибудь направить мне полную документацию, где я смогу прочитать весь ее поток?
1 answers
Согласно вашим пунктам
1-) Здесь вы дадите учетные данные того, кому будут переведены деньги. И покупатель предоставит свои учетные данные на сайте PayPal, он будет перенаправлен.
2-) После получения объекта шлюза и установки учетных данных вы вызовете метод purchase()
omnipay следующим образом
$response = $gateway->purchase(
array(
'cancelUrl' => 'www.xyz.com/cancelurl',
'returnUrl' => 'www.xyz.com/returnurl',
'amount' => 25,
'currency' => 'USD'
)
)->send();
$response->redirect();
Это перенаправит пользователя на сайт PayPal, где он предоставит свои учетные данные и совершит транзакцию. После успешной транзакции в PayPal пользователь будет перенаправлен на URL-адрес, который вы указали в returnurl
. И в returnurl вы создадите тот же объект gateway
, что и выше, как указано ниже.
$gateway = Omnipay::create('PayPal_Express');
$gateway->setUsername('XXXXX');
$gateway->setPassword('XXXX');
$gateway->setSignature('XXXXX');
$response = $gateway->completePurchase(
array(
'cancelUrl' => 'www.xyz.com/cancelurl',
'cancelUrl' => 'www.xyz.com/cancelurl',
'returnUrl' => 'www.xyz.com/returnurl',
'amount' => 25,
'currency' => 'USD'
)
)->send();
$data = $response->getData(); // this is the raw response object
echo '<pre>';
print_r($data);
Метод completePurchase
завершит транзакцию, и вы получите ответ в массиве.
ПРИМЕЧАНИЕ когда пользователь перенаправляется по URL-адресу возврата, URL-адрес также содержит идентификатор транзакции и идентификатор плательщика. :-) Я надеюсь, что это довольно просто.