moka-payment 0.0.6 → 0.0.9
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/Gemfile +0 -4
- data/README.md +0 -1
- data/bin/console +3 -5
- data/bin/setup +3 -1
- data/bin/sinatra.rb +4 -4
- data/lib/moka.rb +3 -1
- data/lib/moka/add/customer.rb +23 -5
- data/lib/moka/configuration.rb +1 -1
- data/lib/moka/error.rb +1 -0
- data/lib/moka/{payment/payment.rb → payment.rb} +0 -1
- data/lib/moka/payment/capture.rb +1 -1
- data/lib/moka/payment/direct.rb +1 -3
- data/lib/moka/payment/direct3d.rb +1 -1
- data/lib/moka/request.rb +17 -120
- data/lib/moka/request/add.rb +22 -0
- data/lib/moka/request/get.rb +17 -0
- data/lib/moka/request/pay.rb +63 -0
- data/lib/moka/request/update.rb +23 -0
- data/lib/moka/update/customer.rb +72 -0
- data/lib/moka/version.rb +1 -1
- metadata +8 -5
- data/.rake_tasks~ +0 -7
- data/Gemfile.lock +0 -47
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 642da8f111f27c2aac14a235b3b2cef38a4f5498
|
4
|
+
data.tar.gz: 670acfa8535249923da327bff2f124a15ef61fd7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a867d69b4de794c98d0c001c2e8dd2f9c2883d0441d0debadd21cd82abb21aa48a5646ea7328586b44f7856e055fd22d719ffd1a265ddd496fabd10f7611c81
|
7
|
+
data.tar.gz: d3b1fe34ecf0ba8d887d6b0eed8c3dbbfd17f0337c16628e0d340601c2af9bb9d14c6895db6b9fcff8d07f359112dcb47568ee8947383b9e2d0790867ad794d7
|
data/Gemfile
CHANGED
@@ -1,11 +1,7 @@
|
|
1
1
|
source "https://rubygems.org"
|
2
2
|
|
3
|
-
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
|
4
|
-
|
5
|
-
|
6
3
|
gem 'rest-client', '~> 2.0', '>= 2.0.2'
|
7
4
|
gem 'minitest', '~> 5.11', '>= 5.11.3'
|
8
5
|
gem 'rake', '~> 12.3', '>= 12.3.1'
|
9
6
|
gem 'json', '~> 2.1'
|
10
|
-
gem 'minitest-hooks', '~> 1.5'
|
11
7
|
gem 'sinatra'
|
data/README.md
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
# Moka
|
2
2
|
[](http://progressed.io/bar/12?title=completed) [](https://badge.fury.io/rb/moka-payment)
|
3
|
-
## Proje Moka nın destek vermemesinden dolayı yarıda kalmıştır.
|
4
3
|
|
5
4
|
MOKA'nın ödeme alma, ödeme isteği gönderme, kart saklama ve tekrarlayan ödeme servisleri ile ödemelerinizi alabilirsiniz.
|
6
5
|
[Üye](https://mokapos.moka.com/) olun ve Moka'yı kullanmaya hemen başlayın!
|
data/bin/console
CHANGED
data/bin/setup
CHANGED
data/bin/sinatra.rb
CHANGED
data/lib/moka.rb
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
require 'moka/version'
|
2
2
|
require 'moka/configuration'
|
3
|
-
require 'moka/payment
|
3
|
+
require 'moka/payment'
|
4
4
|
require 'moka/payment/direct'
|
5
5
|
require 'moka/payment/direct3d'
|
6
6
|
require 'moka/payment/capture'
|
7
7
|
require 'moka/get/payment_list'
|
8
8
|
require 'moka/add/customer'
|
9
|
+
require 'moka/update/customer'
|
10
|
+
|
9
11
|
|
10
12
|
module Moka
|
11
13
|
extend Configuration
|
data/lib/moka/add/customer.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'moka/request'
|
2
2
|
require 'moka/configuration'
|
3
|
+
require 'moka/error'
|
3
4
|
|
4
5
|
module Moka
|
5
6
|
module Add
|
@@ -8,6 +9,7 @@ module Moka
|
|
8
9
|
:customer_code, :customer_password, :first_name,
|
9
10
|
:last_name, :gender, :birth_date, :gsm_number,
|
10
11
|
:email, :address
|
12
|
+
attr_reader :dealer_customer_id, :card_list_count, :card_list
|
11
13
|
|
12
14
|
def initialize(details = {})
|
13
15
|
@dealer_code = Moka.config.dealer_code
|
@@ -23,6 +25,9 @@ module Moka
|
|
23
25
|
@gsm_number = details[:gsm_number]
|
24
26
|
@email = details[:email]
|
25
27
|
@address = details[:address]
|
28
|
+
@dealer_customer_id = nil
|
29
|
+
@card_list_count = nil
|
30
|
+
@card_list = nil
|
26
31
|
end
|
27
32
|
|
28
33
|
def self.details
|
@@ -33,7 +38,17 @@ module Moka
|
|
33
38
|
end
|
34
39
|
|
35
40
|
def add
|
36
|
-
|
41
|
+
raise Moka::Error::NullRequiredParameter if [@customer_code, @first_name].any? { |d| d.nil? }
|
42
|
+
@@response = Moka::Request.add_customer(@@customer_details)
|
43
|
+
if success?
|
44
|
+
@dealer_customer_id = @@response["Data"]["DealerCustomer"]["DealerCustomerId"]
|
45
|
+
@card_list_count = @@response["Data"]["CardListCount"]
|
46
|
+
@card_list = @@response["Data"]["CardList"]
|
47
|
+
else
|
48
|
+
@error = Moka::Error::RequestError.new
|
49
|
+
@error = @@response["ResultCode"] unless @@response["Data"]
|
50
|
+
end
|
51
|
+
return @@response
|
37
52
|
end
|
38
53
|
|
39
54
|
def response
|
@@ -45,12 +60,15 @@ module Moka
|
|
45
60
|
end
|
46
61
|
|
47
62
|
def success?
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
63
|
+
if @@response["ResultCode"] == "Success"
|
64
|
+
return true
|
65
|
+
end if @@response
|
66
|
+
return false
|
52
67
|
end
|
53
68
|
|
69
|
+
def errors
|
70
|
+
@error
|
71
|
+
end
|
54
72
|
end
|
55
73
|
end
|
56
74
|
end
|
data/lib/moka/configuration.rb
CHANGED
@@ -3,7 +3,7 @@ require 'moka/request'
|
|
3
3
|
|
4
4
|
module Moka
|
5
5
|
module Configuration
|
6
|
-
def configure(options = { env: ENV['RACK_ENV'] })
|
6
|
+
def configure(options = { env: ENV['RACK_ENV'] }) #TODO bos gelse ne olacaq?
|
7
7
|
@config = Moka::Dealer.new
|
8
8
|
@config.env = options[:env] ? options[:env].to_s : 'production'
|
9
9
|
Moka::Request::set_env
|
data/lib/moka/error.rb
CHANGED
data/lib/moka/payment/capture.rb
CHANGED
data/lib/moka/payment/direct.rb
CHANGED
@@ -1,9 +1,8 @@
|
|
1
|
-
require 'moka/payment
|
1
|
+
require 'moka/payment'
|
2
2
|
|
3
3
|
module Moka
|
4
4
|
module Payment
|
5
5
|
class Direct < Moka::Payment::Payment
|
6
|
-
|
7
6
|
def initialize(details = {})
|
8
7
|
super
|
9
8
|
@card_holder_full_name = details[:card_number]
|
@@ -34,7 +33,6 @@ module Moka
|
|
34
33
|
@payment_details = Moka::Payment::Direct.new
|
35
34
|
super @payment_details
|
36
35
|
end
|
37
|
-
|
38
36
|
end
|
39
37
|
end
|
40
38
|
end
|
data/lib/moka/request.rb
CHANGED
@@ -1,12 +1,21 @@
|
|
1
1
|
require 'rest-client'
|
2
2
|
require 'json'
|
3
3
|
require 'pp'
|
4
|
+
require 'moka/request/pay'
|
5
|
+
require 'moka/request/get'
|
6
|
+
require 'moka/request/add'
|
7
|
+
require 'moka/request/update'
|
4
8
|
|
5
9
|
module Moka
|
6
10
|
module Request
|
7
|
-
|
11
|
+
extend Moka::Request::Pay
|
12
|
+
extend Moka::Request::Get
|
13
|
+
extend Moka::Request::Add
|
14
|
+
extend Moka::Request::Update
|
15
|
+
|
16
|
+
class << self
|
8
17
|
def set_env
|
9
|
-
$SERVICE_URL = Moka.config.env == 'production' ?
|
18
|
+
$SERVICE_URL = Moka.config.env == 'production' ?
|
10
19
|
"https://service.moka.com" :
|
11
20
|
"https://service.testmoka.com"
|
12
21
|
|
@@ -15,6 +24,7 @@ module Moka
|
|
15
24
|
$CAPTURE_PAYMENT_URL = "#{$SERVICE_URL}/PaymentDealer/DoCapture"
|
16
25
|
$GET_PAYMENT_LIST_URL = "#{$SERVICE_URL}/PaymentDealer/GetPaymentList"
|
17
26
|
$ADD_CUSTOMER_URL = "#{$SERVICE_URL}/DealerCustomer/AddCustomer"
|
27
|
+
$UPDATE_CUSTOMER_URL = "#{$SERVICE_URL}/DealerCustomer/UpdateCustomer"
|
18
28
|
end
|
19
29
|
|
20
30
|
def get_check_key(dealer_code, username, password)
|
@@ -28,126 +38,13 @@ module Moka
|
|
28
38
|
}
|
29
39
|
end
|
30
40
|
|
31
|
-
def
|
32
|
-
payment_dealer_authentication = {
|
33
|
-
"DealerCode": payment_details.dealer_code,
|
34
|
-
"Username": payment_details.username,
|
35
|
-
"Password": payment_details.password,
|
36
|
-
"CheckKey": payment_details.check_key
|
37
|
-
}
|
38
|
-
|
39
|
-
payment_dealer_request = {
|
40
|
-
"CardHolderFullName": payment_details.card_holder_full_name,
|
41
|
-
"CardNumber": payment_details.card_number,
|
42
|
-
"ExpMonth": payment_details.exp_month,
|
43
|
-
"ExpYear": payment_details.exp_year,
|
44
|
-
"CvcNumber": payment_details.cvc_number,
|
45
|
-
"Amount": payment_details.amount,
|
46
|
-
"Currency": payment_details.currency,
|
47
|
-
"InstallmentNumber": payment_details.installment_number,
|
48
|
-
"IsPreAuth": payment_details.is_pre_auth
|
49
|
-
}
|
50
|
-
|
51
|
-
["CardNumber", "ExpMonth", "ExpMonth", "CvcNumber"].each do |detail|
|
52
|
-
payment_dealer_request.delete(detail.to_sym)
|
53
|
-
end && payment_dealer_request["CardToken"] = payment_details.card_token if payment_details.card_token
|
54
|
-
|
55
|
-
payment_dealer_request["RedirectUrl"] = payment_details.redirect_url if payment_details.redirect_url
|
56
|
-
payment_dealer_request["RedirectType "] = payment_details.redirect_type if payment_details.redirect_type
|
57
|
-
payment_dealer_request["ClientIP"] = payment_details.client_ip if payment_details.client_ip
|
58
|
-
payment_dealer_request["OtherTrxCode"] = payment_details.other_trx_code if payment_details.other_trx_code
|
59
|
-
payment_dealer_request["IsPoolPayment"] = payment_details.is_pool_payment if payment_details.is_pool_payment
|
60
|
-
payment_dealer_request["IntegratorId"] = payment_details.integrator_id if payment_details.integrator_id
|
61
|
-
payment_dealer_request["Software"] = payment_details.software if payment_details.software
|
62
|
-
payment_dealer_request["Description"] = payment_details.description if payment_details.description
|
63
|
-
|
64
|
-
buyer_information = {}
|
65
|
-
buyer_information["BuyerFullName"] = payment_details.buyer_full_name if payment_details.buyer_full_name
|
66
|
-
buyer_information["BuyerEmail"] = payment_details.buyer_email if payment_details.buyer_email
|
67
|
-
buyer_information["BuyerGsmNumber"] = payment_details.buyer_gsm_number if payment_details.buyer_gsm_number
|
68
|
-
buyer_information["BuyerAddress"] = payment_details.buyer_address if payment_details.buyer_address
|
69
|
-
|
70
|
-
response = RestClient.post payment_details.redirect_url ? $DIRECT3D_PAYMENT_URL : $DIRECT_PAYMENT_URL,
|
71
|
-
{
|
72
|
-
"PaymentDealerAuthentication": payment_dealer_authentication,
|
73
|
-
"PaymentDealerRequest": payment_dealer_request,
|
74
|
-
"BuyerInformation": buyer_information
|
75
|
-
}
|
76
|
-
return JSON.parse(response.body)
|
77
|
-
end
|
78
|
-
|
79
|
-
def capture(capture_details)
|
80
|
-
payment_dealer_authentication = {
|
81
|
-
"DealerCode": capture_details.dealer_code,
|
82
|
-
"Username": capture_details.username,
|
83
|
-
"Password": capture_details.password,
|
84
|
-
"CheckKey": capture_details.check_key
|
85
|
-
}
|
86
|
-
|
87
|
-
payment_dealer_request = {
|
88
|
-
"VirtualPosOrderId": capture_details.virtual_pos_order_id,
|
89
|
-
"OtherTrxCode": capture_details.other_trx_code || "",
|
90
|
-
"Amount": capture_details.amount,
|
91
|
-
"ClientIP": capture_details.client_ip
|
92
|
-
}
|
93
|
-
|
94
|
-
response = RestClient.post $CAPTURE_PAYMENT_URL,
|
95
|
-
{
|
96
|
-
"PaymentDealerAuthentication": payment_dealer_authentication,
|
97
|
-
"PaymentDealerRequest": payment_dealer_request
|
98
|
-
}
|
99
|
-
return JSON.parse(response.body)
|
100
|
-
end
|
101
|
-
|
102
|
-
def get_payment_list(payment_list_details)
|
103
|
-
payment_dealer_authentication = {
|
104
|
-
"DealerCode": payment_list_details.dealer_code,
|
105
|
-
"Username": payment_list_details.username,
|
106
|
-
"Password": payment_list_details.password,
|
107
|
-
"CheckKey": payment_list_details.check_key
|
108
|
-
}
|
109
|
-
|
110
|
-
payment_dealer_request = {
|
111
|
-
"PaymentStartDate": payment_list_details.payment_start_date,
|
112
|
-
"PaymentEndDate": payment_list_details.payment_end_date,
|
113
|
-
}
|
114
|
-
payment_dealer_request["PaymentStatus"] = payment_list_details.payment_status.to_i if payment_list_details.payment_status
|
115
|
-
payment_dealer_request["TrxStatus"] = payment_list_details.trx_status.to_i if payment_list_details.trx_status
|
116
|
-
|
117
|
-
response = RestClient.post $GET_PAYMENT_LIST_URL,
|
118
|
-
{
|
119
|
-
"PaymentDealerAuthentication": payment_dealer_authentication,
|
120
|
-
"PaymentDealerRequest": payment_dealer_request
|
121
|
-
}
|
122
|
-
return JSON.parse(response.body)
|
123
|
-
end
|
124
|
-
|
125
|
-
def add_user(customer_details)
|
126
|
-
dealer_customer_authentication = {
|
127
|
-
"DealerCode": customer_details.dealer_code,
|
128
|
-
"Username": customer_details.username,
|
129
|
-
"Password": customer_details.password,
|
130
|
-
"CheckKey": customer_details.check_key
|
131
|
-
}
|
132
|
-
|
133
|
-
dealer_customer_request = {
|
134
|
-
"CustomerCode": customer_details.customer_code,
|
135
|
-
"Password": customer_details.customer_password,
|
136
|
-
"FirstName": customer_details.first_name,
|
137
|
-
"LastName": customer_details.last_name,
|
138
|
-
"Gender": customer_details.gender,
|
139
|
-
"BirthDate": customer_details.birth_date,
|
140
|
-
"GsmNumber": customer_details.gsm_number,
|
141
|
-
"Email": customer_details.email,
|
142
|
-
"Address": customer_details.address
|
143
|
-
}
|
144
|
-
|
145
|
-
response = RestClient.post $ADD_CUSTOMER_URL,
|
41
|
+
def dealer_authentication(details)
|
146
42
|
{
|
147
|
-
"
|
148
|
-
"
|
43
|
+
"DealerCode": details.dealer_code,
|
44
|
+
"Username": details.username,
|
45
|
+
"Password": details.password,
|
46
|
+
"CheckKey": details.check_key
|
149
47
|
}
|
150
|
-
return JSON.parse(response.body)
|
151
48
|
end
|
152
49
|
end
|
153
50
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Moka::Request::Add
|
2
|
+
def add_customer(details)
|
3
|
+
dealer_customer_request = {
|
4
|
+
"CustomerCode": details.customer_code,
|
5
|
+
"Password": details.customer_password,
|
6
|
+
"FirstName": details.first_name,
|
7
|
+
"LastName": details.last_name,
|
8
|
+
"Gender": details.gender,
|
9
|
+
"BirthDate": details.birth_date,
|
10
|
+
"GsmNumber": details.gsm_number,
|
11
|
+
"Email": details.email,
|
12
|
+
"Address": details.address
|
13
|
+
}
|
14
|
+
|
15
|
+
response = RestClient.post $ADD_CUSTOMER_URL,
|
16
|
+
{
|
17
|
+
"DealerCustomerAuthentication": dealer_authentication(details),
|
18
|
+
"DealerCustomerRequest": dealer_customer_request
|
19
|
+
}
|
20
|
+
return JSON.parse(response.body)
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Moka::Request::Get
|
2
|
+
def get_payment_list(payment_list_details)
|
3
|
+
payment_dealer_request = {
|
4
|
+
"PaymentStartDate": payment_list_details.payment_start_date,
|
5
|
+
"PaymentEndDate": payment_list_details.payment_end_date,
|
6
|
+
}
|
7
|
+
payment_dealer_request["PaymentStatus"] = payment_list_details.payment_status.to_i if payment_list_details.payment_status
|
8
|
+
payment_dealer_request["TrxStatus"] = payment_list_details.trx_status.to_i if payment_list_details.trx_status
|
9
|
+
|
10
|
+
response = RestClient.post $GET_PAYMENT_LIST_URL,
|
11
|
+
{
|
12
|
+
"PaymentDealerAuthentication": dealer_authentication(details),
|
13
|
+
"PaymentDealerRequest": payment_dealer_request
|
14
|
+
}
|
15
|
+
return JSON.parse(response.body)
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
module Moka
|
2
|
+
module Request
|
3
|
+
module Pay
|
4
|
+
def direct_payment(details)
|
5
|
+
payment_dealer_request = {
|
6
|
+
"CardHolderFullName": details.card_holder_full_name,
|
7
|
+
"CardNumber": details.card_number,
|
8
|
+
"ExpMonth": details.exp_month,
|
9
|
+
"ExpYear": details.exp_year,
|
10
|
+
"CvcNumber": details.cvc_number,
|
11
|
+
"Amount": details.amount,
|
12
|
+
"Currency": details.currency,
|
13
|
+
"InstallmentNumber": details.installment_number,
|
14
|
+
"IsPreAuth": details.is_pre_auth
|
15
|
+
}
|
16
|
+
|
17
|
+
["CardNumber", "ExpMonth", "ExpMonth", "CvcNumber"].each do |detail|
|
18
|
+
payment_dealer_request.delete(detail.to_sym)
|
19
|
+
end && payment_dealer_request["CardToken"] = details.card_token if details.card_token
|
20
|
+
|
21
|
+
payment_dealer_request["RedirectUrl"] = details.redirect_url if details.redirect_url
|
22
|
+
payment_dealer_request["RedirectType "] = details.redirect_type if details.redirect_type
|
23
|
+
payment_dealer_request["ClientIP"] = details.client_ip if details.client_ip
|
24
|
+
payment_dealer_request["OtherTrxCode"] = details.other_trx_code if details.other_trx_code
|
25
|
+
payment_dealer_request["IsPoolPayment"] = details.is_pool_payment if details.is_pool_payment
|
26
|
+
payment_dealer_request["IntegratorId"] = details.integrator_id if details.integrator_id
|
27
|
+
payment_dealer_request["Software"] = details.software if details.software
|
28
|
+
payment_dealer_request["Description"] = details.description if details.description
|
29
|
+
|
30
|
+
buyer_information = {}
|
31
|
+
buyer_information["BuyerFullName"] = details.buyer_full_name if details.buyer_full_name
|
32
|
+
buyer_information["BuyerEmail"] = details.buyer_email if details.buyer_email
|
33
|
+
buyer_information["BuyerGsmNumber"] = details.buyer_gsm_number if details.buyer_gsm_number
|
34
|
+
buyer_information["BuyerAddress"] = details.buyer_address if details.buyer_address
|
35
|
+
|
36
|
+
response = RestClient.post details.redirect_url ? $DIRECT3D_PAYMENT_URL : $DIRECT_PAYMENT_URL,
|
37
|
+
{
|
38
|
+
"PaymentDealerAuthentication": dealer_authentication(details),
|
39
|
+
"PaymentDealerRequest": payment_dealer_request,
|
40
|
+
"BuyerInformation": buyer_information
|
41
|
+
}
|
42
|
+
return JSON.parse(response.body)
|
43
|
+
end
|
44
|
+
|
45
|
+
def capture(capture_details)
|
46
|
+
payment_dealer_request = {
|
47
|
+
"VirtualPosOrderId": capture_details.virtual_pos_order_id,
|
48
|
+
"OtherTrxCode": capture_details.other_trx_code || "",
|
49
|
+
"Amount": capture_details.amount,
|
50
|
+
"ClientIP": capture_details.client_ip
|
51
|
+
}
|
52
|
+
|
53
|
+
response = RestClient.post $CAPTURE_PAYMENT_URL,
|
54
|
+
{
|
55
|
+
"PaymentDealerAuthentication": dealer_authentication(capture_details),
|
56
|
+
"PaymentDealerRequest": payment_dealer_request
|
57
|
+
}
|
58
|
+
return JSON.parse(response.body)
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Moka::Request::Update
|
2
|
+
def update_customer(details)
|
3
|
+
dealer_customer_request = {
|
4
|
+
"DealerCustomerId": details.dealer_customer_id,
|
5
|
+
"CustomerCode": details.customer_code,
|
6
|
+
"Password": details.customer_password,
|
7
|
+
"FirstName": details.first_name,
|
8
|
+
"LastName": details.last_name,
|
9
|
+
"Gender": details.gender,
|
10
|
+
"BirthDate": details.birth_date,
|
11
|
+
"GsmNumber": details.gsm_number,
|
12
|
+
"Email": details.email,
|
13
|
+
"Address": details.address
|
14
|
+
}
|
15
|
+
|
16
|
+
response = RestClient.post $UPDATE_CUSTOMER_URL,
|
17
|
+
{
|
18
|
+
"DealerCustomerAuthentication": dealer_authentication(details),
|
19
|
+
"DealerCustomerRequest": dealer_customer_request
|
20
|
+
}
|
21
|
+
return JSON.parse(response.body)
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
require 'moka/request'
|
2
|
+
require 'moka/configuration'
|
3
|
+
|
4
|
+
module Moka
|
5
|
+
module Update
|
6
|
+
class Customer
|
7
|
+
attr_accessor :dealer_code, :dealer_customer_id, :username, :password,
|
8
|
+
:check_key, :customer_code, :customer_password, :first_name,
|
9
|
+
:last_name, :gender, :birth_date, :gsm_number,
|
10
|
+
:email, :address
|
11
|
+
|
12
|
+
def initialize(details = {})
|
13
|
+
@dealer_code = Moka.config.dealer_code
|
14
|
+
@username = Moka.config.username
|
15
|
+
@password = Moka.config.password
|
16
|
+
@check_key = Moka.config.check_key
|
17
|
+
@customer_code = details[:customer_code]
|
18
|
+
@dealer_customer_id = details[:customer_code]
|
19
|
+
@customer_password = details[:customer_password]
|
20
|
+
@first_name = details[:first_name]
|
21
|
+
@last_name = details[:last_name]
|
22
|
+
@gender = details[:gender]
|
23
|
+
@birth_date = details[:birth_date]
|
24
|
+
@gsm_number = details[:gsm_number]
|
25
|
+
@email = details[:email]
|
26
|
+
@address = details[:address]
|
27
|
+
@card_list_count = nil
|
28
|
+
@card_list = nil
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.details
|
32
|
+
@@response = nil
|
33
|
+
@@customer_details = Moka::Update::Customer.new
|
34
|
+
yield @@customer_details if block_given?
|
35
|
+
return @@customer_details
|
36
|
+
end
|
37
|
+
|
38
|
+
def update
|
39
|
+
raise Moka::Error::NullRequiredParameter if [@customer_code, @dealer_customer_id].all? { |d| d.nil? }
|
40
|
+
@@response = Moka::Request.update_customer(@@customer_details) #TODO
|
41
|
+
if success?
|
42
|
+
@card_list_count = @@response["Data"]["CardListCount"]
|
43
|
+
@card_list = @@response["Data"]["CardList"]
|
44
|
+
else
|
45
|
+
@error = Moka::Error::RequestError.new
|
46
|
+
@error = @@response["ResultCode"] unless @@response["Data"]
|
47
|
+
end
|
48
|
+
return @@response
|
49
|
+
end
|
50
|
+
|
51
|
+
def response
|
52
|
+
@@response
|
53
|
+
end
|
54
|
+
|
55
|
+
def request_details
|
56
|
+
@@customer_details
|
57
|
+
end
|
58
|
+
|
59
|
+
def success?
|
60
|
+
if @@response["ResultCode"] == "Success"
|
61
|
+
return true
|
62
|
+
end if @@response
|
63
|
+
return false
|
64
|
+
end
|
65
|
+
|
66
|
+
def errors
|
67
|
+
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
data/lib/moka/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moka-payment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Farhad
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-09-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -108,10 +108,8 @@ extensions: []
|
|
108
108
|
extra_rdoc_files: []
|
109
109
|
files:
|
110
110
|
- ".gitignore"
|
111
|
-
- ".rake_tasks~"
|
112
111
|
- ".travis.yml"
|
113
112
|
- Gemfile
|
114
|
-
- Gemfile.lock
|
115
113
|
- LICENSE.txt
|
116
114
|
- README.md
|
117
115
|
- Rakefile
|
@@ -124,11 +122,16 @@ files:
|
|
124
122
|
- lib/moka/dealer.rb
|
125
123
|
- lib/moka/error.rb
|
126
124
|
- lib/moka/get/payment_list.rb
|
125
|
+
- lib/moka/payment.rb
|
127
126
|
- lib/moka/payment/capture.rb
|
128
127
|
- lib/moka/payment/direct.rb
|
129
128
|
- lib/moka/payment/direct3d.rb
|
130
|
-
- lib/moka/payment/payment.rb
|
131
129
|
- lib/moka/request.rb
|
130
|
+
- lib/moka/request/add.rb
|
131
|
+
- lib/moka/request/get.rb
|
132
|
+
- lib/moka/request/pay.rb
|
133
|
+
- lib/moka/request/update.rb
|
134
|
+
- lib/moka/update/customer.rb
|
132
135
|
- lib/moka/version.rb
|
133
136
|
- moka.gemspec
|
134
137
|
homepage: https://github.com/0x2C6/moka-payment
|
data/.rake_tasks~
DELETED
data/Gemfile.lock
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: https://rubygems.org/
|
3
|
-
specs:
|
4
|
-
domain_name (0.5.20180417)
|
5
|
-
unf (>= 0.0.5, < 1.0.0)
|
6
|
-
http-cookie (1.0.3)
|
7
|
-
domain_name (~> 0.5)
|
8
|
-
json (2.1.0)
|
9
|
-
mime-types (3.1)
|
10
|
-
mime-types-data (~> 3.2015)
|
11
|
-
mime-types-data (3.2016.0521)
|
12
|
-
minitest (5.11.3)
|
13
|
-
minitest-hooks (1.5.0)
|
14
|
-
minitest (> 5.3)
|
15
|
-
mustermann (1.0.2)
|
16
|
-
netrc (0.11.0)
|
17
|
-
rack (2.0.5)
|
18
|
-
rack-protection (2.0.1)
|
19
|
-
rack
|
20
|
-
rake (12.3.1)
|
21
|
-
rest-client (2.0.2)
|
22
|
-
http-cookie (>= 1.0.2, < 2.0)
|
23
|
-
mime-types (>= 1.16, < 4.0)
|
24
|
-
netrc (~> 0.8)
|
25
|
-
sinatra (2.0.1)
|
26
|
-
mustermann (~> 1.0)
|
27
|
-
rack (~> 2.0)
|
28
|
-
rack-protection (= 2.0.1)
|
29
|
-
tilt (~> 2.0)
|
30
|
-
tilt (2.0.8)
|
31
|
-
unf (0.1.4)
|
32
|
-
unf_ext
|
33
|
-
unf_ext (0.0.7.5)
|
34
|
-
|
35
|
-
PLATFORMS
|
36
|
-
ruby
|
37
|
-
|
38
|
-
DEPENDENCIES
|
39
|
-
json (~> 2.1)
|
40
|
-
minitest (~> 5.11, >= 5.11.3)
|
41
|
-
minitest-hooks (~> 1.5)
|
42
|
-
rake (~> 12.3, >= 12.3.1)
|
43
|
-
rest-client (~> 2.0, >= 2.0.2)
|
44
|
-
sinatra
|
45
|
-
|
46
|
-
BUNDLED WITH
|
47
|
-
1.16.1
|