$f3->set('cartitems', $cart); $f3->set('subtotal', sprintf("%01.2f", $subtotal)); $f3->set('shipping', sprintf("%01.2f", $shipping)); $f3->set('ordertotal', sprintf("%01.2f", $subtotal + $shipping)); $f3->set('shippingaddress', $shippingaddress); echo \Template::instance()->render('review.html'); }); $f3->route('GET /ecm', function ($f3) { $basket = new \Basket(); $cartitems = $basket->find(); $paypal = new PayPal(); $subtotal = $paypal->copyBasket($cartitems); $shippingaddress = unserialize($f3->get('SESSION.address')); $paypal->setShippingAddress($shippingaddress['name'], $shippingaddress['address1'], $shippingaddress['address2'], $shippingaddress['city'], $shippingaddress['state'], $shippingaddress['postcode'], $shippingaddress['country']); $shipping = "5.00"; $paypal->setShippingAmt($shipping); $ordertotal = $subtotal + $shipping; $options = array('ADDROVERRIDE' => '1', 'RETURNURL' => 'http://yourdomain.tld/complete', 'BRANDNAME' => 'F3PYPL'); $result = $paypal->create("Sale", "EUR", $ordertotal, $options); // Reroute buyer to PayPal with resulting transaction token if ($result['ACK'] != 'Success') { // Handle API error code die('Error with API call - ' . $result["L_ERRORCODE0"]); } else { // Redirect Buyer to PayPal $f3->reroute($result['redirect'] . '&useraction=commit'); } }); $f3->route('GET /complete', function ($f3) { // grab token & PayerID from URL $token = $f3->get('GET.token');