PluginProbe ʕ •ᴥ•ʔ
Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress / 5.6.1
Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress v5.6.1
5.6.10 5.6.9 5.6.8 5.6.7 5.6.6 5.6.5 5.6.4 5.6.3 5.6.2 5.6.1 5.6.0 5.5.2 5.5.1 5.5.0 5.4.2 trunk 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.1.91 5.1.92 5.1.93 5.1.94 5.2.0 5.2.1 5.2.10 5.2.11 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.0 5.3.1 5.3.2 5.4.0 5.4.1
latepoint / lib / abilities / orders / get-order-price-breakdown.php
latepoint / lib / abilities / orders Last commit date
abstract-order-ability.php 5 months ago change-invoice-status.php 5 months ago change-order-status.php 5 months ago create-invoice.php 5 months ago create-order.php 5 months ago delete-order.php 5 months ago get-invoice.php 5 months ago get-order-price-breakdown.php 5 months ago get-order.php 5 months ago get-transaction.php 5 months ago list-invoices.php 5 months ago list-orders.php 5 months ago list-transactions.php 5 months ago refund-transaction.php 5 months ago update-order.php 5 months ago
get-order-price-breakdown.php
57 lines
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 exit;
4 }
5
6 class LatePointAbilityGetOrderPriceBreakdown extends LatePointAbstractOrderAbility {
7
8 protected function configure(): void {
9 $this->id = 'latepoint/get-order-price-breakdown';
10 $this->label = __( 'Get order price breakdown', 'latepoint' );
11 $this->description = __( 'Returns the price breakdown (subtotal, tax, total) for an order.', 'latepoint' );
12 $this->permission = 'booking__view';
13 $this->read_only = true;
14 }
15
16 public function get_input_schema(): array {
17 return [
18 'type' => 'object',
19 'properties' => [
20 'order_id' => [
21 'type' => 'integer',
22 'description' => __( 'Order ID.', 'latepoint' ),
23 ],
24 ],
25 'required' => [ 'order_id' ],
26 ];
27 }
28
29 public function get_output_schema(): array {
30 return [
31 'type' => 'object',
32 'properties' => [
33 'order_id' => [ 'type' => 'integer' ],
34 'subtotal' => [ 'type' => 'number' ],
35 'total' => [ 'type' => 'number' ],
36 'payment_status' => [ 'type' => 'string' ],
37 'fulfillment_status' => [ 'type' => 'string' ],
38 ],
39 ];
40 }
41
42 public function execute( array $args ) {
43 $order = new OsOrderModel( (int) $args['order_id'] );
44 if ( $order->is_new_record() ) {
45 return new WP_Error( 'not_found', __( 'Order not found.', 'latepoint' ), [ 'status' => 404 ] );
46 }
47
48 return [
49 'order_id' => (int) $order->id,
50 'subtotal' => (float) ( $order->subtotal ?? 0 ),
51 'total' => (float) ( $order->total ?? 0 ),
52 'payment_status' => $order->payment_status ?? '',
53 'fulfillment_status' => $order->fulfillment_status ?? '',
54 ];
55 }
56 }
57