dineromail 0.0.4 → 0.1.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/README.rdoc +49 -0
- data/dineromail.gemspec +1 -1
- data/lib/dineromail.rb +3 -2
- data/lib/dineromail/app/helpers/dineromail_helper.rb +18 -16
- data/lib/dineromail/buyer.rb +9 -6
- data/lib/dineromail/configuration.rb +3 -0
- data/lib/dineromail/item.rb +8 -8
- data/lib/dineromail/notification.rb +12 -20
- data/lib/dineromail/operation.rb +34 -0
- data/lib/dineromail/status_report.rb +10 -60
- data/lib/dineromail/version.rb +1 -1
- data/spec/dineromail/notification_spec.rb +16 -5
- data/spec/dineromail/status_report_spec.rb +13 -39
- data/spec/fixtures/notification.xml +14 -0
- data/spec/fixtures/status_report.xml +40 -0
- metadata +9 -5
data/README.rdoc
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
= Dineromail / Rails
|
2
|
+
|
3
|
+
Dineromail is an unofficial library for interacting with the Dineromail payment api.
|
4
|
+
|
5
|
+
== Getting Started
|
6
|
+
|
7
|
+
Dineromail is released as a Ruby Gem. The gem is to be installed within a Ruby
|
8
|
+
on Rails 3 application. To install, simply add the following to your Gemfile:
|
9
|
+
|
10
|
+
# Gemfile
|
11
|
+
gem 'dineromail'
|
12
|
+
|
13
|
+
== General Configuration
|
14
|
+
|
15
|
+
You need to create a config file (config/initializers/dineromail.rb) with:
|
16
|
+
|
17
|
+
Dineromail.configure do |config|
|
18
|
+
config.pay_methods = '' #All the available methods
|
19
|
+
config.account_number = 'your_account_number'
|
20
|
+
config.password = 'your_password'
|
21
|
+
config.logo_url = 'http://my-web.com/images/logo.png'
|
22
|
+
config.return_url = 'http://my-web.com/success'
|
23
|
+
config.error_url = 'http://my-web.com/error'
|
24
|
+
config.currency = Dineromail::Configuration::PESO
|
25
|
+
config.ipn_webservice_url = 'https://argentina.dineromail.com/Vender/Consulta_IPN.asp'
|
26
|
+
config.payment_url = 'https://argentina.dineromail.com/Shop/Shop_Ingreso.asp'
|
27
|
+
config.button_image_url = 'https://argentina.dineromail.com/imagenes/vender/boton/comprar-gris.gif'
|
28
|
+
end
|
29
|
+
|
30
|
+
== Example rails controller
|
31
|
+
|
32
|
+
class DineromailController < ApplicationController
|
33
|
+
def ipn
|
34
|
+
notifications = Dineromail::Notification.parse(params[:Notificacion])
|
35
|
+
notifications.each do |notify|
|
36
|
+
if notify.valid_report? && notify.completed?
|
37
|
+
order = Order.find(notify.transaction_id)
|
38
|
+
#Allways check the amount
|
39
|
+
order.success = order.amount == notify.amount ? 'success' : 'failure'
|
40
|
+
order.save
|
41
|
+
end
|
42
|
+
end
|
43
|
+
render :nothing => true
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
== Example dineromail forward page
|
48
|
+
|
49
|
+
<%= dineromail_button('Item name',price,:transaction_id => @transaction_id) %>
|
data/dineromail.gemspec
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.summary = %q{Dineromail library for Rails}
|
13
13
|
s.description = %q{Integration with dineromail plataform for rails projects}
|
14
14
|
|
15
|
-
s.add_dependency "
|
15
|
+
s.add_dependency "happymapper"
|
16
16
|
s.add_dependency "httparty"
|
17
17
|
s.add_dependency "rails", ["~> 3.0"]
|
18
18
|
s.add_development_dependency "bundler"
|
data/lib/dineromail.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
require 'dineromail/version'
|
2
2
|
require 'dineromail/notification'
|
3
|
-
require 'dineromail/status_report'
|
4
3
|
require 'dineromail/buyer'
|
4
|
+
require 'dineromail/operation'
|
5
5
|
require 'dineromail/item'
|
6
|
+
require 'dineromail/status_report'
|
6
7
|
require 'dineromail/configuration'
|
7
8
|
require 'dineromail/app/helpers/dineromail_helper'
|
8
9
|
require 'action_controller'
|
@@ -11,7 +12,7 @@ module Dineromail
|
|
11
12
|
self.configure do |config|
|
12
13
|
#Default confiuration
|
13
14
|
config.ipn_webservice_url = 'https://argentina.dineromail.com/Vender/Consulta_IPN.asp'
|
14
|
-
config.currency =
|
15
|
+
config.currency = Configuration::PESO
|
15
16
|
config.pay_methods = '' #Todos
|
16
17
|
config.payment_url = 'https://argentina.dineromail.com/Shop/Shop_Ingreso.asp'
|
17
18
|
config.button_image_url = 'https://argentina.dineromail.com/imagenes/vender/boton/comprar-gris.gif'
|
@@ -1,14 +1,16 @@
|
|
1
1
|
module DineromailHelper
|
2
2
|
|
3
|
-
def
|
3
|
+
def dineromail_button(item_name,amount,options = {})
|
4
4
|
options = options.symbolize_keys
|
5
5
|
button_image_url = options.delete(:button_image_url) || Dineromail.configuration.button_image_url
|
6
6
|
payment_url = options.delete(:payment_url) || Dineromail.configuration.payment_url
|
7
7
|
form_options = options.delete(:form) || {}
|
8
8
|
form_options[:action] = payment_url
|
9
9
|
content_tag(:form, form_options ) do
|
10
|
-
|
11
|
-
|
10
|
+
''.tap do |html|
|
11
|
+
html << dineromail_inputs(item_name,amount,options)
|
12
|
+
html << content_tag(:input,nil, :type => 'image', :src => button_image_url, :border => '0', :name=> 'submit', :alt=>'Pagar con Dineromail' )
|
13
|
+
end
|
12
14
|
end
|
13
15
|
end
|
14
16
|
|
@@ -25,19 +27,19 @@ module DineromailHelper
|
|
25
27
|
transaction_id = options[:transaction_id]
|
26
28
|
item_number = options[:item_number]
|
27
29
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
30
|
+
''.tap do |html|
|
31
|
+
html << content_tag(:input,nil, :type => 'hidden', :name => 'NombreItem', :value =>item_name)
|
32
|
+
html << content_tag(:input,nil, :type => 'hidden', :name => 'TipoMoneda', :value =>currency)
|
33
|
+
html << content_tag(:input,nil, :type => 'hidden', :name => 'PrecioItem', :value =>amount)
|
34
|
+
html << content_tag(:input,nil, :type => 'hidden', :name => 'E_Comercio', :value =>account_number)
|
35
|
+
html << content_tag(:input,nil, :type => 'hidden', :name => 'image_url', :value =>logo_url)
|
36
|
+
html << content_tag(:input,nil, :type => 'hidden', :name => 'DireccionExito', :value => return_url)
|
37
|
+
html << content_tag(:input,nil, :type => 'hidden', :name => 'DireccionFracaso', :value => error_url)
|
38
|
+
html << content_tag(:input,nil, :type => 'hidden', :name => 'Mensaje', :value => message)
|
39
|
+
html << content_tag(:input,nil, :type => 'hidden', :name => 'MediosPago', :value => pay_methods)
|
40
|
+
html << content_tag(:input,nil, :type => 'hidden', :name => 'NroItem', :value => item_number) if item_number
|
41
|
+
html << content_tag(:input,nil, :type => 'hidden', :name => 'TRX_ID', :value => transaction_id) if transaction_id
|
42
|
+
end
|
41
43
|
end
|
42
44
|
|
43
45
|
|
data/lib/dineromail/buyer.rb
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
module Dineromail
|
2
2
|
class Buyer
|
3
|
-
|
3
|
+
include HappyMapper
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
tag 'COMPRADOR'
|
6
|
+
element :email, String, :tag => 'EMAIL'
|
7
|
+
element :address, String, :tag => 'DIRECCION'
|
8
|
+
element :name, String, :tag => 'NOMBRE'
|
9
|
+
element :phone, String, :tag => 'TELEFONO'
|
10
|
+
element :document_type, String, :tag => 'TIPODOC'
|
11
|
+
element :document_number, String, :tag => 'NUMERODOC'
|
12
|
+
element :comment, String, :tag => 'COMENTARIO'
|
10
13
|
|
11
14
|
end
|
12
15
|
end
|
data/lib/dineromail/item.rb
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
module Dineromail
|
2
2
|
class Item
|
3
|
-
|
3
|
+
include HappyMapper
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
tag 'ITEM'
|
6
|
+
element :description, String, :tag => 'DESCRIPCION'
|
7
|
+
element :currency, Integer, :tag => 'MONEDA'
|
8
|
+
element :unit_price, Float, :tag => 'PRECIOUNITARIO'
|
9
|
+
element :count, Integer, :tag => 'CANTIDAD'
|
7
10
|
|
8
|
-
|
9
|
-
|
10
|
-
send("#{name}=", value)
|
11
|
-
end
|
12
|
-
end
|
11
|
+
DOLLAR = 2
|
12
|
+
PESO = 1
|
13
13
|
|
14
14
|
end
|
15
15
|
end
|
@@ -1,35 +1,27 @@
|
|
1
|
-
require '
|
1
|
+
require 'happymapper'
|
2
2
|
module Dineromail
|
3
3
|
class Notification
|
4
|
+
include HappyMapper
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
@transaction_id = transaction_id
|
9
|
-
@tipo = tipo
|
10
|
-
end
|
6
|
+
tag 'OPERACION'
|
7
|
+
element :transaction_id, Integer, :tag => 'ID'
|
8
|
+
element :type, String, :tag => 'TIPO'
|
11
9
|
|
12
10
|
def status_report
|
13
11
|
unless @status_report
|
14
|
-
@status_report = StatusReport.
|
12
|
+
@status_report = StatusReport.get_report_for(transaction_id)
|
15
13
|
end
|
16
14
|
@status_report
|
17
15
|
end
|
18
16
|
|
19
|
-
def
|
20
|
-
|
21
|
-
notificaction_data = XmlSimple.xml_in(notification_xml,'KeyToSymbol' => true)
|
22
|
-
operations = notificaction_data[:operaciones].first[:operacion]
|
23
|
-
operations.each do |operation|
|
24
|
-
tipo = operation[:tipo].first
|
25
|
-
transaction_id = operation[:id].first
|
26
|
-
notifications << self.new(transaction_id, tipo)
|
27
|
-
end
|
28
|
-
notifications
|
17
|
+
def valid_report?
|
18
|
+
status_report.valid_report?
|
29
19
|
end
|
30
20
|
|
31
|
-
def
|
32
|
-
status_report.
|
21
|
+
def method_missing(symbol, *args)
|
22
|
+
unless status_report.operations.empty?
|
23
|
+
status_report.operations.first.send(symbol, *args)
|
24
|
+
end
|
33
25
|
end
|
34
26
|
|
35
27
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'dineromail/item'
|
2
|
+
module Dineromail
|
3
|
+
class Operation
|
4
|
+
include HappyMapper
|
5
|
+
|
6
|
+
tag 'OPERACION'
|
7
|
+
element :transaction_id, Integer, :tag => 'ID'
|
8
|
+
element :date, DateTime, :tag => 'FECHA'
|
9
|
+
element :status, Integer, :tag => 'ESTADO'
|
10
|
+
element :amount, Float, :tag => 'MONTO'
|
11
|
+
element :net_amount, Float, :tag => 'MONTONETO'
|
12
|
+
element :pay_method, String, :tag => 'METODOPAGO'
|
13
|
+
element :pay_medium, String, :tag => 'MEDIOPAGO'
|
14
|
+
has_one :buyer, Buyer, :tag => 'COMPRADOR'
|
15
|
+
has_many :items, Dineromail::Item, :tag => 'ITEM'
|
16
|
+
|
17
|
+
PENDING_STATUS = 1
|
18
|
+
COMPLETED_STATUS = 2
|
19
|
+
CANCELLED_STATUS = 3
|
20
|
+
|
21
|
+
def pending?
|
22
|
+
status == PENDING_STATUS
|
23
|
+
end
|
24
|
+
|
25
|
+
def completed?
|
26
|
+
status == ACCREDITED_STATUS
|
27
|
+
end
|
28
|
+
|
29
|
+
def cancelled?
|
30
|
+
status == CANCELLED_STATUS
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
@@ -1,13 +1,16 @@
|
|
1
|
-
require '
|
1
|
+
require 'happymapper'
|
2
2
|
require 'httparty'
|
3
3
|
require 'dineromail/buyer'
|
4
|
+
require 'dineromail/operation'
|
4
5
|
module Dineromail
|
5
6
|
class StatusReport
|
6
|
-
attr_accessor :transaction_id
|
7
|
+
attr_accessor :transaction_id
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
9
|
+
include HappyMapper
|
10
|
+
|
11
|
+
tag 'REPORTE'
|
12
|
+
element :report_status, Integer, :tag => 'ESTADOREPORTE'
|
13
|
+
has_many :operations, Operation
|
11
14
|
|
12
15
|
VALID_REPORT_STATUS = 1
|
13
16
|
MALFORMED_REPORT_STATUS = 2
|
@@ -18,31 +21,12 @@ module Dineromail
|
|
18
21
|
INVALID_PASSWORD_OR_ACCOUNT_NUMBER_REQUEST_STATUS = 7
|
19
22
|
TRANSACTION_NOT_FOUND_REQUEST_STATUS = 8
|
20
23
|
|
21
|
-
def initialize(transaction_id = nil)
|
22
|
-
@items = []
|
23
|
-
if transaction_id
|
24
|
-
obtain_status_report_data_for transaction_id
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
24
|
def valid_report?
|
29
25
|
report_status == VALID_REPORT_STATUS
|
30
26
|
end
|
31
27
|
|
32
|
-
def pending?
|
33
|
-
status == PENDING_STATUS
|
34
|
-
end
|
35
28
|
|
36
|
-
def
|
37
|
-
status == ACCREDITED_STATUS
|
38
|
-
end
|
39
|
-
|
40
|
-
def cancelled?
|
41
|
-
status == CANCELLED_STATUS
|
42
|
-
end
|
43
|
-
|
44
|
-
def obtain_status_report_data_for(transaction_id)
|
45
|
-
self.transaction_id = transaction_id
|
29
|
+
def self.get_report_for(transaction_id)
|
46
30
|
account_number = Dineromail.configuration.account_number
|
47
31
|
password = Dineromail.configuration.password
|
48
32
|
ipn_url = Dineromail.configuration.ipn_webservice_url
|
@@ -59,41 +43,7 @@ module Dineromail
|
|
59
43
|
</DETALLE>
|
60
44
|
</REPORTE>"
|
61
45
|
response = HTTParty.get ipn_url , :query => {:data => request_data}
|
62
|
-
|
63
|
-
end
|
64
|
-
|
65
|
-
def parse_response(response)
|
66
|
-
response_data = XmlSimple.xml_in(response,'KeyToSymbol' => true )
|
67
|
-
self.report_status = response_data[:estadoreporte].first.to_i
|
68
|
-
operations = response_data[:detalle].first[:operaciones].first
|
69
|
-
if operations
|
70
|
-
operation = operations[:operacion].first
|
71
|
-
self.transaction_id = operation[:id].first.to_i
|
72
|
-
self.date = DateTime.parse operation[:fecha].first
|
73
|
-
self.status = operation[:estado].first.to_i
|
74
|
-
self.amount = operation[:monto].first.to_f
|
75
|
-
self.net_amount = operation[:montoneto].first.to_f
|
76
|
-
self.pay_method = operation[:metodopago].first
|
77
|
-
self.pay_medium = operation[:mediopago].first
|
78
|
-
buyer_data = operation[:comprador].first
|
79
|
-
self.buyer = Buyer.new
|
80
|
-
buyer.email = buyer_data[:email].first
|
81
|
-
buyer.address = buyer_data[:direccion].first
|
82
|
-
buyer.comment = buyer_data[:comentario].first
|
83
|
-
buyer.name = buyer_data[:nombre].first
|
84
|
-
buyer.phone = buyer_data[:telefono].first
|
85
|
-
buyer.document_type = buyer_data[:tipodoc].first
|
86
|
-
buyer.document_number = buyer_data[:numerodoc].first
|
87
|
-
items_data = operation[:items].first[:item]
|
88
|
-
items_data.each do |item_data|
|
89
|
-
item = Item.new
|
90
|
-
item.description = item_data[:descripcion].first
|
91
|
-
item.currency = item_data[:moneda].first.to_i
|
92
|
-
item.unit_price = item_data[:preciounitario].first.to_f
|
93
|
-
item.count = item_data[:cantidad].first.to_i
|
94
|
-
self.items << item
|
95
|
-
end
|
96
|
-
end
|
46
|
+
self.parse response.body
|
97
47
|
end
|
98
48
|
|
99
49
|
end
|
data/lib/dineromail/version.rb
CHANGED
@@ -2,13 +2,24 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Dineromail::Notification do
|
4
4
|
it 'should load the notifications from the notification xml' do
|
5
|
-
notification_xml = '
|
6
|
-
notifications = Dineromail::Notification.
|
5
|
+
notification_xml = File.read( 'spec/fixtures/notification.xml')
|
6
|
+
notifications = Dineromail::Notification.parse(notification_xml)
|
7
7
|
notifications.count.should == 2
|
8
|
-
notifications.first.transaction_id.should ==
|
9
|
-
notifications.last.transaction_id.should ==
|
8
|
+
notifications.first.transaction_id.should == 1889
|
9
|
+
notifications.last.transaction_id.should == 5547
|
10
10
|
end
|
11
11
|
|
12
|
-
|
12
|
+
it 'should get automaticaly the status data associated with the notification' do
|
13
|
+
HTTParty.stub!(:get).and_return {
|
14
|
+
response = Object.new
|
15
|
+
response.stub!(:body).and_return(File.read( 'spec/fixtures/status_report.xml'))
|
16
|
+
response
|
17
|
+
}
|
18
|
+
notification_xml = File.read( 'spec/fixtures/notification.xml')
|
19
|
+
notifications = Dineromail::Notification.parse(notification_xml)
|
20
|
+
notification = notifications.first
|
21
|
+
notification.valid_report?.should be_true
|
22
|
+
notification.net_amount.should == 50.3
|
23
|
+
end
|
13
24
|
|
14
25
|
end
|
@@ -2,48 +2,22 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Dineromail::StatusReport do
|
4
4
|
it 'should load the status report from xml' do
|
5
|
-
xml = '
|
6
|
-
<ID>1889</ID>
|
7
|
-
<FECHA>01/28/2011 12:02:01 PM</FECHA>
|
8
|
-
<ESTADO>1</ESTADO>
|
9
|
-
<NUMTRANSACCION>67777</NUMTRANSACCION>
|
10
|
-
<COMPRADOR>
|
11
|
-
<EMAIL>comprador@email.com</EMAIL>
|
12
|
-
<DIRECCION>San Martin 10</DIRECCION>
|
13
|
-
<COMENTARIO>comentario</COMENTARIO>
|
14
|
-
<NOMBRE>Juan</NOMBRE>
|
15
|
-
<TELEFONO>4444444</TELEFONO>
|
16
|
-
<TIPODOC>DNI</TIPODOC>
|
17
|
-
<NUMERODOC>222222222</NUMERODOC>
|
18
|
-
</COMPRADOR>
|
19
|
-
<MONTO>60.2</MONTO>
|
20
|
-
<MONTONETO>50.3</MONTONETO>
|
21
|
-
<METODOPAGO>TARJETA DE CREDITO</METODOPAGO>
|
22
|
-
<MEDIOPAGO>VISA</MEDIOPAGO>
|
23
|
-
<CUOTAS>1</CUOTAS>
|
24
|
-
<ITEMS>
|
25
|
-
<ITEM>
|
26
|
-
<DESCRIPCION>Libro</DESCRIPCION>
|
27
|
-
<MONEDA>1</MONEDA>
|
28
|
-
<PRECIOUNITARIO>6.90</PRECIOUNITARIO>
|
29
|
-
<CANTIDAD>2</CANTIDAD>
|
30
|
-
</ITEM>
|
31
|
-
</ITEMS><VENDEDOR><TIPODOC></TIPODOC><NUMERODOC></NUMERODOC></VENDEDOR></OPERACION></OPERACIONES></DETALLE></REPORTE>'
|
5
|
+
xml = File.read( 'spec/fixtures/status_report.xml')
|
32
6
|
|
33
|
-
status_report = Dineromail::StatusReport.
|
34
|
-
status_report.
|
35
|
-
buyer =
|
36
|
-
item =
|
7
|
+
status_report = Dineromail::StatusReport.parse(xml)
|
8
|
+
operation = status_report.operations.first
|
9
|
+
buyer = operation.buyer
|
10
|
+
item = operation.items.first
|
37
11
|
|
38
12
|
status_report.report_status.should == 1
|
39
13
|
status_report.valid_report?.should be_true
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
14
|
+
operation.transaction_id.should == 1889
|
15
|
+
operation.date.should == DateTime.ordinal(2011,28,12,2,1)
|
16
|
+
operation.status.should == Dineromail::Operation::PENDING_STATUS
|
17
|
+
operation.amount.should == 60.2
|
18
|
+
operation.net_amount.should == 50.3
|
19
|
+
operation.pay_method.should == 'TARJETA DE CREDITO'
|
20
|
+
operation.pay_medium.should == 'VISA'
|
47
21
|
buyer.email.should == 'comprador@email.com'
|
48
22
|
buyer.address.should == 'San Martin 10'
|
49
23
|
buyer.comment.should == 'comentario'
|
@@ -52,7 +26,7 @@ describe Dineromail::StatusReport do
|
|
52
26
|
buyer.document_type.should == 'DNI'
|
53
27
|
buyer.document_number.should == '222222222'
|
54
28
|
item.description.should == 'Libro'
|
55
|
-
item.currency.should ==
|
29
|
+
item.currency.should == Dineromail::Configuration::PESO
|
56
30
|
item.count.should == 2
|
57
31
|
item.unit_price.should == 6.9
|
58
32
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<NOTIFICACION>
|
3
|
+
<TIPONOTIFICACION>1</TIPONOTIFICACION>
|
4
|
+
<OPERACIONES>
|
5
|
+
<OPERACION>
|
6
|
+
<TIPO>1</TIPO>
|
7
|
+
<ID>1889</ID>
|
8
|
+
</OPERACION>
|
9
|
+
<OPERACION>
|
10
|
+
<TIPO>1</TIPO>
|
11
|
+
<ID>5547</ID>
|
12
|
+
</OPERACION>
|
13
|
+
</OPERACIONES>
|
14
|
+
</NOTIFICACION>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<REPORTE>
|
3
|
+
<ESTADOREPORTE>1</ESTADOREPORTE>
|
4
|
+
<DETALLE>
|
5
|
+
<OPERACIONES>
|
6
|
+
<OPERACION>
|
7
|
+
<ID>1889</ID>
|
8
|
+
<FECHA>01/28/2011 12:02:01 PM</FECHA>
|
9
|
+
<ESTADO>1</ESTADO>
|
10
|
+
<NUMTRANSACCION>67777</NUMTRANSACCION>
|
11
|
+
<COMPRADOR>
|
12
|
+
<EMAIL>comprador@email.com</EMAIL>
|
13
|
+
<DIRECCION>San Martin 10</DIRECCION>
|
14
|
+
<COMENTARIO>comentario</COMENTARIO>
|
15
|
+
<NOMBRE>Juan</NOMBRE>
|
16
|
+
<TELEFONO>4444444</TELEFONO>
|
17
|
+
<TIPODOC>DNI</TIPODOC>
|
18
|
+
<NUMERODOC>222222222</NUMERODOC>
|
19
|
+
</COMPRADOR>
|
20
|
+
<MONTO>60.2</MONTO>
|
21
|
+
<MONTONETO>50.3</MONTONETO>
|
22
|
+
<METODOPAGO>TARJETA DE CREDITO</METODOPAGO>
|
23
|
+
<MEDIOPAGO>VISA</MEDIOPAGO>
|
24
|
+
<CUOTAS>1</CUOTAS>
|
25
|
+
<ITEMS>
|
26
|
+
<ITEM>
|
27
|
+
<DESCRIPCION>Libro</DESCRIPCION>
|
28
|
+
<MONEDA>1</MONEDA>
|
29
|
+
<PRECIOUNITARIO>6.90</PRECIOUNITARIO>
|
30
|
+
<CANTIDAD>2</CANTIDAD>
|
31
|
+
</ITEM>
|
32
|
+
</ITEMS>
|
33
|
+
<VENDEDOR>
|
34
|
+
<TIPODOC></TIPODOC>
|
35
|
+
<NUMERODOC></NUMERODOC>
|
36
|
+
</VENDEDOR>
|
37
|
+
</OPERACION>
|
38
|
+
</OPERACIONES>
|
39
|
+
</DETALLE>
|
40
|
+
</REPORTE>
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dineromail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
+
- 1
|
8
9
|
- 0
|
9
|
-
|
10
|
-
version: 0.0.4
|
10
|
+
version: 0.1.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Nicolas Mosconi
|
@@ -17,11 +17,11 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2011-06-
|
20
|
+
date: 2011-06-23 00:00:00 -03:00
|
21
21
|
default_executable:
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|
24
|
-
name:
|
24
|
+
name: happymapper
|
25
25
|
prerelease: false
|
26
26
|
requirement: &id001 !ruby/object:Gem::Requirement
|
27
27
|
none: false
|
@@ -105,6 +105,7 @@ extra_rdoc_files: []
|
|
105
105
|
files:
|
106
106
|
- .gitignore
|
107
107
|
- Gemfile
|
108
|
+
- README.rdoc
|
108
109
|
- Rakefile
|
109
110
|
- dineromail.gemspec
|
110
111
|
- lib/dineromail.rb
|
@@ -113,10 +114,13 @@ files:
|
|
113
114
|
- lib/dineromail/configuration.rb
|
114
115
|
- lib/dineromail/item.rb
|
115
116
|
- lib/dineromail/notification.rb
|
117
|
+
- lib/dineromail/operation.rb
|
116
118
|
- lib/dineromail/status_report.rb
|
117
119
|
- lib/dineromail/version.rb
|
118
120
|
- spec/dineromail/notification_spec.rb
|
119
121
|
- spec/dineromail/status_report_spec.rb
|
122
|
+
- spec/fixtures/notification.xml
|
123
|
+
- spec/fixtures/status_report.xml
|
120
124
|
- spec/spec_helper.rb
|
121
125
|
has_rdoc: true
|
122
126
|
homepage: ""
|