芝麻web文件管理V1.00
编辑当前文件:/home/royashxg/bit-alphas-ltd.com/user/project/vendor/mollie/mollie-api-php/src/Resources/Order.php
status === OrderStatus::STATUS_CREATED; } /** * Is this order paid for? * * @return bool */ public function isPaid() { return $this->status === OrderStatus::STATUS_PAID; } /** * Is this order authorized? * * @return bool */ public function isAuthorized() { return $this->status === OrderStatus::STATUS_AUTHORIZED; } /** * Is this order canceled? * * @return bool */ public function isCanceled() { return $this->status === OrderStatus::STATUS_CANCELED; } /** * (Deprecated) Is this order refunded? * @deprecated 2018-11-27 * * @return bool */ public function isRefunded() { return $this->status === OrderStatus::STATUS_REFUNDED; } /** * Is this order shipping? * * @return bool */ public function isShipping() { return $this->status === OrderStatus::STATUS_SHIPPING; } /** * Is this order completed? * * @return bool */ public function isCompleted() { return $this->status === OrderStatus::STATUS_COMPLETED; } /** * Is this order expired? * * @return bool */ public function isExpired() { return $this->status === OrderStatus::STATUS_EXPIRED; } /** * Is this order completed? * * @return bool */ public function isPending() { return $this->status === OrderStatus::STATUS_PENDING; } /** * Cancels this order. * If the order was partially shipped, the status will be "completed" instead of * "canceled". * Will throw a ApiException if the order id is invalid or the resource cannot * be found. * * @return Order * @throws \Mollie\Api\Exceptions\ApiException */ public function cancel() { return $this->client->orders->cancel($this->id, $this->getPresetOptions()); } /** * Cancel a line for this order. * The data array must contain a lines array. * You can pass an empty lines array if you want to cancel all eligible lines. * Returns null if successful. * * @param array|null $data * @return null * @throws \Mollie\Api\Exceptions\ApiException */ public function cancelLines(array $data) { return $this->client->orderLines->cancelFor($this, $data); } /** * Cancels all eligible lines for this order. * Returns null if successful. * * @param array|null $data * @return null * @throws \Mollie\Api\Exceptions\ApiException */ public function cancelAllLines($data = []) { $data['lines'] = []; return $this->client->orderLines->cancelFor($this, $data); } /** * Get the line value objects * * @return OrderLineCollection */ public function lines() { return ResourceFactory::createBaseResourceCollection( $this->client, OrderLine::class, $this->lines ); } /** * Create a shipment for some order lines. You can provide an empty array for the * "lines" option to include all unshipped lines for this order. * * @param array $options * * @return Shipment * @throws ApiException */ public function createShipment(array $options = []) { return $this->client->shipments->createFor($this, $this->withPresetOptions($options)); } /** * Create a shipment for all unshipped order lines. * * @param array $options * * @return Shipment */ public function shipAll(array $options = []) { $options['lines'] = []; return $this->createShipment($options); } /** * Retrieve a specific shipment for this order. * * @param string $shipmentId * @param array $parameters * * @return Shipment * @throws ApiException */ public function getShipment($shipmentId, array $parameters = []) { return $this->client->shipments->getFor($this, $shipmentId, $this->withPresetOptions($parameters)); } /** * Get all shipments for this order. * * @param array $parameters * * @return ShipmentCollection * @throws ApiException */ public function shipments(array $parameters = []) { return $this->client->shipments->listFor($this, $this->withPresetOptions($parameters)); } /** * Get the checkout URL where the customer can complete the payment. * * @return string|null */ public function getCheckoutUrl() { if (empty($this->_links->checkout)) { return null; } return $this->_links->checkout->href; } /** * Refund specific order lines. * * @param array $data * @return Refund * @throws ApiException */ public function refund(array $data) { return $this->client->orderRefunds->createFor($this, $this->withPresetOptions($data)); } /** * Refund all eligible order lines. * * @param array $data * @return Refund */ public function refundAll(array $data = []) { $data['lines'] = []; return $this->refund($data); } /** * Retrieves all refunds associated with this order * * @return RefundCollection * @throws \Mollie\Api\Exceptions\ApiException */ public function refunds() { if (! isset($this->_links->refunds->href)) { return new RefundCollection($this->client, 0, null); } $result = $this->client->performHttpCallToFullUrl(MollieApiClient::HTTP_GET, $this->_links->refunds->href); return ResourceFactory::createCursorResourceCollection( $this->client, $result->_embedded->refunds, Refund::class, $result->_links ); } /** * Saves the order's updated billingAddress and/or shippingAddress. * * @return \Mollie\Api\Resources\BaseResource|\Mollie\Api\Resources\Order * @throws \Mollie\Api\Exceptions\ApiException */ public function update() { $body = [ "billingAddress" => $this->billingAddress, "shippingAddress" => $this->shippingAddress, "orderNumber" => $this->orderNumber, "redirectUrl" => $this->redirectUrl, "webhookUrl" => $this->webhookUrl, ]; $result = $this->client->orders->update($this->id, $body); return ResourceFactory::createFromApiResult($result, new Order($this->client)); } /** * Create a new payment for this Order. * * @param $data * @param array $filters * @return \Mollie\Api\Resources\BaseResource|\Mollie\Api\Resources\Payment * @throws \Mollie\Api\Exceptions\ApiException */ public function createPayment($data, $filters = []) { return $this->client->orderPayments->createFor($this, $data, $filters); } /** * Retrieve the payments for this order. * Requires the order to be retrieved using the embed payments parameter. * * @return null|\Mollie\Api\Resources\PaymentCollection */ public function payments() { if (! isset($this->_embedded, $this->_embedded->payments)) { return null; } return ResourceFactory::createCursorResourceCollection( $this->client, $this->_embedded->payments, Payment::class ); } /** * When accessed by oAuth we want to pass the testmode by default * * @return array */ private function getPresetOptions() { $options = []; if ($this->client->usesOAuth()) { $options["testmode"] = $this->mode === "test" ? true : false; } return $options; } /** * Apply the preset options. * * @param array $options * @return array */ private function withPresetOptions(array $options) { return array_merge($this->getPresetOptions(), $options); } }