bk-apimatic-sdk 1.0.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 +7 -0
- data/LICENSE +28 -0
- data/README.md +203 -0
- data/bin/console +15 -0
- data/lib/boku_direct_payments_api/api_helper.rb +10 -0
- data/lib/boku_direct_payments_api/client.rb +99 -0
- data/lib/boku_direct_payments_api/configuration.rb +168 -0
- data/lib/boku_direct_payments_api/controllers/account_resources_controller.rb +45 -0
- data/lib/boku_direct_payments_api/controllers/base_controller.rb +60 -0
- data/lib/boku_direct_payments_api/controllers/charge_controller.rb +247 -0
- data/lib/boku_direct_payments_api/controllers/config_resources_controller.rb +50 -0
- data/lib/boku_direct_payments_api/controllers/consumer_registration_controller.rb +428 -0
- data/lib/boku_direct_payments_api/controllers/forex_controller.rb +38 -0
- data/lib/boku_direct_payments_api/controllers/fund_check_controller.rb +39 -0
- data/lib/boku_direct_payments_api/controllers/refund_controller.rb +80 -0
- data/lib/boku_direct_payments_api/controllers/seller_of_record_controller.rb +69 -0
- data/lib/boku_direct_payments_api/exceptions/api_exception.rb +21 -0
- data/lib/boku_direct_payments_api/http/http_call_back.rb +10 -0
- data/lib/boku_direct_payments_api/http/http_method_enum.rb +10 -0
- data/lib/boku_direct_payments_api/http/http_request.rb +10 -0
- data/lib/boku_direct_payments_api/http/http_response.rb +10 -0
- data/lib/boku_direct_payments_api/http/proxy_settings.rb +22 -0
- data/lib/boku_direct_payments_api/models/account_profile.rb +122 -0
- data/lib/boku_direct_payments_api/models/account_profile_attribute.rb +90 -0
- data/lib/boku_direct_payments_api/models/account_profile_request.rb +131 -0
- data/lib/boku_direct_payments_api/models/account_profile_response.rb +104 -0
- data/lib/boku_direct_payments_api/models/account_profile_response_record.rb +142 -0
- data/lib/boku_direct_payments_api/models/account_profile_result_status_enum.rb +47 -0
- data/lib/boku_direct_payments_api/models/account_profile_selector.rb +132 -0
- data/lib/boku_direct_payments_api/models/base_model.rb +110 -0
- data/lib/boku_direct_payments_api/models/begin_single_charge_request.rb +360 -0
- data/lib/boku_direct_payments_api/models/begin_single_charge_request_hosted.rb +110 -0
- data/lib/boku_direct_payments_api/models/begin_single_charge_request_qr_info.rb +74 -0
- data/lib/boku_direct_payments_api/models/begin_single_charge_response.rb +254 -0
- data/lib/boku_direct_payments_api/models/begin_single_charge_response_hosted.rb +90 -0
- data/lib/boku_direct_payments_api/models/begin_single_charge_response_qr_info.rb +85 -0
- data/lib/boku_direct_payments_api/models/business_details.rb +209 -0
- data/lib/boku_direct_payments_api/models/cancel_optin_request.rb +123 -0
- data/lib/boku_direct_payments_api/models/cancel_optin_response.rb +143 -0
- data/lib/boku_direct_payments_api/models/carrier_gw.rb +82 -0
- data/lib/boku_direct_payments_api/models/charge.rb +288 -0
- data/lib/boku_direct_payments_api/models/charge_msisdn_request.rb +233 -0
- data/lib/boku_direct_payments_api/models/charge_plus_optin_request.rb +390 -0
- data/lib/boku_direct_payments_api/models/charge_plus_optin_request_hosted.rb +96 -0
- data/lib/boku_direct_payments_api/models/charge_plus_optin_response.rb +278 -0
- data/lib/boku_direct_payments_api/models/charge_plus_optin_response_hosted.rb +75 -0
- data/lib/boku_direct_payments_api/models/charge_request.rb +332 -0
- data/lib/boku_direct_payments_api/models/charge_response.rb +253 -0
- data/lib/boku_direct_payments_api/models/charge_status_enum.rb +43 -0
- data/lib/boku_direct_payments_api/models/check_eligibility_request.rb +117 -0
- data/lib/boku_direct_payments_api/models/check_eligibility_response.rb +116 -0
- data/lib/boku_direct_payments_api/models/client_call.rb +91 -0
- data/lib/boku_direct_payments_api/models/confirm_optin_request.rb +141 -0
- data/lib/boku_direct_payments_api/models/confirm_optin_response.rb +211 -0
- data/lib/boku_direct_payments_api/models/confirm_verify_device_request.rb +161 -0
- data/lib/boku_direct_payments_api/models/confirm_verify_device_response.rb +137 -0
- data/lib/boku_direct_payments_api/models/eligibility_status_enum.rb +40 -0
- data/lib/boku_direct_payments_api/models/forex_request.rb +97 -0
- data/lib/boku_direct_payments_api/models/forex_response.rb +127 -0
- data/lib/boku_direct_payments_api/models/fund_check_request.rb +132 -0
- data/lib/boku_direct_payments_api/models/fund_check_response.rb +89 -0
- data/lib/boku_direct_payments_api/models/invalid_request_field.rb +93 -0
- data/lib/boku_direct_payments_api/models/mandate_constraint.rb +92 -0
- data/lib/boku_direct_payments_api/models/mandate_period_enum.rb +48 -0
- data/lib/boku_direct_payments_api/models/mcc_mnc_mapping.rb +85 -0
- data/lib/boku_direct_payments_api/models/method_enum.rb +36 -0
- data/lib/boku_direct_payments_api/models/msisdn_network_request.rb +97 -0
- data/lib/boku_direct_payments_api/models/msisdn_network_response.rb +116 -0
- data/lib/boku_direct_payments_api/models/network_info.rb +84 -0
- data/lib/boku_direct_payments_api/models/network_info_network.rb +168 -0
- data/lib/boku_direct_payments_api/models/optin_accept_networks.rb +87 -0
- data/lib/boku_direct_payments_api/models/optin_info.rb +99 -0
- data/lib/boku_direct_payments_api/models/optin_info_optin_network.rb +104 -0
- data/lib/boku_direct_payments_api/models/optin_info_optin_types.rb +128 -0
- data/lib/boku_direct_payments_api/models/optin_network.rb +115 -0
- data/lib/boku_direct_payments_api/models/optin_purpose_enum.rb +62 -0
- data/lib/boku_direct_payments_api/models/optin_request.rb +338 -0
- data/lib/boku_direct_payments_api/models/optin_request_hosted.rb +110 -0
- data/lib/boku_direct_payments_api/models/optin_request_qr_info.rb +75 -0
- data/lib/boku_direct_payments_api/models/optin_response.rb +220 -0
- data/lib/boku_direct_payments_api/models/optin_response_hosted.rb +87 -0
- data/lib/boku_direct_payments_api/models/optin_response_qr_info.rb +85 -0
- data/lib/boku_direct_payments_api/models/optin_state.rb +164 -0
- data/lib/boku_direct_payments_api/models/optin_status_enum.rb +51 -0
- data/lib/boku_direct_payments_api/models/optin_terms.rb +214 -0
- data/lib/boku_direct_payments_api/models/optin_type_enum.rb +45 -0
- data/lib/boku_direct_payments_api/models/payment_method_status_enum.rb +44 -0
- data/lib/boku_direct_payments_api/models/period.rb +89 -0
- data/lib/boku_direct_payments_api/models/period_unit_enum.rb +46 -0
- data/lib/boku_direct_payments_api/models/query_charge_request.rb +149 -0
- data/lib/boku_direct_payments_api/models/query_charge_response.rb +101 -0
- data/lib/boku_direct_payments_api/models/query_optin_request.rb +104 -0
- data/lib/boku_direct_payments_api/models/query_optin_response.rb +129 -0
- data/lib/boku_direct_payments_api/models/query_refund_request.rb +122 -0
- data/lib/boku_direct_payments_api/models/query_refund_response.rb +101 -0
- data/lib/boku_direct_payments_api/models/refund.rb +249 -0
- data/lib/boku_direct_payments_api/models/refund_charge_notification.rb +88 -0
- data/lib/boku_direct_payments_api/models/refund_charge_request.rb +231 -0
- data/lib/boku_direct_payments_api/models/refund_charge_response.rb +203 -0
- data/lib/boku_direct_payments_api/models/refund_status_enum.rb +43 -0
- data/lib/boku_direct_payments_api/models/refund_type_enum.rb +36 -0
- data/lib/boku_direct_payments_api/models/register_payment_method_request.rb +152 -0
- data/lib/boku_direct_payments_api/models/register_payment_method_response.rb +172 -0
- data/lib/boku_direct_payments_api/models/register_seller_of_record_request.rb +118 -0
- data/lib/boku_direct_payments_api/models/register_seller_of_record_response.rb +156 -0
- data/lib/boku_direct_payments_api/models/resend_otp_request.rb +167 -0
- data/lib/boku_direct_payments_api/models/resend_otp_response.rb +118 -0
- data/lib/boku_direct_payments_api/models/result.rb +154 -0
- data/lib/boku_direct_payments_api/models/result_status_enum.rb +36 -0
- data/lib/boku_direct_payments_api/models/reversal.rb +89 -0
- data/lib/boku_direct_payments_api/models/reverse_charge_request.rb +104 -0
- data/lib/boku_direct_payments_api/models/reverse_charge_response.rb +157 -0
- data/lib/boku_direct_payments_api/models/seller_of_record.rb +76 -0
- data/lib/boku_direct_payments_api/models/seller_of_record_status_enum.rb +44 -0
- data/lib/boku_direct_payments_api/models/send_sms.rb +89 -0
- data/lib/boku_direct_payments_api/models/settlement.rb +126 -0
- data/lib/boku_direct_payments_api/models/silent_mo.rb +78 -0
- data/lib/boku_direct_payments_api/models/status_enum.rb +40 -0
- data/lib/boku_direct_payments_api/models/subscription.rb +105 -0
- data/lib/boku_direct_payments_api/models/timeout.rb +75 -0
- data/lib/boku_direct_payments_api/models/type_enum.rb +36 -0
- data/lib/boku_direct_payments_api/models/validate_optin_request.rb +179 -0
- data/lib/boku_direct_payments_api/models/validate_optin_response.rb +195 -0
- data/lib/boku_direct_payments_api/models/verify_device_request.rb +135 -0
- data/lib/boku_direct_payments_api/models/verify_device_response.rb +137 -0
- data/lib/boku_direct_payments_api/utilities/date_time_helper.rb +11 -0
- data/lib/boku_direct_payments_api/utilities/file_wrapper.rb +28 -0
- data/lib/boku_direct_payments_api/utilities/xml_utilities.rb +12 -0
- data/lib/boku_direct_payments_api.rb +166 -0
- data/test/controllers/controller_test_base.rb +23 -0
- data/test/controllers/test_account_resources_controller.rb +44 -0
- data/test/controllers/test_charge_controller.rb +159 -0
- data/test/controllers/test_config_resources_controller.rb +47 -0
- data/test/controllers/test_consumer_registration_controller.rb +262 -0
- data/test/controllers/test_forex_controller.rb +40 -0
- data/test/controllers/test_fund_check_controller.rb +41 -0
- data/test/controllers/test_refund_controller.rb +76 -0
- data/test/controllers/test_seller_of_record_controller.rb +72 -0
- data/test/http_response_catcher.rb +19 -0
- metadata +255 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# boku_direct_payments_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require 'nokogiri'
|
|
7
|
+
|
|
8
|
+
module BokuDirectPaymentsApi
|
|
9
|
+
# A utility class for handling xml parsing.
|
|
10
|
+
class XmlUtilities < CoreLibrary::XmlHelper
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# boku_direct_payments_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require 'date'
|
|
7
|
+
require 'json'
|
|
8
|
+
|
|
9
|
+
require 'apimatic_core_interfaces'
|
|
10
|
+
require 'apimatic_core'
|
|
11
|
+
require 'apimatic_faraday_client_adapter'
|
|
12
|
+
|
|
13
|
+
require_relative 'boku_direct_payments_api/api_helper'
|
|
14
|
+
require_relative 'boku_direct_payments_api/client'
|
|
15
|
+
|
|
16
|
+
# Utilities
|
|
17
|
+
require_relative 'boku_direct_payments_api/utilities/file_wrapper'
|
|
18
|
+
require_relative 'boku_direct_payments_api/utilities/date_time_helper'
|
|
19
|
+
require_relative 'boku_direct_payments_api/utilities/xml_utilities'
|
|
20
|
+
|
|
21
|
+
# Http
|
|
22
|
+
require_relative 'boku_direct_payments_api/http/http_call_back'
|
|
23
|
+
require_relative 'boku_direct_payments_api/http/http_method_enum'
|
|
24
|
+
require_relative 'boku_direct_payments_api/http/http_request'
|
|
25
|
+
require_relative 'boku_direct_payments_api/http/http_response'
|
|
26
|
+
require_relative 'boku_direct_payments_api/http/proxy_settings'
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
# Models
|
|
31
|
+
require_relative 'boku_direct_payments_api/models/base_model'
|
|
32
|
+
require_relative 'boku_direct_payments_api/models/account_profile'
|
|
33
|
+
require_relative 'boku_direct_payments_api/models/account_profile_attribute'
|
|
34
|
+
require_relative 'boku_direct_payments_api/models/account_profile_response'
|
|
35
|
+
require_relative 'boku_direct_payments_api/models/' \
|
|
36
|
+
'account_profile_response_record'
|
|
37
|
+
require_relative 'boku_direct_payments_api/models/account_profile_selector'
|
|
38
|
+
require_relative 'boku_direct_payments_api/models/invalid_request_field'
|
|
39
|
+
require_relative 'boku_direct_payments_api/models/optin_state'
|
|
40
|
+
require_relative 'boku_direct_payments_api/models/result'
|
|
41
|
+
require_relative 'boku_direct_payments_api/models/account_profile_request'
|
|
42
|
+
require_relative 'boku_direct_payments_api/models/begin_single_charge_response'
|
|
43
|
+
require_relative 'boku_direct_payments_api/models/' \
|
|
44
|
+
'begin_single_charge_response_hosted'
|
|
45
|
+
require_relative 'boku_direct_payments_api/models/' \
|
|
46
|
+
'begin_single_charge_response_qr_info'
|
|
47
|
+
require_relative 'boku_direct_payments_api/models/seller_of_record'
|
|
48
|
+
require_relative 'boku_direct_payments_api/models/settlement'
|
|
49
|
+
require_relative 'boku_direct_payments_api/models/begin_single_charge_request'
|
|
50
|
+
require_relative 'boku_direct_payments_api/models/' \
|
|
51
|
+
'begin_single_charge_request_hosted'
|
|
52
|
+
require_relative 'boku_direct_payments_api/models/' \
|
|
53
|
+
'begin_single_charge_request_qr_info'
|
|
54
|
+
require_relative 'boku_direct_payments_api/models/timeout'
|
|
55
|
+
require_relative 'boku_direct_payments_api/models/charge_response'
|
|
56
|
+
require_relative 'boku_direct_payments_api/models/charge_request'
|
|
57
|
+
require_relative 'boku_direct_payments_api/models/period'
|
|
58
|
+
require_relative 'boku_direct_payments_api/models/subscription'
|
|
59
|
+
require_relative 'boku_direct_payments_api/models/charge_msisdn_request'
|
|
60
|
+
require_relative 'boku_direct_payments_api/models/charge_plus_optin_response'
|
|
61
|
+
require_relative 'boku_direct_payments_api/models/' \
|
|
62
|
+
'charge_plus_optin_response_hosted'
|
|
63
|
+
require_relative 'boku_direct_payments_api/models/charge_plus_optin_request'
|
|
64
|
+
require_relative 'boku_direct_payments_api/models/' \
|
|
65
|
+
'charge_plus_optin_request_hosted'
|
|
66
|
+
require_relative 'boku_direct_payments_api/models/mandate_constraint'
|
|
67
|
+
require_relative 'boku_direct_payments_api/models/optin_terms'
|
|
68
|
+
require_relative 'boku_direct_payments_api/models/forex_response'
|
|
69
|
+
require_relative 'boku_direct_payments_api/models/forex_request'
|
|
70
|
+
require_relative 'boku_direct_payments_api/models/charge'
|
|
71
|
+
require_relative 'boku_direct_payments_api/models/query_charge_response'
|
|
72
|
+
require_relative 'boku_direct_payments_api/models/reversal'
|
|
73
|
+
require_relative 'boku_direct_payments_api/models/query_charge_request'
|
|
74
|
+
require_relative 'boku_direct_payments_api/models/query_refund_response'
|
|
75
|
+
require_relative 'boku_direct_payments_api/models/refund'
|
|
76
|
+
require_relative 'boku_direct_payments_api/models/query_refund_request'
|
|
77
|
+
require_relative 'boku_direct_payments_api/models/refund_charge_response'
|
|
78
|
+
require_relative 'boku_direct_payments_api/models/refund_charge_notification'
|
|
79
|
+
require_relative 'boku_direct_payments_api/models/refund_charge_request'
|
|
80
|
+
require_relative 'boku_direct_payments_api/models/reverse_charge_response'
|
|
81
|
+
require_relative 'boku_direct_payments_api/models/reverse_charge_request'
|
|
82
|
+
require_relative 'boku_direct_payments_api/models/fund_check_response'
|
|
83
|
+
require_relative 'boku_direct_payments_api/models/fund_check_request'
|
|
84
|
+
require_relative 'boku_direct_payments_api/models/mcc_mnc_mapping'
|
|
85
|
+
require_relative 'boku_direct_payments_api/models/network_info'
|
|
86
|
+
require_relative 'boku_direct_payments_api/models/network_info_network'
|
|
87
|
+
require_relative 'boku_direct_payments_api/models/cancel_optin_response'
|
|
88
|
+
require_relative 'boku_direct_payments_api/models/cancel_optin_request'
|
|
89
|
+
require_relative 'boku_direct_payments_api/models/check_eligibility_response'
|
|
90
|
+
require_relative 'boku_direct_payments_api/models/check_eligibility_request'
|
|
91
|
+
require_relative 'boku_direct_payments_api/models/confirm_optin_response'
|
|
92
|
+
require_relative 'boku_direct_payments_api/models/confirm_optin_request'
|
|
93
|
+
require_relative 'boku_direct_payments_api/models/' \
|
|
94
|
+
'confirm_verify_device_response'
|
|
95
|
+
require_relative 'boku_direct_payments_api/models/confirm_verify_device_request'
|
|
96
|
+
require_relative 'boku_direct_payments_api/models/msisdn_network_response'
|
|
97
|
+
require_relative 'boku_direct_payments_api/models/msisdn_network_request'
|
|
98
|
+
require_relative 'boku_direct_payments_api/models/carrier_gw'
|
|
99
|
+
require_relative 'boku_direct_payments_api/models/client_call'
|
|
100
|
+
require_relative 'boku_direct_payments_api/models/optin_info'
|
|
101
|
+
require_relative 'boku_direct_payments_api/models/optin_info_optin_network'
|
|
102
|
+
require_relative 'boku_direct_payments_api/models/optin_info_optin_types'
|
|
103
|
+
require_relative 'boku_direct_payments_api/models/send_sms'
|
|
104
|
+
require_relative 'boku_direct_payments_api/models/silent_mo'
|
|
105
|
+
require_relative 'boku_direct_payments_api/models/optin_response'
|
|
106
|
+
require_relative 'boku_direct_payments_api/models/optin_response_hosted'
|
|
107
|
+
require_relative 'boku_direct_payments_api/models/optin_response_qr_info'
|
|
108
|
+
require_relative 'boku_direct_payments_api/models/optin_accept_networks'
|
|
109
|
+
require_relative 'boku_direct_payments_api/models/optin_network'
|
|
110
|
+
require_relative 'boku_direct_payments_api/models/optin_request'
|
|
111
|
+
require_relative 'boku_direct_payments_api/models/optin_request_hosted'
|
|
112
|
+
require_relative 'boku_direct_payments_api/models/optin_request_qr_info'
|
|
113
|
+
require_relative 'boku_direct_payments_api/models/query_optin_response'
|
|
114
|
+
require_relative 'boku_direct_payments_api/models/query_optin_request'
|
|
115
|
+
require_relative 'boku_direct_payments_api/models/resend_otp_response'
|
|
116
|
+
require_relative 'boku_direct_payments_api/models/resend_otp_request'
|
|
117
|
+
require_relative 'boku_direct_payments_api/models/validate_optin_response'
|
|
118
|
+
require_relative 'boku_direct_payments_api/models/validate_optin_request'
|
|
119
|
+
require_relative 'boku_direct_payments_api/models/verify_device_response'
|
|
120
|
+
require_relative 'boku_direct_payments_api/models/verify_device_request'
|
|
121
|
+
require_relative 'boku_direct_payments_api/models/' \
|
|
122
|
+
'register_payment_method_response'
|
|
123
|
+
require_relative 'boku_direct_payments_api/models/' \
|
|
124
|
+
'register_payment_method_request'
|
|
125
|
+
require_relative 'boku_direct_payments_api/models/' \
|
|
126
|
+
'register_seller_of_record_response'
|
|
127
|
+
require_relative 'boku_direct_payments_api/models/business_details'
|
|
128
|
+
require_relative 'boku_direct_payments_api/models/' \
|
|
129
|
+
'register_seller_of_record_request'
|
|
130
|
+
require_relative 'boku_direct_payments_api/models/' \
|
|
131
|
+
'account_profile_result_status_enum'
|
|
132
|
+
require_relative 'boku_direct_payments_api/models/charge_status_enum'
|
|
133
|
+
require_relative 'boku_direct_payments_api/models/eligibility_status_enum'
|
|
134
|
+
require_relative 'boku_direct_payments_api/models/mandate_period_enum'
|
|
135
|
+
require_relative 'boku_direct_payments_api/models/method_enum'
|
|
136
|
+
require_relative 'boku_direct_payments_api/models/optin_type_enum'
|
|
137
|
+
require_relative 'boku_direct_payments_api/models/optin_purpose_enum'
|
|
138
|
+
require_relative 'boku_direct_payments_api/models/optin_status_enum'
|
|
139
|
+
require_relative 'boku_direct_payments_api/models/payment_method_status_enum'
|
|
140
|
+
require_relative 'boku_direct_payments_api/models/period_unit_enum'
|
|
141
|
+
require_relative 'boku_direct_payments_api/models/refund_type_enum'
|
|
142
|
+
require_relative 'boku_direct_payments_api/models/refund_status_enum'
|
|
143
|
+
require_relative 'boku_direct_payments_api/models/result_status_enum'
|
|
144
|
+
require_relative 'boku_direct_payments_api/models/seller_of_record_status_enum'
|
|
145
|
+
require_relative 'boku_direct_payments_api/models/status_enum'
|
|
146
|
+
require_relative 'boku_direct_payments_api/models/type_enum'
|
|
147
|
+
|
|
148
|
+
# Exceptions
|
|
149
|
+
require_relative 'boku_direct_payments_api/exceptions/api_exception'
|
|
150
|
+
|
|
151
|
+
require_relative 'boku_direct_payments_api/configuration'
|
|
152
|
+
|
|
153
|
+
# Controllers
|
|
154
|
+
require_relative 'boku_direct_payments_api/controllers/base_controller'
|
|
155
|
+
require_relative 'boku_direct_payments_api/controllers/' \
|
|
156
|
+
'consumer_registration_controller'
|
|
157
|
+
require_relative 'boku_direct_payments_api/controllers/charge_controller'
|
|
158
|
+
require_relative 'boku_direct_payments_api/controllers/refund_controller'
|
|
159
|
+
require_relative 'boku_direct_payments_api/controllers/' \
|
|
160
|
+
'account_resources_controller'
|
|
161
|
+
require_relative 'boku_direct_payments_api/controllers/forex_controller'
|
|
162
|
+
require_relative 'boku_direct_payments_api/controllers/fund_check_controller'
|
|
163
|
+
require_relative 'boku_direct_payments_api/controllers/' \
|
|
164
|
+
'config_resources_controller'
|
|
165
|
+
require_relative 'boku_direct_payments_api/controllers/' \
|
|
166
|
+
'seller_of_record_controller'
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# boku_direct_payments_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require 'json'
|
|
7
|
+
require 'minitest/autorun'
|
|
8
|
+
require 'minitest/hell'
|
|
9
|
+
require 'minitest/pride'
|
|
10
|
+
require 'minitest/proveit'
|
|
11
|
+
require 'boku_direct_payments_api'
|
|
12
|
+
require_relative '../http_response_catcher'
|
|
13
|
+
|
|
14
|
+
class ControllerTestBase < Minitest::Test
|
|
15
|
+
parallelize_me!
|
|
16
|
+
include BokuDirectPaymentsApi
|
|
17
|
+
include CoreLibrary
|
|
18
|
+
|
|
19
|
+
# Initializes the base test controller
|
|
20
|
+
def setup_class
|
|
21
|
+
@client = Client.from_env(http_callback: HttpResponseCatcher.new)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# boku_direct_payments_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require_relative 'controller_test_base'
|
|
7
|
+
|
|
8
|
+
class AccountResourcesControllerTest < ControllerTestBase
|
|
9
|
+
# Called only once for the class before any test has executed
|
|
10
|
+
def setup
|
|
11
|
+
setup_class
|
|
12
|
+
@controller = @client.account_resources
|
|
13
|
+
@response_catcher = @controller.http_call_back
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# **DISCLAIMER: This API or element is use-case specific and not needed for generic usage of our payment product. Please disregard unless otherwise directed to include in your integration.**
|
|
17
|
+
#
|
|
18
|
+
#The account profile is designed to be a batch API (i.e. each call can request and return multiple account-profile records) but it can also be used for single account-profile record requests.
|
|
19
|
+
#
|
|
20
|
+
#For each input `selector` element in the request, there is always exactly one `record` element in the response even if no corresponding account profile was found. Each `record` element in the response contains the exact `selector` element from the request that was used to process that record. The ordering of elements in the response always corresponds directly to the ordering of elements in the request, i.e. response.records[42].selector equals request.selectors[42].
|
|
21
|
+
def test_get_optin_account_profile
|
|
22
|
+
# Parameters for the API call
|
|
23
|
+
body = AccountProfileRequest.from_hash(APIHelper.json_deserialize(
|
|
24
|
+
'{"merchant-id":"gatewaymerchant","country":"GB","include-carrier-data":'\
|
|
25
|
+
'true,"selectors":[{"optin-id":"535763050955802561:US"},{"optin-id":"535'\
|
|
26
|
+
'763059545737153:US"}]}', false))
|
|
27
|
+
|
|
28
|
+
# Perform the API call through the SDK function
|
|
29
|
+
result = @controller.get_optin_account_profile(body)
|
|
30
|
+
|
|
31
|
+
# Test response code
|
|
32
|
+
assert_equal(200, @response_catcher.response.status_code)
|
|
33
|
+
# Test headers
|
|
34
|
+
expected_headers = {}
|
|
35
|
+
expected_headers['content-type'] = 'application/xml'
|
|
36
|
+
|
|
37
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
|
38
|
+
|
|
39
|
+
# Test whether the captured response is as we expected
|
|
40
|
+
refute_nil(result)
|
|
41
|
+
assert_equal("{\r\n \"result\": {\r\n \"reason-code\": 0,\r\n \"message\": \"Operation Successful\",\r\n \"retriable\": false,\r\n \"status\": \"OK\"\r\n },\r\n \"records\": [\r\n {\r\n \"selector\": {\r\n \"optin-id\": \"EnSzVQAAACRERQAAAAAAAA\"\r\n },\r\n \"result\": \"ok\",\r\n \"optin-id\": \"EnSzVQAAACRERQAAAAAAAA\",\r\n \"optin-state\": {\r\n \"optin-status\": \"active\",\r\n \"network-id\": \"62f270\",\r\n \"msisdn\": \"4915111240002\",\r\n \"msisdn-tail\": \"0002\",\r\n \"country\": \"GB\"\r\n },\r\n \"account-profile\": {\r\n \"local-data\": [\r\n {\r\n \"key\": \"successful-transaction-value\"\r\n },\r\n {\r\n \"key\": \"successful-transaction\"\r\n },\r\n {\r\n \"key\": \"account-blacklisted\"\r\n },\r\n {\r\n \"key\": \"integrator-other-merchant-purchase\"\r\n },\r\n {\r\n \"key\": \"refunded\"\r\n },\r\n {\r\n \"key\": \"successful-transaction-count\"\r\n },\r\n {\r\n \"key\": \"refund-count\"\r\n },\r\n {\r\n \"key\": \"refund-value\"\r\n },\r\n {\r\n \"key\": \"integrator-account-tenure\"\r\n }\r\n ],\r\n \"carrier-data\": [\r\n {\r\n \"key\": \"account-type\"\r\n },\r\n {\r\n \"key\": \"eligibility\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"selector\": {\r\n \"optin-id\": \"EnhtbwAAAAFERQAAAAAAAA\"\r\n },\r\n \"result\": \"ok\",\r\n \"optin-id\": \"EnhtbwAAAAFERQAAAAAAAA\",\r\n \"optin-state\": {\r\n \"optin-status\": \"active\",\r\n \"network-id\": \"62f270\",\r\n \"msisdn\": \"4915111240005\",\r\n \"msisdn-tail\": \"0005\",\r\n \"country\": \"GB\"\r\n },\r\n \"account-profile\": {\r\n \"local-data\": [\r\n {\r\n \"key\": \"successful-transaction-value\"\r\n },\r\n {\r\n \"key\": \"successful-transaction\"\r\n },\r\n {\r\n \"key\": \"account-blacklisted\"\r\n },\r\n {\r\n \"key\": \"integrator-other-merchant-purchase\"\r\n },\r\n {\r\n \"key\": \"refunded\"\r\n },\r\n {\r\n \"key\": \"successful-transaction-count\"\r\n },\r\n {\r\n \"key\": \"refund-count\"\r\n },\r\n {\r\n \"key\": \"refund-value\"\r\n },\r\n {\r\n \"key\": \"integrator-account-tenure\"\r\n }\r\n ],\r\n \"carrier-data\": [\r\n {\r\n \"key\": \"account-type\"\r\n },\r\n {\r\n \"key\": \"eligibility\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n}", @response_catcher.response.raw_body)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
end
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# boku_direct_payments_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require_relative 'controller_test_base'
|
|
7
|
+
|
|
8
|
+
class ChargeControllerTest < ControllerTestBase
|
|
9
|
+
# Called only once for the class before any test has executed
|
|
10
|
+
def setup
|
|
11
|
+
setup_class
|
|
12
|
+
@controller = @client.charge
|
|
13
|
+
@response_catcher = @controller.http_call_back
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# The 'charge' request processes a payment against a previously authorized opt-in. The 'optin-id' received in the 'optin'/'confirm-optin' response must be supplied in order to validate the consumer payment method.
|
|
17
|
+
#
|
|
18
|
+
#If the 'optin-id' and the other parameters of the request are valid, the charge is submitted to the issuer for processing. A 'charge-id' is returned in the API response.
|
|
19
|
+
#
|
|
20
|
+
#'Charge' may operate as a synchronous request, fully asynchronous, or synchronous with fallback to asynchronous after a timeout. The timeout is supplied with the request, or can default to a value configurable for the merchant. The 'charge' method returns a unique 'charge-id' in all cases where the request has been accepted for processing, including success, failure, and pending cases.
|
|
21
|
+
#
|
|
22
|
+
#The 'charge' method is idempotent. If the same request is sent again (with the same 'merchant-request-id'), Boku will return the current status of the transaction. For example:
|
|
23
|
+
#
|
|
24
|
+
#* If the transaction has completed successfully, a response code of "0" will be returned.
|
|
25
|
+
#* If the transaction has completed with a billing error, a response code of "107" will be returned
|
|
26
|
+
#* If the charge request has been accepted and is being processed, a response code of "139" will be returned. Final confirmation may take several days, depending on the payment method (e.g., direct debit).
|
|
27
|
+
def test_charge
|
|
28
|
+
# Parameters for the API call
|
|
29
|
+
body = ChargeRequest.from_hash(APIHelper.json_deserialize(
|
|
30
|
+
'{"currency":"GBP","merchant-data":"TY235g897qWs","merchant-id":"gateway'\
|
|
31
|
+
'merchant","merchant-item-description":"Puzzle game","merchant-request-i'\
|
|
32
|
+
'd":"1002008","merchant-transaction-id":"9002005","optin-id":"IVXecDoa2f'\
|
|
33
|
+
'6Y3oOqp1f7","total-amount":12.34,"timeout":{"after":10000},"consumer-ip'\
|
|
34
|
+
'-address":"24.196.237.108"}', false))
|
|
35
|
+
|
|
36
|
+
# Perform the API call through the SDK function
|
|
37
|
+
result = @controller.charge(body)
|
|
38
|
+
|
|
39
|
+
# Test response code
|
|
40
|
+
assert_equal(200, @response_catcher.response.status_code)
|
|
41
|
+
# Test headers
|
|
42
|
+
expected_headers = {}
|
|
43
|
+
expected_headers['content-type'] = 'application/xml'
|
|
44
|
+
|
|
45
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
|
46
|
+
|
|
47
|
+
# Test whether the captured response is as we expected
|
|
48
|
+
refute_nil(result)
|
|
49
|
+
assert_equal("{\r\n \"result\": {\r\n \"reason-code\": 0,\r\n \"message\": \"Operation Successful\",\r\n \"retriable\": false,\r\n \"status\": \"OK\"\r\n },\r\n \"timestamp\": \"2015-02-40 04:44:16\",\r\n \"charge-id\": \"b368363a00bbddbf794eba33\",\r\n \"charge-status\": \"success\",\r\n \"merchant-data\": \"TY235g897qWs\",\r\n \"merchant-id\": \"gatewaymerchant\",\r\n \"merchant-request-id\": \"1002008\",\r\n \"merchant-transaction-id\": \"9002005\",\r\n \"optin-id\": \"IVXecDoa2f6Y3oOqp1f7\",\r\n \"country\": \"GB\",\r\n \"network-id\": \"13F040\",\r\n \"settlement\": {\r\n \"currency\": \"USD\",\r\n \"gross-merchant-amount\": 14.99,\r\n \"exchange-rate\": 0.03\r\n }\r\n}", @response_catcher.response.raw_body)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Retrieves the status and all details of prior charges matching the given request criteria.
|
|
53
|
+
#
|
|
54
|
+
#Each returned charge element is similar to a charge-response: although some elements are missing, all present elements have the same names, format and meaning as those in the original charge-response.
|
|
55
|
+
#
|
|
56
|
+
#The query-charge API call is guaranteed to return transactions up to 1 year old. If the transaction was created before that period, this API may return no results.
|
|
57
|
+
#
|
|
58
|
+
#Criteria are evaluated in an AND fashion, i.e. if more than one field is supplied then all will be used to filter the returned charge elements. In normal usage this is not relevant, since you would only supply one of the three fields by itself.
|
|
59
|
+
#
|
|
60
|
+
#The query-charge request one of the following values to be exclusively provided: charge-id, merchant-request-id, or merchant-transaction-id.
|
|
61
|
+
def test_query_charge
|
|
62
|
+
# Parameters for the API call
|
|
63
|
+
body = QueryChargeRequest.from_hash(APIHelper.json_deserialize(
|
|
64
|
+
'{"merchant-id":"gatewaymerchant","country":"GB","merchant-transaction-i'\
|
|
65
|
+
'd":"9002005"}', false))
|
|
66
|
+
|
|
67
|
+
# Perform the API call through the SDK function
|
|
68
|
+
result = @controller.query_charge(body)
|
|
69
|
+
|
|
70
|
+
# Test response code
|
|
71
|
+
assert_equal(200, @response_catcher.response.status_code)
|
|
72
|
+
# Test headers
|
|
73
|
+
expected_headers = {}
|
|
74
|
+
expected_headers['content-type'] = 'application/xml'
|
|
75
|
+
|
|
76
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
|
77
|
+
|
|
78
|
+
# Test whether the captured response is as we expected
|
|
79
|
+
refute_nil(result)
|
|
80
|
+
assert_equal("{\r\n \"result\": {\r\n \"reason-code\": 0,\r\n \"message\": \"Found 1 result(s)\",\r\n \"retriable\": false,\r\n \"status\": \"OK\"\r\n },\r\n \"charges\": [\r\n {\r\n \"result\": {\r\n \"reason-code\": 0,\r\n \"message\": \"Operation successful\",\r\n \"retriable\": false,\r\n \"status\": \"OK\"\r\n },\r\n \"charge-status\": \"success\",\r\n \"charge-id\": \"b368363a00bbddbf794eba33\",\r\n \"timestamp\": \"2015-02-40 04:44:16\",\r\n \"merchant-id\": \"gatewaymerchant\",\r\n \"merchant-transaction-id\": \"9002005\",\r\n \"country\": \"GB\",\r\n \"network-id\": \"gb-super\",\r\n \"currency\": \"GBP\",\r\n \"total-amount\": 12.34,\r\n \"merchant-item-description\": \"Puzzle game\"\r\n }\r\n ]\r\n}", @response_catcher.response.raw_body)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# **DISCLAIMER: This API is use-case specific and not required for standard payment product integrations. Please disregard unless otherwise directed to include in your integration.**
|
|
84
|
+
#
|
|
85
|
+
# The Reverse Charge API reverses a charge request. This method is typically used when the result of a prior charge is unknown, and the charge was made within the last hour.
|
|
86
|
+
#
|
|
87
|
+
# An unknown result can occur for several reasons:
|
|
88
|
+
# * Network issue
|
|
89
|
+
# * Request timed out by merchant
|
|
90
|
+
# * Response received but could not be recorded
|
|
91
|
+
#
|
|
92
|
+
# Reverse charge requests should be submitted within one hour of the original charge. Requests submitted after one hour will be rejected. In those cases, use the Refund Charge API instead.
|
|
93
|
+
#
|
|
94
|
+
# _**NOTE:** The Reverse Charge API is not applicable for direct debit charge requests. This is because direct debit transactions (e.g., BACS) are processed asynchronously through banking networks and cannot be programmatically reversed once submitted. Use the Refund Charge API to reverse a direct debit charge._
|
|
95
|
+
#
|
|
96
|
+
# Due to the 24-hour idempotency window on charge requests, a reverse charge made more than 24 hours after the original request could still succeed and impact settlement reports. Boku strongly recommends using the Refund Charge API for any charge ID older than 24 hours.
|
|
97
|
+
#
|
|
98
|
+
# In most cases, a reversal request will return a status of "OK" even if Boku never received the original charge.
|
|
99
|
+
#
|
|
100
|
+
def test_reverse_charge
|
|
101
|
+
# Parameters for the API call
|
|
102
|
+
body = ReverseChargeRequest.from_hash(APIHelper.json_deserialize(
|
|
103
|
+
'{"merchant-id":"gatewaymerchant","merchant-request-id":"1002008","count'\
|
|
104
|
+
'ry":"GB"}', false))
|
|
105
|
+
|
|
106
|
+
# Perform the API call through the SDK function
|
|
107
|
+
result = @controller.reverse_charge(body)
|
|
108
|
+
|
|
109
|
+
# Test response code
|
|
110
|
+
assert_equal(200, @response_catcher.response.status_code)
|
|
111
|
+
# Test headers
|
|
112
|
+
expected_headers = {}
|
|
113
|
+
expected_headers['content-type'] = 'application/xml'
|
|
114
|
+
|
|
115
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
|
116
|
+
|
|
117
|
+
# Test whether the captured response is as we expected
|
|
118
|
+
refute_nil(result)
|
|
119
|
+
assert_equal("{\r\n \"result\": {\r\n \"reason-code\": 0,\r\n \"message\": \"Operation Successful\",\r\n \"retriable\": false,\r\n \"status\": \"OK\"\r\n },\r\n \"timestamp\": \"2015-02-40 04:44:16\",\r\n \"merchant-id\": \"gatewaymerchant\",\r\n \"merchant-request-id\": \"1002008\",\r\n \"reversal-id\": \"tRtbIVXyXVIbtRtytRt\",\r\n \"country\": \"GB\"\r\n}", @response_catcher.response.raw_body)
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# **DISCLAIMER: This API or element is use-case specific and not needed for generic usage of our payment product. Please disregard unless otherwise directed to include in your integration.**
|
|
123
|
+
#
|
|
124
|
+
#The 'charge-msisdn' request processes a payment against previously obtained consumer consent for charging.
|
|
125
|
+
#
|
|
126
|
+
#If the 'network', 'msisdn' and 'country' and the other parameters of the request are valid, the charge is submitted to the operator for processing. A 'charge-id' is returned in the API response.
|
|
127
|
+
#
|
|
128
|
+
#'Charge-msisdn' will operate as a synchronous request. The timeout is supplied with the request, or can default to a value configurable per merchant. The 'charge-msisdn' method returns a unique 'charge-id' in all cases where the request has been accepted for processing, including success, failure, and pending cases.
|
|
129
|
+
#
|
|
130
|
+
#The 'charge-msisdn' method is idempotent. If the same request is sent again (with the same 'merchant-request-id'), Boku will return the current status of the transaction. For example:
|
|
131
|
+
#
|
|
132
|
+
#If the transaction has completed successfully, a response code of "0" will be returned.
|
|
133
|
+
#If the transaction has completed with a billing error, a response code of "107" will be returned
|
|
134
|
+
def test_charge_msisdn
|
|
135
|
+
# Parameters for the API call
|
|
136
|
+
body = ChargeMsisdnRequest.from_hash(APIHelper.json_deserialize(
|
|
137
|
+
'{"currency":"GBP","merchant-data":"TY235g897qWs","merchant-id":"gateway'\
|
|
138
|
+
'merchant","merchant-item-description":"Puzzle game","merchant-request-i'\
|
|
139
|
+
'd":"1002008","merchant-transaction-id":"9002005","country":"GB","msisdn'\
|
|
140
|
+
'":"15551234567","network":"13f040","total-amount":12.34,"timeout":{"aft'\
|
|
141
|
+
'er":10000}}', false))
|
|
142
|
+
|
|
143
|
+
# Perform the API call through the SDK function
|
|
144
|
+
result = @controller.charge_msisdn(body)
|
|
145
|
+
|
|
146
|
+
# Test response code
|
|
147
|
+
assert_equal(200, @response_catcher.response.status_code)
|
|
148
|
+
# Test headers
|
|
149
|
+
expected_headers = {}
|
|
150
|
+
expected_headers['content-type'] = 'application/xml'
|
|
151
|
+
|
|
152
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
|
153
|
+
|
|
154
|
+
# Test whether the captured response is as we expected
|
|
155
|
+
refute_nil(result)
|
|
156
|
+
assert_equal("{\r\n \"result\": {\r\n \"reason-code\": 0,\r\n \"message\": \"Operation Successful\",\r\n \"retriable\": false,\r\n \"status\": \"OK\"\r\n },\r\n \"timestamp\": \"2015-02-40 04:44:16\",\r\n \"merchant-id\": \"gatewaymerchant\",\r\n \"charge-id\": \"b368363a00bbddbf794eba33\",\r\n \"charge-status\": \"success\",\r\n \"merchant-data\": \"TY235g897qWs\",\r\n \"merchant-request-id\": \"1002008\",\r\n \"merchant-transaction-id\": \"9002005\",\r\n \"optin-id\": \"IVXecDoa2f6Y3oOqp1f7\",\r\n \"country\": \"GB\",\r\n \"network-id\": \"13f040\"\r\n}", @response_catcher.response.raw_body)
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# boku_direct_payments_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require_relative 'controller_test_base'
|
|
7
|
+
|
|
8
|
+
class ConfigResourcesControllerTest < ControllerTestBase
|
|
9
|
+
# Called only once for the class before any test has executed
|
|
10
|
+
def setup
|
|
11
|
+
setup_class
|
|
12
|
+
@controller = @client.config_resources
|
|
13
|
+
@response_catcher = @controller.http_call_back
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# **DISCLAIMER: This API or element is use-case specific and not needed for generic usage of our payment product. Please disregard unless otherwise directed to include in your integration.**
|
|
17
|
+
#
|
|
18
|
+
#The network-info call allows retrieval of relatively static data about the identity and properties of all mobile networks (carriers) available on the system.
|
|
19
|
+
#
|
|
20
|
+
#There are two main purposes for this information:
|
|
21
|
+
#
|
|
22
|
+
#* Some operations require knowledge of the particular mobile network the user's handset resides on. If using a mobile device, this may be derivable using the network-info in conjunction with the device MCC and MNC.
|
|
23
|
+
#* Some of the below API calls return the network upon which a particular transaction occurred by referring to the ID, so this API may provide information about what that ID means.
|
|
24
|
+
#
|
|
25
|
+
#The canonical network ID in this API uses an internal proprietary scheme, rather than a public standard identifier. Unfortunately there is no good international standard for representing networks at the granularity that makes sense for a high-level billing service - ITU E.212 specifies MCC and MNC codes, but most logical networks are represented by many different codes due to historical merging of smaller networks or simply different physical networks for regions within the same country. The MCC/MNC list also changes on a not infrequent basis, which E.212 is not always up-to-date with.
|
|
26
|
+
#
|
|
27
|
+
#Any network ID returned by the payment gateway or batch files is always guaranteed to be found in the 'network-info' response and associated with a human readable name.
|
|
28
|
+
#
|
|
29
|
+
def test_get_network_info
|
|
30
|
+
|
|
31
|
+
# Perform the API call through the SDK function
|
|
32
|
+
result = @controller.get_network_info()
|
|
33
|
+
|
|
34
|
+
# Test response code
|
|
35
|
+
assert_equal(200, @response_catcher.response.status_code)
|
|
36
|
+
# Test headers
|
|
37
|
+
expected_headers = {}
|
|
38
|
+
expected_headers['content-type'] = 'application/xml'
|
|
39
|
+
|
|
40
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
|
41
|
+
|
|
42
|
+
# Test whether the captured response is as we expected
|
|
43
|
+
refute_nil(result)
|
|
44
|
+
assert_equal("{\r\n \"networks\": [\r\n {\r\n \"mcc-mnc-mappings\": [\r\n {\r\n \"mcc\": \"262\",\r\n \"mnc\": \"07\"\r\n },\r\n {\r\n \"mcc\": \"262\",\r\n \"mnc\": \"08\"\r\n },\r\n {\r\n \"mcc\": \"262\",\r\n \"mnc\": \"11\"\r\n }\r\n ],\r\n \"id\": \"62f270\",\r\n \"country\": \"DE\",\r\n \"name\": \"O2\"\r\n },\r\n {\r\n \"mcc-mnc-mappings\": [\r\n {\r\n \"mcc\": \"262\",\r\n \"mnc\": \"03\"\r\n },\r\n {\r\n \"mcc\": \"262\",\r\n \"mnc\": \"05\"\r\n },\r\n {\r\n \"mcc\": \"262\",\r\n \"mnc\": \"12\"\r\n },\r\n {\r\n \"mcc\": \"262\",\r\n \"mnc\": \"16\"\r\n },\r\n {\r\n \"mcc\": \"262\",\r\n \"mnc\": \"17\"\r\n },\r\n {\r\n \"mcc\": \"262\",\r\n \"mnc\": \"20\"\r\n },\r\n {\r\n \"mcc\": \"262\",\r\n \"mnc\": \"77\"\r\n }\r\n ],\r\n \"id\": \"62f230\",\r\n \"country\": \"DE\",\r\n \"name\": \"e-plus\"\r\n },\r\n {\r\n \"mcc-mnc-mappings\": [\r\n {\r\n \"mcc\": \"310\",\r\n \"mnc\": \"00\"\r\n },\r\n {\r\n \"mcc\": \"310\",\r\n \"mnc\": \"120\"\r\n },\r\n {\r\n \"mcc\": \"311\",\r\n \"mnc\": \"490\"\r\n },\r\n {\r\n \"mcc\": \"312\",\r\n \"mnc\": \"190\"\r\n },\r\n {\r\n \"mcc\": \"316\",\r\n \"mnc\": \"010\"\r\n }\r\n ],\r\n \"id\": \"13f050\",\r\n \"country\": \"US\",\r\n \"name\": \"Sprint\"\r\n },\r\n {\r\n \"mcc-mnc-mappings\": [\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"04\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"06\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"40\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"41\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"42\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"43\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"44\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"45\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"46\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"47\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"48\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"90\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"92\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"93\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"94\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"95\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"96\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"97\"\r\n },\r\n {\r\n \"mcc\": \"440\",\r\n \"mnc\": \"98\"\r\n },\r\n {\r\n \"mcc\": \"441\",\r\n \"mnc\": \"61\"\r\n },\r\n {\r\n \"mcc\": \"441\",\r\n \"mnc\": \"62\"\r\n },\r\n {\r\n \"mcc\": \"441\",\r\n \"mnc\": \"63\"\r\n },\r\n {\r\n \"mcc\": \"441\",\r\n \"mnc\": \"64\"\r\n },\r\n {\r\n \"mcc\": \"441\",\r\n \"mnc\": \"65\"\r\n }\r\n ],\r\n \"id\": \"44f002\",\r\n \"country\": \"JP\",\r\n \"name\": \"SoftBank\"\r\n }\r\n ]\r\n}", @response_catcher.response.raw_body)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end
|