Ответ 1
В соответствии с вашими точками
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-адрес также содержит transaction_id и payer_id.:-) Надеюсь, это довольно просто.