2015-11-04 6 views
2

Я хочу интегрировать платежный шлюз PayuMoney в мое приложение для рельсов. И я хочу перенаправить URL-адрес платежного шлюза с почтовым запросом, поэтому я использую HTTparty для перенаправления и запроса POST на URL-адрес payumoney.перенаправить на URL-адрес платежа с параметрами post

Мой контроллер:

class ClientFeePaymentsController < ApplicationController 
include HTTParty 

def fee_payment 
    uri = URI('https://test.payu.in/_payment.php') 
    res = Net::HTTP.post_form(uri, 'key' => 'fddfh', 'salt' => '4364') 
    puts res.body  
end 
end 

маршруты:

resources :client_fee_payments do 
    collection do 
     get :fee_payment 
     post :fee_payment 
    end 
    end 

, когда я запускаю это я получил,

Missing template client_fee_payments/fee_payment, application/fee_payment with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :axlsx, :jbuilder]}. 
+0

ли вы найти решение для этого ?? – Abhilash

ответ

1

Вы не можете перенаправить с запросом на пост. Вам необходимо отправить запрос на отправку, а затем перенаправить на страницу.

Вы должны использовать redirect_to :some_page в конце вашего метода контроллера.

Прямо сейчас рельсы пытаются отобразить «по умолчанию», поэтому вы получаете эту ошибку.

Попробуйте this

require "net/http" 
require "uri" 

uri = URI.parse("http://example.com/search") 

# Shortcut 
response = Net::HTTP.post_form(uri, {"q" => "My query", "per_page" => "50"}) 

# Full control 
http = Net::HTTP.new(uri.host, uri.port) 

request = Net::HTTP::Post.new(uri.request_uri) 
request.set_form_data({"q" => "My query", "per_page" => "50"}) 

# Tweak headers, removing this will default to application/x-www-form-urlencoded 
request["Content-Type"] = "application/json" 

response = http.request(request) 
+0

Как перенаправить на https://test.payu.in/_payment.php с почтовым запросом. ? @hattenn –

+0

Вы не можете перенаправлять с помощью запроса на отправку. redirect_to использует заголовок «Location: url» из html. В redirect_to вы можете использовать только параметры GET – dthal

+0

@dthal правильно. Я добавил дополнительную информацию на мой вопрос, который может вам помочь. – hattenn