Rails PayPal 支付對接

第一步、登陸 Paypal開發者官網,創建一個買家賬號和一個賣家賬號

 

'[email protected]' :是我們開發環境下的賣家賬號
'[email protected]' : 用來測試的買家賬號

第二步、跳轉到PayPal支付頁面

# 1、在 orders_controller.rb 中添加
# POST /orders/1/pay
def pay
  @order = Order.find(params[:id])
  redirect_to @order.paypal_url(order_path(@order))
end


# 2、在 order.rb 模型中添加
def paypal_url(return_path)
  values = {
      business: "[email protected]",
      cmd: "payment",
      upload: 1,
      return: "#{Rails.application.secrets.app_host}#{return_path}",
      invoice: self.id,
      amount: self.price,
      item_name: "payment",
      item_number: self.id,
      quantity: '1'
    }
  "#{Rails.application.secrets.paypal_host}/cgi-bin/webscr?" + values.to_query
end


# 3、在 routes.rb 中添加
resources :orders
  member do
    post 'pay'
  end
end


# 4、在 secrets.yml 中添加
development:
  paypal_host: https://www.sandbox.paypal.com
  app_host: http://our_project_url
production:
  paypal_host: https://www.paypal.com
  app_host: https://our_project_url

第三步、讓我們開始測試吧!

當我們點擊頁面上的支付按鈕時,會跳轉到paypal支付的url

<%= link_to "Pay", pay_order_path(@order), method: :post %>

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章