moka-payment 0.0.6 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Progress](http://progressed.io/bar/12?title=completed)](http://progressed.io/bar/12?title=completed) [![Gem Version](https://badge.fury.io/rb/moka-payment.svg)](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
|