| Server IP : 146.59.209.152 / Your IP : 216.73.216.152 Web Server : Apache System : Linux webm009.cluster131.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64 User : monpetu ( 144298) PHP Version : 7.4.33 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/monpetu/www/ipprint/extensions/bookly-addon-pro/backend/components/dialogs/payment/ |
Upload File : |
<?php
namespace BooklyPro\Backend\Components\Dialogs\Payment;
use Bookly\Lib as BooklyLib;
use Bookly\Lib\Entities\Payment;
use BooklyPro\Lib\DataHolders\Details;
class Ajax extends BooklyLib\Base\Ajax
{
/**
* @inheritDoc
*/
protected static function permissions()
{
return array( '_default' => array( 'staff', 'supervisor' ) );
}
/**
* Create payment adjustment.
*/
public static function createPaymentAdjustment()
{
$payment_id = self::parameter( 'payment_id' );
$adjustment = self::parameter( 'adjustment' );
$payment = new Payment();
$payment->load( $payment_id );
if ( isset( $adjustment['amount'] ) && is_numeric( $adjustment['amount'] ) ) {
$adj_details = new Details\Adjustment( $adjustment );
$payment
->setTotal( $payment->getTotal() + $adj_details->getAmount() )
->setTax( $payment->getTax() + $adj_details->getTax() )
->getDetailsData()
->addDetails( $adj_details );
$payment->save();
}
wp_send_json_success();
}
/**
* Update payment adjustment.
*/
public static function updatePaymentAdjustment()
{
$payment_id = self::parameter( 'payment_id' );
$index = self::parameter( 'index' );
$adjustment = self::parameter( 'adjustment' );
$payment = new Payment();
$payment->load( $payment_id );
if ( isset( $adjustment['amount'] ) && is_numeric( $adjustment['amount'] ) ) {
$details = $payment->getDetailsData();
$adjustments = $details->getValue( 'adjustments', array() );
if ( isset( $adjustments[ $index ] ) ) {
$total = $payment->getTotal() - $adjustments[ $index ]['amount'];
$tax = $payment->getTax() - $adjustments[ $index ]['tax'];
$adjustments[ $index ] = $adjustment;
$details->setData( compact( 'adjustments' ) );
$payment
->setTotal( $total + $adjustment['amount'] )
->setTax( $tax + $adjustment['tax'] )
->save();
}
}
wp_send_json_success();
}
/**
* Delete payment adjustment.
*/
public static function deletePaymentAdjustment()
{
$payment_id = self::parameter( 'payment_id' );
$index = self::parameter( 'index' );
$payment = new Payment();
$payment->load( $payment_id );
$details = $payment->getDetailsData();
$adjustments = $details->getValue( 'adjustments', array() );
if ( isset( $adjustments[ $index ] ) ) {
$total = $payment->getTotal() - $adjustments[ $index ]['amount'];
$tax = $payment->getTax() - $adjustments[ $index ]['tax'];
array_splice( $adjustments, $index, 1 );
$details->setData( compact( 'adjustments' ) );
$payment
->setTotal( $total )
->setTax( $tax )
->save();
}
wp_send_json_success();
}
}