162 lines
3.9 KiB
Ruby
162 lines
3.9 KiB
Ruby
class Admin::HipayVirementsController < ApplicationController
|
|
layout "admin"
|
|
|
|
|
|
|
|
def index
|
|
|
|
@hipay_virements = HipayVirement.order("created_at DESC").all
|
|
end
|
|
|
|
|
|
def show
|
|
|
|
@hipay_virement = HipayVirement.find(params[:id])
|
|
|
|
|
|
|
|
end
|
|
|
|
def paid
|
|
@hipay_virement = HipayVirement.find(params[:id])
|
|
|
|
if !@hipay_virement.sended
|
|
|
|
if Rails.env.development?
|
|
@host_sp = "http://78.245.74.12"
|
|
@host_hipay = "https://test-ws.hipay.com/soap/transfer?wsdl"
|
|
#@host_hipay = "https://ws.hipay.com/soap/payment-v2?wsdl"
|
|
elsif Rails.env.production?
|
|
@host_sp = "https://sideplace.com"
|
|
@host_hipay = "https://ws.hipay.com/soap/transfer?wsdl"
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
@client = Savon.client(wsdl: @host_hipay, ssl_version: :TLSv1)
|
|
|
|
@client.operations
|
|
|
|
message = {
|
|
|
|
:amount => @hipay_virement.amount_ttc,
|
|
:recipientUsername => @hipay_virement.hipay_email,
|
|
:publicLabel => "Virement commission Sideplace - #{@hipay_virement.token}",
|
|
:privateLabel => "Sideplace - D:#{@hipay_virement.devise_id} - #{@hipay_virement.token}",
|
|
|
|
|
|
}
|
|
|
|
if @hipay_virement.devise.code == "USD"
|
|
|
|
message[:wsLogin] = "10850b5beb65cbfacbd748fa231652f2"
|
|
message[:wsPassword] = "6df1b0ad1c55a1e511e33e7bc42ee3cc"
|
|
|
|
|
|
elsif @hipay_virement.devise.code == "CAD"
|
|
|
|
message[:wsLogin] = "4b914f9a84e773fa07aff82ed896dd9c"
|
|
message[:wsPassword] = "26d098a1d239dca34c9c3aaf151a8673"
|
|
|
|
|
|
elsif @hipay_virement.devise.code == "GBP"
|
|
|
|
message[:wsLogin] = "8dfff4b14fb9fd7e79b79e50e22fe242"
|
|
message[:wsPassword] = "7cd17cec7bbfccacfc96ff5f3710eb22"
|
|
|
|
|
|
elsif @hipay_virement.devise.code == "CHF"
|
|
|
|
message[:wsLogin] = "9c8bb8673a712c6bb4a2e3c89f760e98"
|
|
message[:wsPassword] = "cff22a090bed10e0001754fb724c7843"
|
|
|
|
|
|
elsif @hipay_virement.devise.code == "AUD"
|
|
|
|
message[:wsLogin] = "22804a107d27702252ae8833fcc98b5e"
|
|
message[:wsPassword] = "6b764308b87aef21a0ca7e88810d96e0"
|
|
|
|
elsif @hipay_virement.devise.code == "EUR"
|
|
|
|
message[:wsLogin] = "cb9db4d771d58fa1354747f8891c3875"
|
|
message[:wsPassword] = "52d67e65baa8bd436a5dcbc7f3764efc"
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
@response = @client.call(:direct, :message => {:parameters => message})
|
|
|
|
@response.body
|
|
|
|
|
|
response_elements = @response.body[:direct_response][:direct_result]
|
|
|
|
|
|
@hipay_virement_history = @hipay_virement.hipay_virement_histories.create(
|
|
:transaction_id => response_elements[:transaction_id].to_s,
|
|
:amount => response_elements[:amount].to_s,
|
|
:currency => response_elements[:currency].to_s,
|
|
:recipient_username => response_elements[:recipient_username].to_s,
|
|
:public_label => response_elements[:public_label].to_s,
|
|
:private_label => response_elements[:private_label].to_s,
|
|
:code => response_elements[:code].to_s,
|
|
:description => response_elements[:description].to_s,
|
|
:success => (true if response_elements[:code].to_s == "0")
|
|
)
|
|
|
|
if response_elements[:code].to_s == "0"
|
|
@hipay_virement.sended = true
|
|
@hipay_virement.sended_at = Time.now
|
|
@hipay_virement.save(:validate => false)
|
|
end
|
|
|
|
|
|
|
|
end
|
|
redirect_to :back
|
|
|
|
end
|
|
|
|
|
|
|
|
def valid
|
|
@hipay_virement = HipayVirement.find(params[:id])
|
|
|
|
|
|
@hipay_virement.tva = 0.0
|
|
|
|
|
|
@hipay_virement.amount_ttc = @hipay_virement.amount_ht + @hipay_virement.tva
|
|
|
|
@hipay_virement.confirmed = true
|
|
|
|
|
|
@hipay_virement.save(:validate => false)
|
|
|
|
#redirect_to :back
|
|
|
|
end
|
|
|
|
def edit
|
|
@hipay_virement = HipayVirement.find(params[:id])
|
|
end
|
|
|
|
|
|
def update
|
|
@hipay_virement = HipayVirement.find(params[:id])
|
|
|
|
if @hipay_virement.update_attributes(params.require(:hipay_virement).permit!)
|
|
|
|
|
|
else
|
|
render :action => "edit"
|
|
end
|
|
|
|
end
|
|
|
|
end
|