/**
* @see http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/CreatePaymentUsingPayPal.html
*
* @return Payment
*/
public function getPayment()
{
$payer = $this->getPayer();
if (!$payer || !$payer instanceof Payer) {
throw new InvalidArgumentException("Method getPayer has to return instance of Payer. Instead " . gettype($payer) . " given.");
}
if (!$payer->getPaymentMethod()) {
$payer->setPaymentMethod('paypal');
}
$payment = new Payment();
$payment->setIntent("sale")->setPayer($payer);
if ($this->context->getExperienceProfileId()) {
$payment->setExperienceProfileId($this->context->getExperienceProfileId());
}
$transactions = $this->getTransactions();
$this->checkTransactions($transactions);
$payment->setTransactions($transactions);
return $payment;
}