HEX
Server: Apache/2
System: Linux server-80-13-140-150.da.direct 5.14.0-362.24.1.el9_3.0.1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Apr 4 22:31:43 UTC 2024 x86_64
User: cpt (1004)
PHP: 8.1.24
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/cpt/public_html/wp-content/plugins/wpforms-lite/src/Db/Payments/UpdateHelpers.php
<?php

namespace WPForms\Db\Payments;

/**
 * Payment values update helpers class.
 *
 * @since 1.8.4
 */
class UpdateHelpers {

	/**
	 * Refund payment in database.
	 *
	 * @since 1.8.4
	 *
	 * @param Payment $payment_db      Payment DB object.
	 * @param int     $refunded_amount Refunded amount with cent separated.
	 * @param string  $log             Log message.
	 *
	 * @return bool
	 */
	public static function refund_payment( $payment_db, $refunded_amount, $log = '' ) {

		$status = $refunded_amount < $payment_db->total_amount ? 'partrefund' : 'refunded';

		if ( ! wpforms()->obj( 'payment' )->update( $payment_db->id, [ 'status' => $status ] ) ) {
			return false;
		}

		if (
			! wpforms()->obj( 'payment_meta' )->update_or_add(
				$payment_db->id,
				'refunded_amount',
				$refunded_amount
			)
		) {
			return false;
		}

		if ( $log ) {
			wpforms()->obj( 'payment_meta' )->add_log( $payment_db->id, $log );
		}

		return true;
	}

	/**
	 * Cancel subscription in database.
	 *
	 * @since 1.8.4
	 *
	 * @param int    $payment_id Payment ID.
	 * @param string $log        Log message.
	 *
	 * @return bool
	 */
	public static function cancel_subscription( $payment_id, $log = '' ) {

		if ( ! wpforms()->obj( 'payment' )->update( $payment_id, [ 'subscription_status' => 'cancelled' ] ) ) {
			return false;
		}

		if ( $log ) {
			wpforms()->obj( 'payment_meta' )->add_log( $payment_id, $log );
		}

		return true;
	}
}