Class: Stripe::OrderService

Inherits:
StripeService show all
Defined in:
lib/stripe/services/order_service.rb

Defined Under Namespace

Classes: CancelParams, CreateParams, ListParams, ReopenParams, RetrieveParams, SubmitParams, UpdateParams

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from StripeService

#request, #request_stream

Constructor Details

#initialize(requestor) ⇒ OrderService

Returns a new instance of OrderService.



8
9
10
11
# File 'lib/stripe/services/order_service.rb', line 8

def initialize(requestor)
  super(requestor)
  @line_items = Stripe::OrderLineItemService.new(@requestor)
end

Instance Attribute Details

#line_itemsObject (readonly)

Returns the value of attribute line_items.



6
7
8
# File 'lib/stripe/services/order_service.rb', line 6

def line_items
  @line_items
end

Instance Method Details

#cancel(id, params = {}, opts = {}) ⇒ Object

Cancels the order as well as the payment intent if one is attached.



2454
2455
2456
2457
2458
2459
2460
2461
2462
# File 'lib/stripe/services/order_service.rb', line 2454

def cancel(id, params = {}, opts = {})
  request(
    method: :post,
    path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(id) }),
    params: params,
    opts: opts,
    base_address: :api
  )
end

#create(params = {}, opts = {}) ⇒ Object

Creates a new open order object.



2465
2466
2467
# File 'lib/stripe/services/order_service.rb', line 2465

def create(params = {}, opts = {})
  request(method: :post, path: "/v1/orders", params: params, opts: opts, base_address: :api)
end

#list(params = {}, opts = {}) ⇒ Object

Returns a list of your orders. The orders are returned sorted by creation date, with the most recently created orders appearing first.



2470
2471
2472
# File 'lib/stripe/services/order_service.rb', line 2470

def list(params = {}, opts = {})
  request(method: :get, path: "/v1/orders", params: params, opts: opts, base_address: :api)
end

#reopen(id, params = {}, opts = {}) ⇒ Object

Reopens a submitted order.



2475
2476
2477
2478
2479
2480
2481
2482
2483
# File 'lib/stripe/services/order_service.rb', line 2475

def reopen(id, params = {}, opts = {})
  request(
    method: :post,
    path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(id) }),
    params: params,
    opts: opts,
    base_address: :api
  )
end

#retrieve(id, params = {}, opts = {}) ⇒ Object

Retrieves the details of an existing order. Supply the unique order ID from either an order creation request or the order list, and Stripe will return the corresponding order information.



2486
2487
2488
2489
2490
2491
2492
2493
2494
# File 'lib/stripe/services/order_service.rb', line 2486

def retrieve(id, params = {}, opts = {})
  request(
    method: :get,
    path: format("/v1/orders/%<id>s", { id: CGI.escape(id) }),
    params: params,
    opts: opts,
    base_address: :api
  )
end

#submit(id, params = {}, opts = {}) ⇒ Object

Submitting an Order transitions the status to processing and creates a PaymentIntent object so the order can be paid. If the Order has an amount_total of 0, no PaymentIntent object will be created. Once the order is submitted, its contents cannot be changed, unless the [reopen](stripe.com/docs/api#reopen_order) method is called.



2497
2498
2499
2500
2501
2502
2503
2504
2505
# File 'lib/stripe/services/order_service.rb', line 2497

def submit(id, params = {}, opts = {})
  request(
    method: :post,
    path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(id) }),
    params: params,
    opts: opts,
    base_address: :api
  )
end

#update(id, params = {}, opts = {}) ⇒ Object

Updates the specific order by setting the values of the parameters passed. Any parameters not provided will be left unchanged.



2508
2509
2510
2511
2512
2513
2514
2515
2516
# File 'lib/stripe/services/order_service.rb', line 2508

def update(id, params = {}, opts = {})
  request(
    method: :post,
    path: format("/v1/orders/%<id>s", { id: CGI.escape(id) }),
    params: params,
    opts: opts,
    base_address: :api
  )
end