easypay 0.0.4 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 1.0.0
@@ -8,7 +8,7 @@ module Easypay
8
8
  def simple_notification
9
9
  # c=PT&e=10611&r=810302231&v=7&l=PT&t_key=
10
10
  @payment_reference = PaymentReference.find_by_ep_reference_and_ep_value(params[:r], params[:v])
11
- # preciso de por os dados da morada do cliente, NIF etc
11
+ @atts = params
12
12
  respond_to do |format|
13
13
  format.xml
14
14
  end
@@ -18,13 +18,15 @@ module Easypay
18
18
  # e=10611&r=810302231&v=7&s=ok&k=C36D4995CBF3574ADD8664BA26514181C9EA8737&t_key=CCCSOKCSO
19
19
  payment_reference = PaymentReference.find_by_ep_reference_and_ep_key(params[:r], params[:t_key])
20
20
 
21
- if params[:s].starts_with? "ok" and params[:k].present?
21
+ if params[:s].starts_with? "ok" and params[:k].present? and payment_reference.present?
22
22
  payment_reference.update_attribute(:o_key, params[:k]) unless payment_reference.nil?
23
23
 
24
24
  payment_detail = Easypay::Client.new.request_payment(params[:e], params[:r], params[:v], params[:k])
25
25
 
26
26
  payment_reference.update_attributes(:ep_last_status => payment_detail[:ep_status],
27
27
  :ep_message => payment_detail[:ep_message]) unless payment_reference.nil?
28
+ elsif payment_reference.present?
29
+ payment_reference.update_attribute(:ep_last_status, params[:s])
28
30
  end
29
31
 
30
32
  redirect_to payment_redirect_url(:status => params[:s], :ep_key => params[:t_key])
@@ -4,13 +4,13 @@ module Easypay
4
4
 
5
5
  attr_protected
6
6
 
7
- def process(object)
7
+ def process(object, options = {})
8
8
  @object = object
9
9
 
10
10
  if compliant?
11
11
  self.update_attributes(handle_model_methods)
12
12
 
13
- payment_reference = Easypay::Client.new.create_reference(self)
13
+ payment_reference = Easypay::Client.new(options).create_reference(self)
14
14
 
15
15
  self.update_attributes( :ep_message => payment_reference[:ep_message],
16
16
  :ep_reference => payment_reference[:ep_reference],
@@ -19,7 +19,9 @@ module Easypay
19
19
  :ep_entity => payment_reference[:ep_entity],
20
20
  :ep_link => payment_reference[:payment_link],
21
21
  :ep_last_status => payment_reference[:ep_status],
22
- :request_log => payment_reference[:raw])
22
+ :request_log => payment_reference[:raw],
23
+ :item_description => payment_reference[:item_description],
24
+ :item_quantity => payment_reference[:item_quantity])
23
25
 
24
26
  return payment_reference
25
27
  else
@@ -51,7 +53,9 @@ module Easypay
51
53
  :o_description => @object.easypay_options[:o_description],
52
54
  :o_obs => @object.easypay_options[:o_obs],
53
55
  :o_email => @object.easypay_options[:o_email],
54
- :o_mobile => @object.easypay_options[:o_mobile]
56
+ :o_mobile => @object.easypay_options[:o_mobile],
57
+ :item_description => @object.easypay_options[:item_description],
58
+ :item_quantity => @object.easypay_options[:item_quantity]
55
59
  }
56
60
  end
57
61
 
@@ -3,9 +3,9 @@ xml.get_detail do
3
3
  if @payment_reference.nil?
4
4
  xml.ep_status "err"
5
5
  xml.ep_message "error mensage"
6
- xml.ep_entity "x1"
7
- xml.ep_ref "x2"
8
- xml.ep_value "x3"
6
+ xml.ep_entity @atts[:e] if @atts[:e].present?
7
+ xml.ep_ref @atts[:r] if @atts[:r].present?
8
+ xml.ep_value @atts[:v] if @atts[:v].present?
9
9
  else
10
10
  xml.ep_status "ok"
11
11
  xml.ep_message "success message"
@@ -13,30 +13,31 @@ xml.get_detail do
13
13
  xml.ep_reference @payment_reference.ep_reference
14
14
  xml.ep_value @payment_reference.ep_value
15
15
  xml.t_key @payment_reference.ep_key
16
+
16
17
  xml.order_info do
17
- xml.total_taxes "100.00"
18
+ # xml.total_taxes " "
18
19
  xml.total_including_taxes @payment_reference.ep_value
19
-
20
- xml.bill_fiscal_number "PT123456789"
21
- xml.bill_name "Billing Test Name"
22
- xml.bill_address_1 "Billing address line 1"
23
- xml.bill_address_2 "Billing address line 2"
24
- xml.bill_city "Billing city"
25
- xml.bill_zip_code "Billing zip code"
26
- xml.bill_country "Billing country"
27
-
28
- xml.ship_fiscal_number "PT123456789"
29
- xml.shipp_name "Shipping Test Name"
30
- xml.shipp_address_1 "Shipping address line 1"
31
- xml.shipp_address_2 "Shipping address line 2"
32
- xml.shipp_city "Shipping city"
33
- xml.shipp_zip_code "Shipping zip code"
34
- xml.shipp_country "Shipping coutry"
20
+ # TODO - Include this information in future
21
+ # xml.bill_fiscal_number " "
22
+ # xml.bill_name " "
23
+ # xml.bill_address_1 " "
24
+ # xml.bill_address_2 " "
25
+ # xml.bill_city " "
26
+ # xml.bill_zip_code " "
27
+ # xml.bill_country " "
28
+ #
29
+ # xml.ship_fiscal_number " "
30
+ # xml.shipp_name " "
31
+ # xml.shipp_address_1 " "
32
+ # xml.shipp_address_2 " "
33
+ # xml.shipp_city " "
34
+ # xml.shipp_zip_code " "
35
+ # xml.shipp_country " "
35
36
  end
36
37
  xml.order_detail do
37
38
  xml.item do
38
- xml.item_description "description of item 1"
39
- xml.item_quantity "5"
39
+ xml.item_description @payment_reference.item_description
40
+ xml.item_quantity @payment_reference.item_quantity
40
41
  xml.item_total @payment_reference.ep_value
41
42
  end
42
43
  end
data/easypay.gemspec CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "easypay"
6
- s.version = "0.0.4"
6
+ s.version = "1.0.0"
7
7
  s.authors = ["Guilherme Pereira"]
8
8
  s.email = ["guiferrpereira@gmail.com"]
9
9
  s.homepage = ""
@@ -22,7 +22,9 @@ module Easypay
22
22
  :o_description => args[:description] || "description",
23
23
  :o_obs => args[:obs] || "obs",
24
24
  :o_email => args[:email] || "email",
25
- :o_mobile => args[:mobile] || "mobile"
25
+ :o_mobile => args[:mobile] || "mobile",
26
+ :item_description => args[:item_description] || "item_description",
27
+ :item_quantity => args[:item_quantity] || "item_quantity"
26
28
  }
27
29
  end
28
30
 
@@ -32,8 +34,8 @@ module Easypay
32
34
 
33
35
  module InstanceMethods
34
36
 
35
- def create_payment_reference
36
- Easypay::PaymentReference.new.process(self)
37
+ def create_payment_reference(options={})
38
+ Easypay::PaymentReference.new.process(self, options)
37
39
  end
38
40
 
39
41
  end # InstanceMethods
@@ -32,9 +32,7 @@ module Easypay
32
32
 
33
33
  # API methods
34
34
 
35
- # def create_reference(token, value, lang, client_name=nil, client_mobile=nil, client_email=nil, client_observation=nil, item_description=nil)
36
35
  def create_reference(object)
37
-
38
36
  get "01BG",
39
37
  :t_key => object.ep_key,
40
38
  :t_value => object.ep_value,
@@ -142,13 +140,11 @@ module Easypay
142
140
  result[:payment_link] = doc.at("ep_link").text unless doc.at("ep_link").nil?
143
141
  result[:ep_reference] = doc.at("ep_reference").text unless doc.at("ep_reference").nil?
144
142
  end
145
-
143
+ # TODO - ugly i know - must create decent Parser
146
144
  result[:ep_status] = doc.at("ep_status").text unless doc.at("ep_status").nil?
147
145
  result[:ep_cin] = doc.at("ep_cin").text unless doc.at("ep_cin").nil?
148
146
  result[:ep_user] = doc.at("ep_user").text unless doc.at("ep_user").nil?
149
147
  result[:ep_entity] = doc.at("ep_entity").text unless doc.at("ep_entity").nil?
150
-
151
-
152
148
  result[:t_key] = doc.at("t_key").text unless doc.at("t_key").nil?
153
149
  result[:ep_doc] = doc.at("ep_doc").text unless doc.at("ep_doc").nil?
154
150
  result[:ep_payment_type] = doc.at("ep_payment_type").text unless doc.at("ep_payment_type").nil?
@@ -33,6 +33,8 @@ class CreateEasypayTables < ActiveRecord::Migration
33
33
  t.text :o_obs
34
34
  t.string :o_email
35
35
  t.string :o_mobile
36
+ t.string :item_description
37
+ t.integer :item_quantity
36
38
 
37
39
  t.timestamps
38
40
  end
metadata CHANGED
@@ -4,10 +4,10 @@ version: !ruby/object:Gem::Version
4
4
  hash: 23
5
5
  prerelease:
6
6
  segments:
7
+ - 1
7
8
  - 0
8
9
  - 0
9
- - 4
10
- version: 0.0.4
10
+ version: 1.0.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Guilherme Pereira
@@ -50,7 +50,7 @@ files:
50
50
  - app/controllers/easypay/payments_controller.rb
51
51
  - app/models/easypay/log.rb
52
52
  - app/models/easypay/payment_reference.rb
53
- - app/views/easypay/notifications/notification_from_mb_payment.xml.builder
53
+ - app/views/easypay/notifications/notification_from_payment.xml.builder
54
54
  - app/views/easypay/notifications/simple_notification.xml.builder
55
55
  - app/views/easypay/payments/complete.html.erb
56
56
  - config/routes.rb