offsite_payments 2.7.10 → 2.7.11
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.
- checksums.yaml +5 -5
- data/lib/offsite_payments/helper.rb +58 -0
- data/lib/offsite_payments/integrations/paytm.rb +2 -2
- data/lib/offsite_payments/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 80e586df2a8864f246dc9aaa3ab3f53d3cc04b4f14200f195a504cf8cb3bb551
|
4
|
+
data.tar.gz: dbbf5498a71aa62aafc296834d849f7c2c307a1c6abcae457c50a4385108860f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c032a24a16ff43cf25fc011f1eddd2b0fde6f3064e14ae6982977d280f9eb6a99cc79d559e6091f6fc311a846a7ee21087b24f87448c07faa38eff46cb6fe37
|
7
|
+
data.tar.gz: d7205f0cc31e891d3f88b8c7c4419516f2f59232ccf342a39f32bd1a24f53ec623e51c190c17e7372fae04a6763b5aecf922893b6de875a33dc5d749c3c53f36
|
@@ -15,6 +15,17 @@ module OffsitePayments #:nodoc:
|
|
15
15
|
subclass.mappings ||= {}
|
16
16
|
end
|
17
17
|
|
18
|
+
# @param order [String] unique id of this order
|
19
|
+
# @param account [String] merchant account id from gateway provider
|
20
|
+
# @param options [Hash] convenience param to set common attributes including:
|
21
|
+
# * amount
|
22
|
+
# * currency
|
23
|
+
# * credential2
|
24
|
+
# * credential3
|
25
|
+
# * credential4
|
26
|
+
# * notify_url
|
27
|
+
# * return_url
|
28
|
+
# * redirect_param
|
18
29
|
def initialize(order, account, options = {})
|
19
30
|
options.assert_valid_keys([:amount, :currency, :test, :credential2, :credential3, :credential4, :country, :account_name, :description, :transaction_type, :authcode, :notify_url, :return_url, :redirect_param, :forward_url, :checkout_token])
|
20
31
|
@fields = {}
|
@@ -33,10 +44,52 @@ module OffsitePayments #:nodoc:
|
|
33
44
|
self.checkout_token = options[:checkout_token]
|
34
45
|
end
|
35
46
|
|
47
|
+
# Add a mapping between attribute name and gateway specific field name.
|
48
|
+
# This mapping can then be used in form helper to assign values to each
|
49
|
+
# attributes. For example, a `mapping :height, "HEIGHT"` means user can
|
50
|
+
# write `f.height 182` in 'payment_service_for' form helper, and an
|
51
|
+
# input tag with the name "HEIGHT" and value of 182 will be generated.
|
52
|
+
# This is an abstraction over the `add_field` method.
|
53
|
+
#
|
54
|
+
# @param attribute [Symbol] attribute name
|
55
|
+
# @param options [String, Array, Hash] input name from gateway's side.
|
56
|
+
#
|
57
|
+
# String:
|
58
|
+
# Name of generated input
|
59
|
+
#
|
60
|
+
# Array:
|
61
|
+
# Names of generated inputs, for creating synonym inputs.
|
62
|
+
# Each generated input will have the same value.
|
63
|
+
#
|
64
|
+
# Hash:
|
65
|
+
# Keys as attribute name and values as generated input names.
|
66
|
+
# Used to group related fields together, such as different segments
|
67
|
+
# of an address, for example:
|
68
|
+
#
|
69
|
+
# mapping :address, :region => 'REGION',
|
70
|
+
# :city => 'CITY',
|
71
|
+
# :address => 'ADD'
|
36
72
|
def self.mapping(attribute, options = {})
|
37
73
|
self.mappings[attribute] = options
|
38
74
|
end
|
39
75
|
|
76
|
+
# Add an input in the form. Useful when gateway requires some uncommon
|
77
|
+
# fields not provided by the gem.
|
78
|
+
#
|
79
|
+
# # inside `payment_service_for do |service|` block
|
80
|
+
# service.add_field('c_id','_xclick')
|
81
|
+
#
|
82
|
+
# Gateway implementor can also use this to add default fields in the form:
|
83
|
+
#
|
84
|
+
# # in a subclass of ActiveMerchant::Billing::Integrations::Helper
|
85
|
+
# def initialize(order, account, options = {})
|
86
|
+
# super
|
87
|
+
# # mandatory fields
|
88
|
+
# add_field('Rvg2c', 1)
|
89
|
+
# end
|
90
|
+
#
|
91
|
+
# @param name [String] input name
|
92
|
+
# @param value [String] input value
|
40
93
|
def add_field(name, value)
|
41
94
|
return if name.blank? || value.blank?
|
42
95
|
@fields[name.to_s] = value.to_s
|
@@ -72,10 +125,15 @@ module OffsitePayments #:nodoc:
|
|
72
125
|
@fields
|
73
126
|
end
|
74
127
|
|
128
|
+
# @return [Boolean] whether in test mode
|
75
129
|
def test?
|
76
130
|
@test_mode ||= OffsitePayments.mode == :test || !!@test
|
77
131
|
end
|
78
132
|
|
133
|
+
# Specifies the HTTP method used in form submmition.
|
134
|
+
# Set to POST which gateway implementor can override if other http method is desired (e.g. PUT).
|
135
|
+
#
|
136
|
+
# @return [String] form submit action, default is "POST".
|
79
137
|
def form_method
|
80
138
|
"POST"
|
81
139
|
end
|
@@ -11,7 +11,7 @@ module OffsitePayments #:nodoc:
|
|
11
11
|
|
12
12
|
# self.test_url = 'https://pguat.paytm.com/oltp-web/processTransaction'
|
13
13
|
# self.production_url = 'https://secure.paytm.in/oltp-web/processTransaction'
|
14
|
-
|
14
|
+
|
15
15
|
self.test_url = 'https://securegw-stage.paytm.in/theia/processTransaction'
|
16
16
|
self.production_url = 'https://securegw.paytm.in/theia/processTransaction'
|
17
17
|
|
@@ -109,7 +109,7 @@ module OffsitePayments #:nodoc:
|
|
109
109
|
end
|
110
110
|
|
111
111
|
class Notification < OffsitePayments::Notification
|
112
|
-
PAYTM_RESPONSE_PARAMS = %w(MID BANKTXNID TXNAMOUNT CURRENCY STATUS RESPCODE RESPMSG TXNDATE GATEWAYNAME BANKNAME PAYMENTMODE PROMO_CAMP_ID PROMO_STATUS PROMO_RESPCODE ORDERID TXNID REFUNDAMOUNT REFID MERC_UNQ_REF CUSTID).freeze
|
112
|
+
PAYTM_RESPONSE_PARAMS = %w(MID BANKTXNID TXNAMOUNT CURRENCY STATUS RESPCODE RESPMSG TXNDATE GATEWAYNAME BANKNAME PAYMENTMODE PROMO_CAMP_ID PROMO_STATUS PROMO_RESPCODE ORDERID TXNID REFUNDAMOUNT REFID MERC_UNQ_REF CUSTID TXNDATETIME).freeze
|
113
113
|
|
114
114
|
def initialize(post, options = {})
|
115
115
|
super
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: offsite_payments
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.7.
|
4
|
+
version: 2.7.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tobias Luetke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -278,7 +278,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
278
278
|
version: '0'
|
279
279
|
requirements: []
|
280
280
|
rubyforge_project:
|
281
|
-
rubygems_version: 2.6
|
281
|
+
rubygems_version: 2.7.6
|
282
282
|
signing_key:
|
283
283
|
specification_version: 4
|
284
284
|
summary: Framework and tools for dealing with offsite (hosted) payment pages.
|