Module: PayEx::CreditCardRedirect

Extended by:
CreditCardRedirect
Included in:
CreditCardRedirect
Defined in:
lib/payex/credit_card_redirect.rb

Instance Method Summary collapse

Instance Method Details

#complete_transaction!(id) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/payex/credit_card_redirect.rb', line 18

def complete_transaction! id
  response = PayEx::PxOrder.Complete(orderRef: id)

  status = response[:transaction_status]
  status = PayEx::API.parse_transaction_status(status)

  case status
  when :authorize
    error = nil
  when :initialize
    error = PayEx::Error.new('Transaction not completed')
  when :failure
    details = response[:error_details].inspect
    case details
    when /declined/i
      error = PayEx::Error::CardDeclined.new('Card declined')
    else
      error = PayEx::Error.new('Transaction failed')
    end
  else
    error = PayEx::Error.new('Transaction failed')
  end

  [response[:order_id], error, response]
end

#initialize_transaction!(params) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/payex/credit_card_redirect.rb', line 4

def initialize_transaction! params
  response = PayEx::PxOrder.Initialize8 \
    orderID: params[:order_id],
    purchaseOperation: 'AUTHORIZATION',
    productNumber: params[:product_number],
    description: params[:product_description],
    price: params[:price],
    clientIPAddress: params[:customer_ip],
    returnUrl: params[:return_url],
    cancelUrl: params[:cancel_url]

  response[:redirect_url]
end