나는 Ryan Bates' railcast 146을 따르고 있으며 실제로 도움이됩니다. 그러나, 메신저 개체를 프로세스에서 제거하려고 시도하고 주문을 개별적으로 처리합니다. 내가 가지고있는 문제는 두 번 사용되는 금액을 설정하는 방법입니다. 한 번 구매를 설정하고 실제로 한 번만 실행합니다. 이것은 내가이 일에 의지 한 것입니다,하지만 그것은 아마 나쁜 관행 생각 return_url의 양, 노출 : 나는 양의 숨겨진 필드를 추가 뷰에서 다음Paypal Express ActiveMerchant 통합
class OrdersController < ApplicationController
def express
response = EXPRESS_GATEWAY.setup_purchase(params[:amount],
:ip => request.remote_ip,
:return_url => new_order_url(:amount=>params[:amount]),
:cancel_return_url => root_url
)
redirect_to EXPRESS_GATEWAY.redirect_url_for(response.token)
end
def new
@order = Order.new(:express_token => params[:token], :price_in_cents=>params[:amount])
end
를되도록 할 때 주문이 생성되면 금액이 생성됩니다 (주문 모델에 price_in_cents 필드를 추가했습니다). 그것은 잘 작동하지만 param으로 금액을 드러내는 것은 조금 iffy 수 있습니다. 나는 PARAMS에 양 주위를 통과하지 않고이 작업을 수행 할 수있는 방법, 요컨대
def purchase
response = process_purchase
transactions.create!(:action => "purchase", :amount => price_in_cents, :response => response)
cart.update_attribute(:purchased_at, Time.now) if response.success?
response.success?
end
: 마지막으로, 구매 코드는 다음과 같습니다?
감사합니다.