PayPal\Api\Capture::setIsFinalCapture PHP Method

setIsFinalCapture() public method

Indicates whether to release all remaining funds that the authorization holds in the funding instrument. Default is false.
public setIsFinalCapture ( boolean $is_final_capture )
$is_final_capture boolean
    public function setIsFinalCapture($is_final_capture)
    {
        $this->is_final_capture = $is_final_capture;
        return $this;
    }

Usage Example

 function capture_payment($payment, $order_id = '', $total = '', $final = true)
 {
     global $insert_id;
     if ($order_id == '') {
         $order_id = $insert_id;
     }
     // auth
     $apiContext = $this->apiContext();
     try {
         // get transaction
         $transactions = $payment->getTransactions();
         $transaction = $transactions[0];
         $relatedResources = $transaction->getRelatedResources();
         for ($i = 0, $n = count($relatedResources); $i < $n; $i++) {
             $relatedResource = $relatedResources[$i];
             if ($relatedResource->__isset('sale')) {
                 $resource = $relatedResource->getSale($relatedResource);
                 break;
             }
             if ($relatedResource->__isset('order')) {
                 $resource = $relatedResource->getOrder($relatedResource);
                 break;
             }
             if ($relatedResource->__isset('authorization')) {
                 $resource = $relatedResource->getAuthorization($relatedResource);
                 break;
             }
         }
         if (is_object($resource)) {
             $this->amount = $resource->getAmount();
             $this->amount->__unset('details');
             if ($total != '' && $total > 0) {
                 $this->amount->setTotal($total);
             }
             // set capture
             $capture = new Capture();
             $capture->setIsFinalCapture($final);
             $capture->setAmount($this->amount);
             try {
                 // capture
                 $resource->capture($capture, $apiContext);
                 $success = true;
             } catch (Exception $ex) {
                 $this->LoggingManager->log(print_r($ex, true), 'DEBUG');
                 $success = false;
                 if (defined('RUN_MODE_ADMIN') && $ex instanceof \PayPal\Exception\PayPalConnectionException) {
                     $error_json = $ex->getData();
                     $error = json_decode($error_json, true);
                     $_SESSION['pp_error'] = $error['message'];
                 }
             }
             if ($success === true) {
                 if ($this->order_status_capture < 0) {
                     $check_query = xtc_db_query("SELECT orders_status\n                                           FROM " . TABLE_ORDERS . " \n                                          WHERE orders_id = '" . (int) $order_id . "'");
                     $check = xtc_db_fetch_array($check_query);
                     $this->order_status_capture = $check['orders_status'];
                 }
                 $this->update_order(TEXT_PAYPAL_CAPTURED, $this->order_status_capture, $order_id);
             }
         }
     } catch (Exception $ex) {
         $this->LoggingManager->log(print_r($ex, true), 'DEBUG');
     }
 }
All Usage Examples Of PayPal\Api\Capture::setIsFinalCapture