Edit File: OrderCouponSchema.php
<?php namespace Automattic\Kkart\Blocks\StoreApi\Schemas; /** * OrderCouponSchema class. * * @internal This API is used internally by Blocks--it is still in flux and may be subject to revisions. */ class OrderCouponSchema extends AbstractSchema { /** * The schema item name. * * @var string */ protected $title = 'order_coupon'; /** * Cart schema properties. * * @return array */ public function get_properties() { return [ 'code' => [ 'description' => __( 'The coupons unique code.', 'kkart' ), 'type' => 'string', 'context' => [ 'view', 'edit' ], 'readonly' => true, ], 'totals' => [ 'description' => __( 'Total amounts provided using the smallest unit of the currency.', 'kkart' ), 'type' => 'object', 'context' => [ 'view', 'edit' ], 'readonly' => true, 'properties' => array_merge( $this->get_store_currency_properties(), [ 'total_discount' => [ 'description' => __( 'Total discount applied by this coupon.', 'kkart' ), 'type' => 'string', 'context' => [ 'view', 'edit' ], 'readonly' => true, ], 'total_discount_tax' => [ 'description' => __( 'Total tax removed due to discount applied by this coupon.', 'kkart' ), 'type' => 'string', 'context' => [ 'view', 'edit' ], 'readonly' => true, ], ] ), ], ]; } /** * Convert an order coupon to an object suitable for the response. * * @param \KKART_Order_Item_Coupon $coupon Order coupon array. * @return array */ public function get_item_response( \KKART_Order_Item_Coupon $coupon ) { return [ 'code' => $coupon->get_code(), 'totals' => (object) array_merge( $this->get_store_currency_response(), [ 'total_discount' => $this->prepare_money_response( $coupon->get_discount(), kkart_get_price_decimals() ), 'total_discount_tax' => $this->prepare_money_response( $coupon->get_discount_tax(), kkart_get_price_decimals(), PHP_ROUND_HALF_DOWN ), ] ), ]; } }