Exemplo n.º 1
0
 public static function execute($payerID, $localTrxID)
 {
     $trxid = Session::instance()->get_once(self::SESSION_TOKEN);
     $impl = new PayPal();
     $response = $impl->complete($trxid, $payerID);
     $localTrxID = $impl->retrieveLocalTrx($localTrxID);
     self::debug("Paypal response for " . serialize($localTrxID), $response);
     $target = $impl->approved($localTrxID, $response->id, $response->payer->payer_info, $impl->extractSales($response->transactions));
     HTTP::redirect($target);
 }
Exemplo n.º 2
0
    // 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');
    $payerid = $f3->get('GET.PayerID');
    // complete the transaction
    $paypal = new PayPal();
    $result = $paypal->complete($token, $payerid);
    if ($result['ACK'] != 'Success' && $result['ACK'] != 'SuccessWithWarning') {
        // Handle API error code
        die('Error with API call - ' . $result["L_ERRORCODE0"]);
    } else {
        // Update back office - save transaction id, payment status etc
        // Display thank you/receipt to the buyer.
        $f3->set('itemcount', 0);
        $f3->set('txnid', $result['PAYMENTINFO_0_TRANSACTIONID']);
        echo \Template::instance()->render('receipt.html');
    }
});
$f3->route('GET /refund', function ($f3) {
    // Get transaction id from URL
    $txnid = $f3->get('GET.txnid');
    // Refund the transaction