Class: PurchaseKit::PurchasesController

Inherits:
ApplicationController show all
Defined in:
app/controllers/purchase_kit/purchases_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/controllers/purchase_kit/purchases_controller.rb', line 3

def create
  raise PurchaseKit::NotFoundError, "No product selected" if params[:product_id].blank?

  intent = PurchaseKit::Purchase::Intent.create(
    product_id: params[:product_id],
    customer_id: params[:customer_id],
    success_path: params[:success_path],
    environment: params[:environment]
  )

  respond_to do |format|
    format.turbo_stream do
      render turbo_stream: turbo_stream.append(
        "purchasekit_paywall",
        partial: "purchase_kit/purchases/intent",
        locals: {intent: intent}
      )
    end
    format.json { render json: intent_json(intent) }
  end
end