payanyway 2.0.2 → 2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 006868d92b32837be741013f78c66cd9416310ea
4
- data.tar.gz: 817438c74c5995f52735f6b7232854d01802a4e7
3
+ metadata.gz: 01cb3c2c06e6d8fd8308a70d57ad554f2bbc8372
4
+ data.tar.gz: ddc79fad090341cf5bb6ac5f32d58600cb35c6da
5
5
  SHA512:
6
- metadata.gz: 7590e871af8f338c308a82760625576233d69526410fac95d8ba8cbd20eb9030d7db39462a87c540435c9436e6963945d8fdc642e35a384a077cb6a12bd9b574
7
- data.tar.gz: e4e21b77e8e8306b241eef8dd3123b69dcacba812dfc26a3ac13fb46aa147006e5cc797c5e45bd04deb319ed98baaac076c9d7cb58cbbc61da9b29d0c1068757
6
+ metadata.gz: 3414f4fedbd1341f29f1d9d9449799c1aecdf4307e1f50a1eacf93fb04e7e45b6a438fd25ab6309b9a1e6a9c23a6e9f736faf386bf31c1ca98ebc0bc983a2c48
7
+ data.tar.gz: efb6b8178bbfc14e4a9ba724faf2c1c0b748d11e0b09eb2e0e9e035239868890b5b62d555b924cd59caa68bcda01592904de0772bacc73fc1756d5169cd448ed
data/.travis.yml CHANGED
@@ -1,7 +1,6 @@
1
1
  language: ruby
2
2
 
3
3
  rvm:
4
- - 2.0.0
5
4
  - 2.1
6
5
  - 2.2.2
7
6
  - 2.3.3
@@ -15,8 +14,6 @@ matrix:
15
14
  exclude:
16
15
  - rvm: 2.1
17
16
  env: RAILS_VERSION=5.0.1
18
- - rvm: 2.0.0
19
- env: RAILS_VERSION=5.0.1
20
17
 
21
18
  script:
22
19
  - bundle exec rspec
data/README.md CHANGED
@@ -17,7 +17,7 @@
17
17
  - [Check URL](#check_url)
18
18
  - [Return URL и InProgress URL](#return_url)
19
19
  - [Расшифровка параметров](#params)
20
- - [Параметры, отвечающие за выбор платежной системы](#payment_ids)
20
+ - [Автоматическое прохождение MONETA.Assistant](#auto_assistant)
21
21
 
22
22
  ##<a name="installation"></a> Установка
23
23
 
@@ -95,13 +95,18 @@ production: <<: *config
95
95
  ###<a name="payment_url"></a> Запрос на оплату
96
96
 
97
97
  Чтобы получить ссылку на платежный шлюз для оплаты заказа пользователем,
98
- используйте `Payanyway::Gateway.payment_url(params, use_signature = true)`, где `params[ KEY ]` такой, что `KEY` ∈
99
- `[:transaction_id, :amount, :test_mode, :description, :subscriber_id, :custom1, :custom2, :custom3, :locale, :payment_system_unit_id, :payment_system_limit_ids]`
98
+ используйте хелпер
100
99
 
101
- Если в настройках счета в системе **moneta.ru** выставлен флаг «Можно переопределять настройки в URL», то можно так же передавать
100
+ ```ruby
101
+ Payanyway::Gateway.payment_url(params, use_signature = true)
102
+ ```
103
+
104
+ Описание всех возможных параметров запроса (ключей params) находится [здесь](#params).
105
+
106
+ Если в настройках счета в системе **moneta.ru** выставлен флаг «Можно переопределять настройки в URL», то можно так же передавать
102
107
  `[:success_url, :in_progress_url, :fail_url, :return_url]`.
103
108
 
104
- Пример минимальной ссылки:
109
+ Пример минимальной ссылки для оплаты:
105
110
 
106
111
  ```ruby
107
112
  class Order < ActiveRecord::Base; end
@@ -134,7 +139,7 @@ class PayanywayController
134
139
  # params[ KEY ], где KEY ∈ [ :moneta_id, :transaction_id, :operation_id,
135
140
  # :amount, :currency, :subscriber_id, :test_mode, :user, :corraccount,
136
141
  # :custom1, :custom2, :custom3, :payment_system_unit_id ]
137
-
142
+
138
143
  # ВНИМАНИЕ: при отправке корректного ответа со стороны магазина,
139
144
  # необходимо вернуть в методе параметры для генерации статус-кода.
140
145
  # { amount: AMOUNT, state: STATE, description: DESCRIPTION,
@@ -175,7 +180,7 @@ end
175
180
  `:paid` | Заказ оплачен. Уведомление об оплате магазину доставлено.
176
181
  `:in_progress` | Заказ находится в обработке. Точный статус оплаты заказа определить невозможно. (например, если пользователя отправило на InProgress URL, но уведомления на Pay URL от шлюза еще не поступало)
177
182
  `:unpaid` | Заказ создан и готов к оплате. Уведомление об оплате магазину не доставлено.
178
- `:canceled` | Заказ не является актуальным в магазине (например, заказ отменен).
183
+ `:canceled` | Заказ не является актуальным в магазине (например, заказ отменен).
179
184
 
180
185
  ####<a name="return_url"></a> Return URL и InProgress URL
181
186
 
@@ -202,7 +207,7 @@ class PayanywayController
202
207
  end
203
208
  ```
204
209
 
205
- ###<a name="params"></a> Расшифровка параметров, используемых в gem'e
210
+ ###<a name="params"></a> Расшифровка параметров
206
211
 
207
212
  params[ KEY ], где KEY | В документации | Описание
208
213
  ---------------------------|:-------------------------|:-----------------------------------------
@@ -223,14 +228,16 @@ end
223
228
  `:fail_url` | `MNT_FAIL_URL` | URL страницы магазина, куда должен попасть покупатель после отмененной или неуспешной оплаты.
224
229
  `:return_url` | `MNT_RETURN_URL` | URL страницы магазина, куда должен вернуться покупатель при добровольном отказе от оплаты.
225
230
  `:attributes` | `MNT_ATTRIBUTES` | Содержит произвольные параметры, которые будут сохранены в операции.
226
-
227
- ####<a name="payment_ids"></a> Параметры, отвечающие за выбор платежной системы:
228
-
229
- params[ KEY ], где KEY | В документации | Описание
230
- ---------------------------|:-------------------------|:-----------------------------------------
231
- `:payment_system_unit_id` | `paymentSystem.unitId` | Конкретная [платежная система](https://www.moneta.ru/viewPaymentMethods.htm)
232
231
  `:payment_system_limit_ids`| `paymentSystem.limitIds` | Список (разделенный запятыми) идентификаторов платежных систем.
233
232
 
233
+ ####<a name="auto_assistant"></a> Автоматическое прохождение MONETA.Assistant
234
+
235
+ params[ KEY ], где KEY | В документации | Описание
236
+ -----------------------------|:--------------------------|:-----------------------------------------
237
+ `:followup` | `followup` | Пройти весь MONETA.Assistant с предустановленными значениями. Для этого необходимо выбрать платежную систему и заполнить параметры платежной системы (если они есть).
238
+ `:payment_system_unit_id` | `paymentSystem.unitId` | (1015 – МОНЕТА.РУ, 1020 – Яндекс.Деньги, 1017 – WebMoney и т.п.) Предварительный выбор платежной системы. Полный список способов оплаты можно посмотреть: https://www.moneta.ru/viewPaymentMethods.htm
239
+ `:javascript_enabled` | `javascriptEnabled` | (true\|false) Признак возможности использовать javascript для автоматической обработки форм.
240
+ `:payment_system_account_id` | `paymentSystem.accountId` | Номер счета платежной системы. Например, тип кошелька WebMoney, 2 – WMR, 3 – WMZ, 4 – WME.
234
241
 
235
242
  ## Contributing
236
243
 
@@ -2,27 +2,32 @@ module Payanyway
2
2
  module Factories
3
3
  class PaymentUrlFactory
4
4
  PARAMS = {
5
- 'MNT_ID' => :moneta_id,
6
- 'MNT_TEST_MODE' => :test_mode,
7
- 'MNT_CURRENCY_CODE' => :currency,
8
-
9
- 'MNT_TRANSACTION_ID' => :transaction_id,
10
- 'MNT_AMOUNT' => :amount,
11
- 'MNT_DESCRIPTION' => :description,
12
- 'MNT_SUBSCRIBER_ID' => :subscriber_id,
13
-
14
- 'MNT_SUCCESS_URL' => :success_url,
15
- 'MNT_INPROGRESS_URL' => :in_progress_url,
16
- 'MNT_FAIL_URL' => :fail_url,
17
- 'MNT_RETURN_URL' => :return_url,
18
-
19
- 'MNT_CUSTOM1' => :custom1,
20
- 'MNT_CUSTOM2' => :custom2,
21
- 'MNT_CUSTOM3' => :custom3,
22
-
23
- 'moneta.locale' => :locale,
24
- 'paymentSystem.unitId' => :payment_system_unit_id,
25
- 'paymentSystem.limitIds' => :payment_system_limit_ids
5
+ 'MNT_ID' => :moneta_id,
6
+ 'MNT_TEST_MODE' => :test_mode,
7
+ 'MNT_CURRENCY_CODE' => :currency,
8
+
9
+ 'MNT_TRANSACTION_ID' => :transaction_id,
10
+ 'MNT_AMOUNT' => :amount,
11
+ 'MNT_DESCRIPTION' => :description,
12
+ 'MNT_SUBSCRIBER_ID' => :subscriber_id,
13
+
14
+ 'MNT_SUCCESS_URL' => :success_url,
15
+ 'MNT_INPROGRESS_URL' => :in_progress_url,
16
+ 'MNT_FAIL_URL' => :fail_url,
17
+ 'MNT_RETURN_URL' => :return_url,
18
+
19
+ 'MNT_CUSTOM1' => :custom1,
20
+ 'MNT_CUSTOM2' => :custom2,
21
+ 'MNT_CUSTOM3' => :custom3,
22
+
23
+ 'moneta.locale' => :locale,
24
+ 'paymentSystem.limitIds' => :payment_system_limit_ids,
25
+
26
+ # Дополнительные параметры запроса на оплату
27
+ 'followup' => :followup,
28
+ 'paymentSystem.unitId' => :payment_system_unit_id,
29
+ 'javascriptEnabled' => :javascript_enabled,
30
+ 'paymentSystem.accountId' => :payment_system_account_id
26
31
  # 'MNT_SIGNATURE' => добавляется при use_signature == true
27
32
  }.to_settings
28
33
 
@@ -51,4 +56,4 @@ module Payanyway
51
56
  end
52
57
  end
53
58
  end
54
- end
59
+ end
@@ -1,3 +1,3 @@
1
1
  module Payanyway
2
- VERSION = '2.0.2'
2
+ VERSION = '2.1.0'
3
3
  end
@@ -31,13 +31,27 @@ describe Payanyway::Factories::PaymentUrlFactory do
31
31
  amount: '120.25',
32
32
  transaction_id: 'FF790ABCD',
33
33
  locale: 'ru',
34
- payment_system_unit_id: '1015',
35
34
  payment_system_limit_ids: '1015,1017'
36
35
  }
37
36
  }
38
37
 
39
38
  its(['moneta.locale']) { is_expected.to eq('ru') }
40
- its(['paymentSystem.unitId']) { is_expected.to eq('1015') }
41
39
  its(['paymentSystem.limitIds']) { is_expected.to eq('1015,1017') }
42
40
  end
43
- end
41
+
42
+ context 'when set additional params (for automatic MONETA.Assistant process)' do
43
+ let(:params) {
44
+ {
45
+ followup: true,
46
+ payment_system_unit_id: '1017',# (1015 – МОНЕТА.РУ, 1020 – Яндекс.Деньги, 1017 – WebMoney и т.п.)
47
+ javascript_enabled: true,
48
+ payment_system_account_id: 2 # 2 – WMR, 3 – WMZ, 4 – WME.
49
+ }
50
+ }
51
+
52
+ its(['followup']) { is_expected.to eq('true') }
53
+ its(['paymentSystem.unitId']) { is_expected.to eq('1017') }
54
+ its(['javascriptEnabled']) { is_expected.to eq('true') }
55
+ its(['paymentSystem.accountId']) { is_expected.to eq('2') }
56
+ end
57
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: payanyway
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ssnikolay
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-23 00:00:00.000000000 Z
11
+ date: 2017-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails