vnpay 0.0.2 → 0.0.3
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 +4 -4
- data/README.md +46 -2
- data/lib/vnpay.rb +1 -1
- data/lib/vnpay/order_info.rb +15 -0
- data/lib/vnpay/url.rb +3 -2
- metadata +16 -2
- data/lib/order_info.rb +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6ea2c77c749d22a99f73c651c26ec62db8fa5c6b1b04116bbe020083167c5ef
|
4
|
+
data.tar.gz: 494462d3625a556d1a90089fc7402e6fd01188a4f64ef9e18e444433a9b204aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4dca55f6c3f11a28eb8e2a907c4c1ced24b8722b7e43815949acf90529a8c774c90f60f75ee7ae1e81d80efe89ac9fd9d108af8d9a7e5d6069b81fc0125f73c4
|
7
|
+
data.tar.gz: f64a928f0d43ebf18a97ec35867cd0771d38cd093e5d3e5dd73a0ef0f611786747c1d878fe5d756bbd622fc18ffb9acbaf101d4c19ea201ecef8d5a2b43653f7
|
data/README.md
CHANGED
@@ -1,2 +1,46 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
VNPay
|
2
|
+
========
|
3
|
+
|
4
|
+
A Ruby gem for VNPay integration
|
5
|
+
|
6
|
+
Introduction
|
7
|
+
------------
|
8
|
+
|
9
|
+
VNPAY Payment Gateway is an intermediate system to transmit, exchange and process payment transactions between consumers owning card, bank account or e-wallet and enterprises providing goods, services on the Internet.
|
10
|
+
|
11
|
+
Installation
|
12
|
+
------------
|
13
|
+
|
14
|
+
### Bundler
|
15
|
+
|
16
|
+
Add the Airbrake gem to your Gemfile:
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
gem 'vnpay'
|
20
|
+
```
|
21
|
+
|
22
|
+
### Manual
|
23
|
+
|
24
|
+
Invoke the following command from your terminal:
|
25
|
+
|
26
|
+
```bash
|
27
|
+
gem install vnpay
|
28
|
+
```
|
29
|
+
|
30
|
+
### Configuration
|
31
|
+
|
32
|
+
To integrate VNPay with your Rails application, you need to know your secret_key, payment URL and your website code. You can ask VNPay directly to get these information, then config them as following:
|
33
|
+
|
34
|
+
```ruby
|
35
|
+
Vnpay::Config.configure do |config|
|
36
|
+
config.secret_key = ENV['VNPAY_SECRET_KEY']
|
37
|
+
config.payment_url = ENV['VNPAY_PAYMENT_URL']
|
38
|
+
config.website_code = ENV['VNPAY_WEBSITE_CODE']
|
39
|
+
end
|
40
|
+
```
|
41
|
+
|
42
|
+
### How to use
|
43
|
+
|
44
|
+
...
|
45
|
+
|
46
|
+
|
data/lib/vnpay.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
module Vnpay
|
2
|
+
class OrderInfo
|
3
|
+
attr_accessor :order_type, :payment_ref, :amount, :description, :created_at
|
4
|
+
|
5
|
+
def created_at=(value)
|
6
|
+
@created_at = value&.strftime('%Y%m%d%H%M%S')
|
7
|
+
end
|
8
|
+
|
9
|
+
def valid?
|
10
|
+
[:order_type, :payment_ref, :amount, :description, :created_at].map do |attribute|
|
11
|
+
!!send(attribute)
|
12
|
+
end.all?
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/vnpay/url.rb
CHANGED
@@ -9,6 +9,7 @@ module Vnpay
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def generate
|
12
|
+
raise "OrderInfo missing attributes" unless order_info.valid?
|
12
13
|
config.payment_url + query_string + "&vnp_SecureHashType=MD5&vnp_SecureHash=#{secure_hash}"
|
13
14
|
end
|
14
15
|
|
@@ -32,7 +33,7 @@ module Vnpay
|
|
32
33
|
vnp_IpAddr: ip_address,
|
33
34
|
vnp_Locale: 'vn',
|
34
35
|
vnp_OrderInfo: order_info.description.to_s,
|
35
|
-
vnp_OrderType:
|
36
|
+
vnp_OrderType: order_info.order_type.to_s,
|
36
37
|
vnp_ReturnUrl: callback_url,
|
37
38
|
vnp_TmnCode: config.website_code,
|
38
39
|
vnp_TxnRef: order_info.payment_ref.to_s,
|
@@ -48,4 +49,4 @@ module Vnpay
|
|
48
49
|
Rack::Utils.escape(string)
|
49
50
|
end
|
50
51
|
end
|
51
|
-
end
|
52
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vnpay
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nhannvu19
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '5.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
description: Ruby library for VNPay integration
|
28
42
|
email:
|
29
43
|
- nhannvu.19@gmail.com
|
@@ -33,9 +47,9 @@ extra_rdoc_files: []
|
|
33
47
|
files:
|
34
48
|
- README.md
|
35
49
|
- Rakefile
|
36
|
-
- lib/order_info.rb
|
37
50
|
- lib/vnpay.rb
|
38
51
|
- lib/vnpay/config.rb
|
52
|
+
- lib/vnpay/order_info.rb
|
39
53
|
- lib/vnpay/url.rb
|
40
54
|
- lib/vnpay/verify.rb
|
41
55
|
homepage: https://github.com/nhannvu19/vnpay
|