Sha256: fc02928857803b1d5503dfb13caa883f91c3e3fed4063fe1a247d797cea2c4dd
Contents?: true
Size: 1.14 KB
Versions: 4
Compression:
Stored size: 1.14 KB
Contents
module PuntoPagosRails class TransactionsController < ApplicationController def create srv = TransactionService.new(resource_id) if srv.create redirect_to srv.process_url else @resource = resource_by_id render_payment_error_view srv.error end end def notification response = TransactionService.notificate(params, request.headers) render json: response end def success @resource = resource_by_token end def error @resource = resource_by_token translated_error = I18n.t("punto_pagos_rails.errors.invalid_puntopagos_payment") render_payment_error_view translated_error end private def render_payment_error_view(error_message) render 'error', locals: { error_message: error_message } end def resource_id @resource_id ||= begin params.require(:resource_id) params[:resource_id] end end def resource_by_token Transaction.find_by(token: params[:token]).try(:resource) end def resource_by_id PuntoPagosRails.resource_class.find_by(id: params[:resource_id]) end end end
Version data entries
4 entries across 4 versions & 1 rubygems