Beispiel #1
0
 /**
  * Main payment function
  *
  * @param Cart $cart
  * @throws CheckoutRequestFailedException
  * @return RedirectResponse
  */
 public function doExpressCheckout(Cart $cart)
 {
     $data = array('METHOD' => 'SetExpressCheckout', 'RETURNURL' => (string) $this->returnUrl, 'CANCELURL' => (string) $this->cancelUrl, 'REQCONFIRMSHIPPING' => $cart->shipping ? "1" : "0", 'NOSHIPPING' => $cart->shipping ? "0" : "1", 'ALLOWNOTE' => "1") + $cart->serialize($this->account, $this->currency, '0');
     $return = $this->process($data);
     if ($return['ACK'] == 'Success') {
         return new RedirectResponse($return, $this->gate);
     }
     throw new CheckoutRequestFailedException($return, $data);
 }