citypay_api_client 1.1.1 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +73 -0
- data/README.md +65 -37
- data/citypay_api_client.gemspec +4 -3
- data/docs/Acknowledgement.md +2 -2
- data/docs/AclCheckResponseModel.md +3 -3
- data/docs/AirlineAdvice.md +1 -1
- data/docs/AuthRequest.md +9 -7
- data/docs/AuthResponse.md +9 -5
- data/docs/AuthorisationAndPaymentApi.md +145 -10
- data/docs/Batch.md +1 -1
- data/docs/BatchProcessingApi.md +24 -20
- data/docs/BatchReportResponseModel.md +2 -2
- data/docs/BatchTransaction.md +1 -1
- data/docs/BatchTransactionReportRequest.md +22 -0
- data/docs/BatchTransactionReportResponse.md +24 -0
- data/docs/BatchTransactionResultModel.md +6 -2
- data/docs/Bin.md +2 -2
- data/docs/CaptureRequest.md +1 -1
- data/docs/Card.md +3 -3
- data/docs/CardHolderAccountApi.md +73 -14
- data/docs/ChargeRequest.md +8 -6
- data/docs/ContactDetails.md +11 -11
- data/docs/Decision.md +0 -2
- data/docs/DirectPostApi.md +26 -16
- data/docs/DirectPostRequest.md +9 -7
- data/docs/EventDataModel.md +2 -2
- data/docs/MerchantBatchReportRequest.md +28 -0
- data/docs/MerchantBatchReportResponse.md +24 -0
- data/docs/MerchantBatchResponse.md +30 -0
- data/docs/NetSummaryResponse.md +32 -0
- data/docs/OperationalFunctionsApi.md +28 -8
- data/docs/PaylinkAdjustmentRequest.md +1 -1
- data/docs/PaylinkApi.md +337 -21
- data/docs/PaylinkBillPaymentTokenRequest.md +1 -1
- data/docs/PaylinkCustomParam.md +3 -1
- data/docs/PaylinkErrorCode.md +2 -2
- data/docs/PaylinkFieldGuardModel.md +1 -1
- data/docs/PaylinkResendNotificationRequest.md +20 -0
- data/docs/PaylinkStateEvent.md +4 -4
- data/docs/PaylinkTokenCreated.md +11 -11
- data/docs/PaylinkTokenRequestModel.md +4 -0
- data/docs/PaylinkTokenStatus.md +7 -7
- data/docs/PaylinkTokenStatusChangeRequest.md +7 -7
- data/docs/PaylinkTokenStatusChangeResponse.md +6 -2
- data/docs/PaymentIntent.md +42 -0
- data/docs/PaymentIntentReference.md +18 -0
- data/docs/RefundRequest.md +1 -1
- data/docs/RegisterCard.md +1 -1
- data/docs/RemittanceData.md +28 -0
- data/docs/RemittanceReportRequest.md +28 -0
- data/docs/RemittanceReportResponse.md +24 -0
- data/docs/RemittedClientData.md +44 -0
- data/docs/ReportingApi.md +378 -0
- data/docs/ThreeDSecure.md +1 -1
- data/docs/TokenisationResponseModel.md +3 -3
- data/docs/images/3dsv1-challenge.png +0 -0
- data/docs/images/3dsv2-challenge.png +0 -0
- data/docs/images/3dsv2-frictionless.png +0 -0
- data/docs/images/3dsv2-method-challenge.png +0 -0
- data/docs/images/3dsv2-method-frictionless.png +0 -0
- data/docs/images/3dsv2-no3d.png +0 -0
- data/docs/images/citypay-logo.svg +1 -0
- data/docs/images/direct-post-flow.png +0 -0
- data/docs/images/favicon.ico +0 -0
- data/docs/images/header.png +0 -0
- data/docs/images/logo.ai +1913 -4
- data/docs/images/logo.png +0 -0
- data/docs/images/logo.svg +1 -0
- data/docs/images/merchant-BPS-workflow.png +0 -0
- data/docs/images/paylink-field-guards.png +0 -0
- data/lib/citypay_api_client/api/authorisation_and_payment_api__.rb +72 -4
- data/lib/citypay_api_client/api/batch_processing_api__.rb +15 -15
- data/lib/citypay_api_client/api/card_holder_account_api__.rb +5 -2
- data/lib/citypay_api_client/api/direct_post_api__.rb +9 -9
- data/lib/citypay_api_client/api/operational_functions_api__.rb +3 -3
- data/lib/citypay_api_client/api/paylink_api__.rb +163 -26
- data/lib/citypay_api_client/api/reporting_api__.rb +381 -0
- data/lib/citypay_api_client/api_client.rb +24 -22
- data/lib/citypay_api_client/api_error.rb +3 -2
- data/lib/citypay_api_client/configuration.rb +28 -9
- data/lib/citypay_api_client/models/account_create.rb +17 -20
- data/lib/citypay_api_client/models/account_status.rb +15 -20
- data/lib/citypay_api_client/models/acknowledgement.rb +21 -46
- data/lib/citypay_api_client/models/acl_check_request.rb +17 -20
- data/lib/citypay_api_client/models/acl_check_response_model.rb +16 -21
- data/lib/citypay_api_client/models/airline_advice.rb +45 -29
- data/lib/citypay_api_client/models/airline_segment.rb +35 -22
- data/lib/citypay_api_client/models/auth_reference.rb +41 -26
- data/lib/citypay_api_client/models/auth_references.rb +15 -20
- data/lib/citypay_api_client/models/auth_request.rb +72 -34
- data/lib/citypay_api_client/models/auth_response.rb +46 -23
- data/lib/citypay_api_client/models/authen_required.rb +15 -20
- data/lib/citypay_api_client/models/batch.rb +25 -22
- data/lib/citypay_api_client/models/batch_report_request.rb +23 -22
- data/lib/citypay_api_client/models/batch_report_response_model.rb +28 -21
- data/lib/citypay_api_client/models/batch_transaction.rb +25 -22
- data/lib/citypay_api_client/models/batch_transaction_report_request.rb +234 -0
- data/lib/citypay_api_client/models/batch_transaction_report_response.rb +252 -0
- data/lib/citypay_api_client/models/batch_transaction_result_model.rb +53 -22
- data/lib/citypay_api_client/models/bin.rb +15 -20
- data/lib/citypay_api_client/models/bin_lookup.rb +17 -20
- data/lib/citypay_api_client/models/c_res_auth_request.rb +15 -20
- data/lib/citypay_api_client/models/capture_request.rb +27 -22
- data/lib/citypay_api_client/models/card.rb +33 -26
- data/lib/citypay_api_client/models/card_holder_account.rb +19 -20
- data/lib/citypay_api_client/models/card_status.rb +15 -20
- data/lib/citypay_api_client/models/charge_request.rb +72 -34
- data/lib/citypay_api_client/models/check_batch_status.rb +23 -22
- data/lib/citypay_api_client/models/check_batch_status_response.rb +15 -20
- data/lib/citypay_api_client/models/contact_details.rb +77 -42
- data/lib/citypay_api_client/models/decision.rb +16 -30
- data/lib/citypay_api_client/models/direct_post_request.rb +72 -34
- data/lib/citypay_api_client/models/direct_token_auth_request.rb +15 -20
- data/lib/citypay_api_client/models/domain_key_check_request.rb +17 -20
- data/lib/citypay_api_client/models/domain_key_request.rb +19 -20
- data/lib/citypay_api_client/models/domain_key_response.rb +25 -22
- data/lib/citypay_api_client/models/error.rb +27 -24
- data/lib/citypay_api_client/models/event_data_model.rb +15 -20
- data/lib/citypay_api_client/models/exists.rb +17 -20
- data/lib/citypay_api_client/models/external_mpi.rb +39 -24
- data/lib/citypay_api_client/models/list_merchants_response.rb +21 -22
- data/lib/citypay_api_client/models/mcc6012.rb +15 -20
- data/lib/citypay_api_client/models/merchant.rb +15 -20
- data/lib/citypay_api_client/models/merchant_batch_report_request.rb +265 -0
- data/lib/citypay_api_client/models/merchant_batch_report_response.rb +252 -0
- data/lib/citypay_api_client/models/merchant_batch_response.rb +301 -0
- data/lib/citypay_api_client/models/net_summary_response.rb +472 -0
- data/lib/citypay_api_client/models/pa_res_auth_request.rb +19 -20
- data/lib/citypay_api_client/models/paylink_address.rb +52 -29
- data/lib/citypay_api_client/models/paylink_adjustment_request.rb +25 -22
- data/lib/citypay_api_client/models/paylink_attachment_request.rb +19 -20
- data/lib/citypay_api_client/models/paylink_attachment_result.rb +19 -20
- data/lib/citypay_api_client/models/paylink_bill_payment_token_request.rb +17 -20
- data/lib/citypay_api_client/models/paylink_card_holder.rb +30 -23
- data/lib/citypay_api_client/models/paylink_cart.rb +15 -20
- data/lib/citypay_api_client/models/paylink_cart_item_model.rb +15 -20
- data/lib/citypay_api_client/models/paylink_config.rb +15 -20
- data/lib/citypay_api_client/models/paylink_custom_param.rb +29 -22
- data/lib/citypay_api_client/models/paylink_email_notification_path.rb +17 -20
- data/lib/citypay_api_client/models/paylink_error_code.rb +19 -20
- data/lib/citypay_api_client/models/paylink_field_guard_model.rb +16 -21
- data/lib/citypay_api_client/models/paylink_part_payments.rb +15 -20
- data/lib/citypay_api_client/models/paylink_resend_notification_request.rb +224 -0
- data/lib/citypay_api_client/models/paylink_sms_notification_path.rb +17 -20
- data/lib/citypay_api_client/models/paylink_state_event.rb +16 -21
- data/lib/citypay_api_client/models/paylink_token_created.rb +56 -27
- data/lib/citypay_api_client/models/paylink_token_request_model.rb +75 -22
- data/lib/citypay_api_client/models/paylink_token_status.rb +44 -21
- data/lib/citypay_api_client/models/paylink_token_status_change_request.rb +24 -26
- data/lib/citypay_api_client/models/paylink_token_status_change_response.rb +39 -22
- data/lib/citypay_api_client/models/paylink_ui.rb +15 -20
- data/lib/citypay_api_client/models/payment_intent.rb +479 -0
- data/lib/citypay_api_client/models/payment_intent_reference.rb +221 -0
- data/lib/citypay_api_client/models/ping.rb +21 -22
- data/lib/citypay_api_client/models/process_batch_request.rb +27 -22
- data/lib/citypay_api_client/models/process_batch_response.rb +17 -20
- data/lib/citypay_api_client/models/refund_request.rb +28 -21
- data/lib/citypay_api_client/models/register_card.rb +27 -22
- data/lib/citypay_api_client/models/remittance_data.rb +404 -0
- data/lib/citypay_api_client/models/remittance_report_request.rb +265 -0
- data/lib/citypay_api_client/models/remittance_report_response.rb +252 -0
- data/lib/citypay_api_client/models/remitted_client_data.rb +612 -0
- data/lib/citypay_api_client/models/request_challenged.rb +15 -20
- data/lib/citypay_api_client/models/retrieve_request.rb +23 -22
- data/lib/citypay_api_client/models/three_d_secure.rb +16 -21
- data/lib/citypay_api_client/models/tokenisation_response_model.rb +23 -24
- data/lib/citypay_api_client/models/void_request.rb +23 -22
- data/lib/citypay_api_client/version.rb +3 -3
- data/lib/citypay_api_client.rb +16 -3
- data/spec/api/reporting_api___spec.rb +99 -0
- data/spec/it_api_sandbox_spec.rb +5 -14
- data/spec/models/account_create_spec.rb +1 -2
- data/spec/models/account_status_spec.rb +2 -2
- data/spec/models/airline_advice_spec.rb +0 -2
- data/spec/models/airline_segment_spec.rb +0 -2
- data/spec/models/auth_request_spec.rb +0 -2
- data/spec/models/auth_response_spec.rb +75 -30
- data/spec/models/batch_report_request_spec.rb +0 -2
- data/spec/models/batch_report_response_model_spec.rb +0 -2
- data/spec/models/batch_spec.rb +0 -2
- data/spec/models/batch_transaction_report_request_spec.rb +47 -0
- data/spec/models/batch_transaction_report_response_spec.rb +53 -0
- data/spec/models/batch_transaction_result_model_spec.rb +0 -2
- data/spec/models/batch_transaction_spec.rb +0 -2
- data/spec/models/bin_lookup_spec.rb +0 -2
- data/spec/models/capture_request_spec.rb +0 -2
- data/spec/models/card_holder_account_spec.rb +0 -2
- data/spec/models/charge_request_spec.rb +0 -2
- data/spec/models/decision_spec.rb +0 -26
- data/spec/models/direct_post_request_spec.rb +0 -2
- data/spec/models/domain_key_check_request_spec.rb +0 -2
- data/spec/models/merchant_batch_report_request_spec.rb +65 -0
- data/spec/models/merchant_batch_report_response_spec.rb +53 -0
- data/spec/models/merchant_batch_response_spec.rb +71 -0
- data/spec/models/net_summary_response_spec.rb +77 -0
- data/spec/models/paylink_resend_notification_request_spec.rb +41 -0
- data/spec/models/paylink_token_request_model_spec.rb +0 -2
- data/spec/models/payment_intent_reference_spec.rb +35 -0
- data/spec/models/payment_intent_spec.rb +107 -0
- data/spec/models/process_batch_request_spec.rb +0 -2
- data/spec/models/refund_request_spec.rb +0 -2
- data/spec/models/register_card_spec.rb +0 -2
- data/spec/models/remittance_data_spec.rb +65 -0
- data/spec/models/remittance_report_request_spec.rb +65 -0
- data/spec/models/remittance_report_response_spec.rb +53 -0
- data/spec/models/remitted_client_data_spec.rb +113 -0
- data/spec/spec_helper.rb +2 -2
- metadata +146 -78
- data/docs/OperationalApi.md +0 -214
- data/docs/PaymentProcessingApi.md +0 -559
- data/spec/models/authen_required_spec.rb +0 -52
@@ -1,11 +1,11 @@
|
|
1
1
|
=begin
|
2
2
|
#CityPay Payment API
|
3
3
|
|
4
|
-
#
|
4
|
+
# Welcome to the CityPay API, a robust HTTP API payment solution designed for seamless server-to-server transactional processing. Our API facilitates a wide array of payment operations, catering to diverse business needs. Whether you're integrating Internet payments, handling Mail Order/Telephone Order (MOTO) transactions, managing Subscriptions with Recurring and Continuous Authority payments, or navigating the complexities of 3-D Secure authentication, our API is equipped to support your requirements. Additionally, we offer functionalities for Authorisation, Refunding, Pre-Authorisation, Cancellation/Voids, and Completion processing, alongside the capability for tokenised payments. ## Compliance and Security Overview <aside class=\"notice\"> Ensuring the security of payment transactions and compliance with industry standards is paramount. Our API is designed with stringent security measures and compliance protocols to safeguard sensitive information and meet the rigorous requirements of Visa, MasterCard, and the PCI Security Standards Council. </aside> ### Key Compliance and Security Measures * **TLS Encryption**: All data transmissions must utilise TLS version 1.2 or higher, employing [strong cryptography](#enabled-tls-ciphers). Our infrastructure strictly enforces this requirement to maintain the integrity and confidentiality of data in transit. We conduct regular scans and assessments of our TLS endpoints to identify and mitigate vulnerabilities. * **Data Storage Prohibitions**: Storing sensitive cardholder data (CHD), such as the card security code (CSC) or primary account number (PAN), is strictly prohibited. Our API is designed to minimize your exposure to sensitive data, thereby reducing your compliance burden. * **Data Masking**: For consumer protection and compliance, full card numbers must not be displayed on receipts or any customer-facing materials. Our API automatically masks PANs, displaying only the last four digits to facilitate safe receipt generation. * **Network Scans**: If your application is web-based, regular scans of your hosting environment are mandatory to identify and rectify potential vulnerabilities. This proactive measure is crucial for maintaining a secure and compliant online presence. * **PCI Compliance**: Adherence to PCI DSS standards is not optional; it's a requirement for operating securely and legally in the payments ecosystem. For detailed information on compliance requirements and resources, please visit the PCI Security Standards Council website [https://www.pcisecuritystandards.org/](https://www.pcisecuritystandards.org/). * **Request Validation**: Our API includes mechanisms to verify the legitimacy of each request, ensuring it pertains to a valid account and originates from a trusted source. We leverage remote IP address verification alongside sophisticated application firewall technologies to thwart a wide array of common security threats. ## Getting Started Before integrating with the CityPay API, ensure your application and development practices align with the outlined compliance and security measures. This preparatory step is crucial for a smooth integration process and the long-term success of your payment processing operations. For further details on API endpoints, request/response formats, and code examples, proceed to the subsequent sections of our documentation. Our aim is to provide you with all the necessary tools and information to integrate our payment processing capabilities seamlessly into your application. Thank you for choosing CityPay API. We look forward to supporting your payment processing needs with our secure, compliant, and versatile API solution.
|
5
5
|
|
6
6
|
Contact: support@citypay.com
|
7
7
|
Generated by: https://openapi-generator.tech
|
8
|
-
OpenAPI Generator version:
|
8
|
+
OpenAPI Generator version: 7.2.0
|
9
9
|
|
10
10
|
=end
|
11
11
|
|
@@ -50,7 +50,7 @@ module CityPayApiClient
|
|
50
50
|
# The context which processed the transaction, can be used for support purposes to trace transactions.
|
51
51
|
attr_accessor :context
|
52
52
|
|
53
|
-
# The CSC
|
53
|
+
# The CSC result codes determine the result of checking the provided CSC value within the Card Security Code fraud system. If a transaction is declined due to the CSC code not matching, this value can help determine the reason for the decline. <table> <tr> <th>Code</th> <th>Description</th> </tr> <tr><td> </td><td>No information</td></tr> <tr><td>M</td><td>Card verification data matches</td></tr> <tr><td>N</td><td>Card verification data was checked but did not match</td></tr> <tr><td>P</td><td>Card verification was not processed</td></tr> <tr><td>S</td><td>The card verification data should be on the card but the merchant indicates that it is not</td></tr> <tr><td>U</td><td>The card issuer is not certified</td></tr> </table>
|
54
54
|
attr_accessor :csc_result
|
55
55
|
|
56
56
|
# The currency the transaction was processed in. This is an `ISO4217` alpha currency value.
|
@@ -83,9 +83,15 @@ module CityPayApiClient
|
|
83
83
|
# The message regarding the result which provides further narrative to the result code.
|
84
84
|
attr_accessor :result_message
|
85
85
|
|
86
|
-
#
|
86
|
+
# The name of the card scheme of the transaction that processed the transaction such as Visa or MasterCard.
|
87
87
|
attr_accessor :scheme
|
88
88
|
|
89
|
+
# The name of the card scheme of the transaction such as VI or MC.
|
90
|
+
attr_accessor :scheme_id
|
91
|
+
|
92
|
+
# A url containing a logo of the card scheme.
|
93
|
+
attr_accessor :scheme_logo
|
94
|
+
|
89
95
|
# A SHA256 digest value of the transaction used to validate the response data The digest is calculated by concatenating * authcode * amount * response_code * merchant_id * trans_no * identifier * licence_key - which is not provided in the response.
|
90
96
|
attr_accessor :sha256
|
91
97
|
|
@@ -122,6 +128,8 @@ module CityPayApiClient
|
|
122
128
|
:'result_code' => :'result_code',
|
123
129
|
:'result_message' => :'result_message',
|
124
130
|
:'scheme' => :'scheme',
|
131
|
+
:'scheme_id' => :'scheme_id',
|
132
|
+
:'scheme_logo' => :'scheme_logo',
|
125
133
|
:'sha256' => :'sha256',
|
126
134
|
:'trans_status' => :'trans_status',
|
127
135
|
:'transno' => :'transno'
|
@@ -160,6 +168,8 @@ module CityPayApiClient
|
|
160
168
|
:'result_code' => :'String',
|
161
169
|
:'result_message' => :'String',
|
162
170
|
:'scheme' => :'String',
|
171
|
+
:'scheme_id' => :'String',
|
172
|
+
:'scheme_logo' => :'String',
|
163
173
|
:'sha256' => :'String',
|
164
174
|
:'trans_status' => :'String',
|
165
175
|
:'transno' => :'Integer'
|
@@ -265,24 +275,40 @@ module CityPayApiClient
|
|
265
275
|
|
266
276
|
if attributes.key?(:'merchantid')
|
267
277
|
self.merchantid = attributes[:'merchantid']
|
278
|
+
else
|
279
|
+
self.merchantid = nil
|
268
280
|
end
|
269
281
|
|
270
282
|
if attributes.key?(:'result')
|
271
283
|
self.result = attributes[:'result']
|
284
|
+
else
|
285
|
+
self.result = nil
|
272
286
|
end
|
273
287
|
|
274
288
|
if attributes.key?(:'result_code')
|
275
289
|
self.result_code = attributes[:'result_code']
|
290
|
+
else
|
291
|
+
self.result_code = nil
|
276
292
|
end
|
277
293
|
|
278
294
|
if attributes.key?(:'result_message')
|
279
295
|
self.result_message = attributes[:'result_message']
|
296
|
+
else
|
297
|
+
self.result_message = nil
|
280
298
|
end
|
281
299
|
|
282
300
|
if attributes.key?(:'scheme')
|
283
301
|
self.scheme = attributes[:'scheme']
|
284
302
|
end
|
285
303
|
|
304
|
+
if attributes.key?(:'scheme_id')
|
305
|
+
self.scheme_id = attributes[:'scheme_id']
|
306
|
+
end
|
307
|
+
|
308
|
+
if attributes.key?(:'scheme_logo')
|
309
|
+
self.scheme_logo = attributes[:'scheme_logo']
|
310
|
+
end
|
311
|
+
|
286
312
|
if attributes.key?(:'sha256')
|
287
313
|
self.sha256 = attributes[:'sha256']
|
288
314
|
end
|
@@ -299,6 +325,7 @@ module CityPayApiClient
|
|
299
325
|
# Show invalid properties with the reasons. Usually used together with valid?
|
300
326
|
# @return Array for valid properties with the reasons
|
301
327
|
def list_invalid_properties
|
328
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
302
329
|
invalid_properties = Array.new
|
303
330
|
if @merchantid.nil?
|
304
331
|
invalid_properties.push('invalid value for "merchantid", merchantid cannot be nil.')
|
@@ -322,6 +349,7 @@ module CityPayApiClient
|
|
322
349
|
# Check to see if the all the properties in the model are valid
|
323
350
|
# @return true if the model is valid
|
324
351
|
def valid?
|
352
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
325
353
|
return false if @merchantid.nil?
|
326
354
|
return false if @result.nil?
|
327
355
|
return false if @result_code.nil?
|
@@ -358,6 +386,8 @@ module CityPayApiClient
|
|
358
386
|
result_code == o.result_code &&
|
359
387
|
result_message == o.result_message &&
|
360
388
|
scheme == o.scheme &&
|
389
|
+
scheme_id == o.scheme_id &&
|
390
|
+
scheme_logo == o.scheme_logo &&
|
361
391
|
sha256 == o.sha256 &&
|
362
392
|
trans_status == o.trans_status &&
|
363
393
|
transno == o.transno
|
@@ -372,44 +402,37 @@ module CityPayApiClient
|
|
372
402
|
# Calculates hash code according to all attributes.
|
373
403
|
# @return [Integer] Hash code
|
374
404
|
def hash
|
375
|
-
[amount, atrn, atsd, authcode, authen_result, authorised, avs_result, bin_commercial, bin_debit, bin_description, cavv, context, csc_result, currency, datetime, eci, identifier, live, maskedpan, merchantid, result, result_code, result_message, scheme, sha256, trans_status, transno].hash
|
405
|
+
[amount, atrn, atsd, authcode, authen_result, authorised, avs_result, bin_commercial, bin_debit, bin_description, cavv, context, csc_result, currency, datetime, eci, identifier, live, maskedpan, merchantid, result, result_code, result_message, scheme, scheme_id, scheme_logo, sha256, trans_status, transno].hash
|
376
406
|
end
|
377
407
|
|
378
408
|
# Builds the object from hash
|
379
409
|
# @param [Hash] attributes Model attributes in the form of hash
|
380
410
|
# @return [Object] Returns the model itself
|
381
411
|
def self.build_from_hash(attributes)
|
382
|
-
new.build_from_hash(attributes)
|
383
|
-
end
|
384
|
-
|
385
|
-
# Builds the object from hash
|
386
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
387
|
-
# @return [Object] Returns the model itself
|
388
|
-
def build_from_hash(attributes)
|
389
412
|
return nil unless attributes.is_a?(Hash)
|
390
413
|
attributes = attributes.transform_keys(&:to_sym)
|
391
|
-
|
392
|
-
|
393
|
-
|
414
|
+
transformed_hash = {}
|
415
|
+
openapi_types.each_pair do |key, type|
|
416
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
417
|
+
transformed_hash["#{key}"] = nil
|
394
418
|
elsif type =~ /\AArray<(.*)>/i
|
395
419
|
# check to ensure the input is an array given that the attribute
|
396
420
|
# is documented as an array but the input is not
|
397
|
-
if attributes[
|
398
|
-
|
421
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
422
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
399
423
|
end
|
400
|
-
elsif !attributes[
|
401
|
-
|
424
|
+
elsif !attributes[attribute_map[key]].nil?
|
425
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
402
426
|
end
|
403
427
|
end
|
404
|
-
|
405
|
-
self
|
428
|
+
new(transformed_hash)
|
406
429
|
end
|
407
430
|
|
408
431
|
# Deserializes the data based on type
|
409
432
|
# @param string type Data type
|
410
433
|
# @param string value Value to be deserialized
|
411
434
|
# @return [Object] Deserialized data
|
412
|
-
def _deserialize(type, value)
|
435
|
+
def self._deserialize(type, value)
|
413
436
|
case type.to_sym
|
414
437
|
when :Time
|
415
438
|
Time.parse(value)
|
@@ -444,7 +467,7 @@ module CityPayApiClient
|
|
444
467
|
else # model
|
445
468
|
# models (e.g. Pet) or oneOf
|
446
469
|
klass = CityPayApiClient.const_get(type)
|
447
|
-
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
470
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
448
471
|
end
|
449
472
|
end
|
450
473
|
|
@@ -1,11 +1,11 @@
|
|
1
1
|
=begin
|
2
2
|
#CityPay Payment API
|
3
3
|
|
4
|
-
# This CityPay API is
|
4
|
+
# This CityPay API is an HTTP RESTful payment API used for direct server to server transactional processing. It provides a number of payment mechanisms including: Internet, MOTO, Continuous Authority transaction processing, 3-D Secure decision handling using RFA Secure, Authorisation, Refunding, Pre-Authorisation, Cancellation/Voids and Completion processing. The API is also capable of tokenized payments using cardholder Accounts. ## Compliance and Security Your application will need to adhere to PCI-DSS standards to operate safely and to meet requirements set out by Visa and MasterCard and the PCI Security Standards Council. These include * Data must be collected using TLS version 1.2 using [strong cryptography](https://citypay.github.io/api-docs/payment-api/#enabled-tls-ciphers). We will not accept calls to our API at lower grade encryption levels. We regularly scan our TLS endpoints for vulnerabilities and perform TLS assessments as part of our compliance program. * The application must not store sensitive cardholder data (CHD) such as the card security code (CSC) or primary access number (PAN) * The application must not display the full card number on receipts, it is recommended to mask the PAN and show the last 4 digits. The API will return this for you for ease of receipt creation * If you are developing a website, you will be required to perform regular scans on the network where you host the application to meet your compliance obligations * You will be required to be PCI Compliant and the application must adhere to the security standard. Further information is available from [https://www.pcisecuritystandards.org/](https://www.pcisecuritystandards.org/) * The API verifies that the request is for a valid account and originates from a trusted source using the remote IP address. Our application firewalls analyse data that may be an attempt to break a large number of security common security vulnerabilities.
|
5
5
|
|
6
6
|
Contact: support@citypay.com
|
7
7
|
Generated by: https://openapi-generator.tech
|
8
|
-
OpenAPI Generator version:
|
8
|
+
OpenAPI Generator version: 7.2.0
|
9
9
|
|
10
10
|
=end
|
11
11
|
|
@@ -83,6 +83,7 @@ module CityPayApiClient
|
|
83
83
|
# Show invalid properties with the reasons. Usually used together with valid?
|
84
84
|
# @return Array for valid properties with the reasons
|
85
85
|
def list_invalid_properties
|
86
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
86
87
|
invalid_properties = Array.new
|
87
88
|
invalid_properties
|
88
89
|
end
|
@@ -90,6 +91,7 @@ module CityPayApiClient
|
|
90
91
|
# Check to see if the all the properties in the model are valid
|
91
92
|
# @return true if the model is valid
|
92
93
|
def valid?
|
94
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
93
95
|
true
|
94
96
|
end
|
95
97
|
|
@@ -119,37 +121,30 @@ module CityPayApiClient
|
|
119
121
|
# @param [Hash] attributes Model attributes in the form of hash
|
120
122
|
# @return [Object] Returns the model itself
|
121
123
|
def self.build_from_hash(attributes)
|
122
|
-
new.build_from_hash(attributes)
|
123
|
-
end
|
124
|
-
|
125
|
-
# Builds the object from hash
|
126
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
127
|
-
# @return [Object] Returns the model itself
|
128
|
-
def build_from_hash(attributes)
|
129
124
|
return nil unless attributes.is_a?(Hash)
|
130
125
|
attributes = attributes.transform_keys(&:to_sym)
|
131
|
-
|
132
|
-
|
133
|
-
|
126
|
+
transformed_hash = {}
|
127
|
+
openapi_types.each_pair do |key, type|
|
128
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
129
|
+
transformed_hash["#{key}"] = nil
|
134
130
|
elsif type =~ /\AArray<(.*)>/i
|
135
131
|
# check to ensure the input is an array given that the attribute
|
136
132
|
# is documented as an array but the input is not
|
137
|
-
if attributes[
|
138
|
-
|
133
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
134
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
139
135
|
end
|
140
|
-
elsif !attributes[
|
141
|
-
|
136
|
+
elsif !attributes[attribute_map[key]].nil?
|
137
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
142
138
|
end
|
143
139
|
end
|
144
|
-
|
145
|
-
self
|
140
|
+
new(transformed_hash)
|
146
141
|
end
|
147
142
|
|
148
143
|
# Deserializes the data based on type
|
149
144
|
# @param string type Data type
|
150
145
|
# @param string value Value to be deserialized
|
151
146
|
# @return [Object] Deserialized data
|
152
|
-
def _deserialize(type, value)
|
147
|
+
def self._deserialize(type, value)
|
153
148
|
case type.to_sym
|
154
149
|
when :Time
|
155
150
|
Time.parse(value)
|
@@ -184,7 +179,7 @@ module CityPayApiClient
|
|
184
179
|
else # model
|
185
180
|
# models (e.g. Pet) or oneOf
|
186
181
|
klass = CityPayApiClient.const_get(type)
|
187
|
-
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
182
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
188
183
|
end
|
189
184
|
end
|
190
185
|
|
@@ -1,11 +1,11 @@
|
|
1
1
|
=begin
|
2
2
|
#CityPay Payment API
|
3
3
|
|
4
|
-
#
|
4
|
+
# Welcome to the CityPay API, a robust HTTP API payment solution designed for seamless server-to-server transactional processing. Our API facilitates a wide array of payment operations, catering to diverse business needs. Whether you're integrating Internet payments, handling Mail Order/Telephone Order (MOTO) transactions, managing Subscriptions with Recurring and Continuous Authority payments, or navigating the complexities of 3-D Secure authentication, our API is equipped to support your requirements. Additionally, we offer functionalities for Authorisation, Refunding, Pre-Authorisation, Cancellation/Voids, and Completion processing, alongside the capability for tokenised payments. ## Compliance and Security Overview <aside class=\"notice\"> Ensuring the security of payment transactions and compliance with industry standards is paramount. Our API is designed with stringent security measures and compliance protocols to safeguard sensitive information and meet the rigorous requirements of Visa, MasterCard, and the PCI Security Standards Council. </aside> ### Key Compliance and Security Measures * **TLS Encryption**: All data transmissions must utilise TLS version 1.2 or higher, employing [strong cryptography](#enabled-tls-ciphers). Our infrastructure strictly enforces this requirement to maintain the integrity and confidentiality of data in transit. We conduct regular scans and assessments of our TLS endpoints to identify and mitigate vulnerabilities. * **Data Storage Prohibitions**: Storing sensitive cardholder data (CHD), such as the card security code (CSC) or primary account number (PAN), is strictly prohibited. Our API is designed to minimize your exposure to sensitive data, thereby reducing your compliance burden. * **Data Masking**: For consumer protection and compliance, full card numbers must not be displayed on receipts or any customer-facing materials. Our API automatically masks PANs, displaying only the last four digits to facilitate safe receipt generation. * **Network Scans**: If your application is web-based, regular scans of your hosting environment are mandatory to identify and rectify potential vulnerabilities. This proactive measure is crucial for maintaining a secure and compliant online presence. * **PCI Compliance**: Adherence to PCI DSS standards is not optional; it's a requirement for operating securely and legally in the payments ecosystem. For detailed information on compliance requirements and resources, please visit the PCI Security Standards Council website [https://www.pcisecuritystandards.org/](https://www.pcisecuritystandards.org/). * **Request Validation**: Our API includes mechanisms to verify the legitimacy of each request, ensuring it pertains to a valid account and originates from a trusted source. We leverage remote IP address verification alongside sophisticated application firewall technologies to thwart a wide array of common security threats. ## Getting Started Before integrating with the CityPay API, ensure your application and development practices align with the outlined compliance and security measures. This preparatory step is crucial for a smooth integration process and the long-term success of your payment processing operations. For further details on API endpoints, request/response formats, and code examples, proceed to the subsequent sections of our documentation. Our aim is to provide you with all the necessary tools and information to integrate our payment processing capabilities seamlessly into your application. Thank you for choosing CityPay API. We look forward to supporting your payment processing needs with our secure, compliant, and versatile API solution.
|
5
5
|
|
6
6
|
Contact: support@citypay.com
|
7
7
|
Generated by: https://openapi-generator.tech
|
8
|
-
OpenAPI Generator version:
|
8
|
+
OpenAPI Generator version: 7.2.0
|
9
9
|
|
10
10
|
=end
|
11
11
|
|
@@ -20,7 +20,7 @@ module CityPayApiClient
|
|
20
20
|
# The batch id requested.
|
21
21
|
attr_accessor :batch_id
|
22
22
|
|
23
|
-
# The status of the batch. Possible values are
|
23
|
+
# The status of the batch. Possible values are: - CANCELLED. The file has been cancelled by an administrator or server process. - COMPLETE. The file has passed through the processing cycle and is determined as being complete further information should be obtained on the results of the processing - ERROR_IN_PROCESSING. Errors have occurred in the processing that has deemed that processing can not continue. - INITIALISED. The file has been initialised and no action has yet been performed - LOCKED. The file has been locked for processing - QUEUED. The file has been queued for processing yet no processing has yet been performed - UNKNOWN. The file is of an unknown status, that is the file can either not be determined by the information requested of the file has not yet been received.
|
24
24
|
attr_accessor :batch_status
|
25
25
|
|
26
26
|
# Attribute mapping from ruby-style variable name to JSON key.
|
@@ -69,6 +69,8 @@ module CityPayApiClient
|
|
69
69
|
|
70
70
|
if attributes.key?(:'batch_date')
|
71
71
|
self.batch_date = attributes[:'batch_date']
|
72
|
+
else
|
73
|
+
self.batch_date = nil
|
72
74
|
end
|
73
75
|
|
74
76
|
if attributes.key?(:'batch_id')
|
@@ -77,12 +79,15 @@ module CityPayApiClient
|
|
77
79
|
|
78
80
|
if attributes.key?(:'batch_status')
|
79
81
|
self.batch_status = attributes[:'batch_status']
|
82
|
+
else
|
83
|
+
self.batch_status = nil
|
80
84
|
end
|
81
85
|
end
|
82
86
|
|
83
87
|
# Show invalid properties with the reasons. Usually used together with valid?
|
84
88
|
# @return Array for valid properties with the reasons
|
85
89
|
def list_invalid_properties
|
90
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
86
91
|
invalid_properties = Array.new
|
87
92
|
if @batch_date.nil?
|
88
93
|
invalid_properties.push('invalid value for "batch_date", batch_date cannot be nil.')
|
@@ -102,6 +107,7 @@ module CityPayApiClient
|
|
102
107
|
# Check to see if the all the properties in the model are valid
|
103
108
|
# @return true if the model is valid
|
104
109
|
def valid?
|
110
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
105
111
|
return false if @batch_date.nil?
|
106
112
|
return false if !@batch_id.nil? && @batch_id < 1
|
107
113
|
return false if @batch_status.nil?
|
@@ -111,7 +117,11 @@ module CityPayApiClient
|
|
111
117
|
# Custom attribute writer method with validation
|
112
118
|
# @param [Object] batch_id Value to be assigned
|
113
119
|
def batch_id=(batch_id)
|
114
|
-
if
|
120
|
+
if batch_id.nil?
|
121
|
+
fail ArgumentError, 'batch_id cannot be nil'
|
122
|
+
end
|
123
|
+
|
124
|
+
if batch_id < 1
|
115
125
|
fail ArgumentError, 'invalid value for "batch_id", must be greater than or equal to 1.'
|
116
126
|
end
|
117
127
|
|
@@ -144,37 +154,30 @@ module CityPayApiClient
|
|
144
154
|
# @param [Hash] attributes Model attributes in the form of hash
|
145
155
|
# @return [Object] Returns the model itself
|
146
156
|
def self.build_from_hash(attributes)
|
147
|
-
new.build_from_hash(attributes)
|
148
|
-
end
|
149
|
-
|
150
|
-
# Builds the object from hash
|
151
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
152
|
-
# @return [Object] Returns the model itself
|
153
|
-
def build_from_hash(attributes)
|
154
157
|
return nil unless attributes.is_a?(Hash)
|
155
158
|
attributes = attributes.transform_keys(&:to_sym)
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
+
transformed_hash = {}
|
160
|
+
openapi_types.each_pair do |key, type|
|
161
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
162
|
+
transformed_hash["#{key}"] = nil
|
159
163
|
elsif type =~ /\AArray<(.*)>/i
|
160
164
|
# check to ensure the input is an array given that the attribute
|
161
165
|
# is documented as an array but the input is not
|
162
|
-
if attributes[
|
163
|
-
|
166
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
167
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
164
168
|
end
|
165
|
-
elsif !attributes[
|
166
|
-
|
169
|
+
elsif !attributes[attribute_map[key]].nil?
|
170
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
167
171
|
end
|
168
172
|
end
|
169
|
-
|
170
|
-
self
|
173
|
+
new(transformed_hash)
|
171
174
|
end
|
172
175
|
|
173
176
|
# Deserializes the data based on type
|
174
177
|
# @param string type Data type
|
175
178
|
# @param string value Value to be deserialized
|
176
179
|
# @return [Object] Deserialized data
|
177
|
-
def _deserialize(type, value)
|
180
|
+
def self._deserialize(type, value)
|
178
181
|
case type.to_sym
|
179
182
|
when :Time
|
180
183
|
Time.parse(value)
|
@@ -209,7 +212,7 @@ module CityPayApiClient
|
|
209
212
|
else # model
|
210
213
|
# models (e.g. Pet) or oneOf
|
211
214
|
klass = CityPayApiClient.const_get(type)
|
212
|
-
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
215
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
213
216
|
end
|
214
217
|
end
|
215
218
|
|
@@ -1,11 +1,11 @@
|
|
1
1
|
=begin
|
2
2
|
#CityPay Payment API
|
3
3
|
|
4
|
-
#
|
4
|
+
# Welcome to the CityPay API, a robust HTTP API payment solution designed for seamless server-to-server transactional processing. Our API facilitates a wide array of payment operations, catering to diverse business needs. Whether you're integrating Internet payments, handling Mail Order/Telephone Order (MOTO) transactions, managing Subscriptions with Recurring and Continuous Authority payments, or navigating the complexities of 3-D Secure authentication, our API is equipped to support your requirements. Additionally, we offer functionalities for Authorisation, Refunding, Pre-Authorisation, Cancellation/Voids, and Completion processing, alongside the capability for tokenised payments. ## Compliance and Security Overview <aside class=\"notice\"> Ensuring the security of payment transactions and compliance with industry standards is paramount. Our API is designed with stringent security measures and compliance protocols to safeguard sensitive information and meet the rigorous requirements of Visa, MasterCard, and the PCI Security Standards Council. </aside> ### Key Compliance and Security Measures * **TLS Encryption**: All data transmissions must utilise TLS version 1.2 or higher, employing [strong cryptography](#enabled-tls-ciphers). Our infrastructure strictly enforces this requirement to maintain the integrity and confidentiality of data in transit. We conduct regular scans and assessments of our TLS endpoints to identify and mitigate vulnerabilities. * **Data Storage Prohibitions**: Storing sensitive cardholder data (CHD), such as the card security code (CSC) or primary account number (PAN), is strictly prohibited. Our API is designed to minimize your exposure to sensitive data, thereby reducing your compliance burden. * **Data Masking**: For consumer protection and compliance, full card numbers must not be displayed on receipts or any customer-facing materials. Our API automatically masks PANs, displaying only the last four digits to facilitate safe receipt generation. * **Network Scans**: If your application is web-based, regular scans of your hosting environment are mandatory to identify and rectify potential vulnerabilities. This proactive measure is crucial for maintaining a secure and compliant online presence. * **PCI Compliance**: Adherence to PCI DSS standards is not optional; it's a requirement for operating securely and legally in the payments ecosystem. For detailed information on compliance requirements and resources, please visit the PCI Security Standards Council website [https://www.pcisecuritystandards.org/](https://www.pcisecuritystandards.org/). * **Request Validation**: Our API includes mechanisms to verify the legitimacy of each request, ensuring it pertains to a valid account and originates from a trusted source. We leverage remote IP address verification alongside sophisticated application firewall technologies to thwart a wide array of common security threats. ## Getting Started Before integrating with the CityPay API, ensure your application and development practices align with the outlined compliance and security measures. This preparatory step is crucial for a smooth integration process and the long-term success of your payment processing operations. For further details on API endpoints, request/response formats, and code examples, proceed to the subsequent sections of our documentation. Our aim is to provide you with all the necessary tools and information to integrate our payment processing capabilities seamlessly into your application. Thank you for choosing CityPay API. We look forward to supporting your payment processing needs with our secure, compliant, and versatile API solution.
|
5
5
|
|
6
6
|
Contact: support@citypay.com
|
7
7
|
Generated by: https://openapi-generator.tech
|
8
|
-
OpenAPI Generator version:
|
8
|
+
OpenAPI Generator version: 7.2.0
|
9
9
|
|
10
10
|
=end
|
11
11
|
|
@@ -64,6 +64,8 @@ module CityPayApiClient
|
|
64
64
|
|
65
65
|
if attributes.key?(:'batch_id')
|
66
66
|
self.batch_id = attributes[:'batch_id']
|
67
|
+
else
|
68
|
+
self.batch_id = nil
|
67
69
|
end
|
68
70
|
|
69
71
|
if attributes.key?(:'client_account_id')
|
@@ -74,6 +76,7 @@ module CityPayApiClient
|
|
74
76
|
# Show invalid properties with the reasons. Usually used together with valid?
|
75
77
|
# @return Array for valid properties with the reasons
|
76
78
|
def list_invalid_properties
|
79
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
77
80
|
invalid_properties = Array.new
|
78
81
|
if @batch_id.nil?
|
79
82
|
invalid_properties.push('invalid value for "batch_id", batch_id cannot be nil.')
|
@@ -97,6 +100,7 @@ module CityPayApiClient
|
|
97
100
|
# Check to see if the all the properties in the model are valid
|
98
101
|
# @return true if the model is valid
|
99
102
|
def valid?
|
103
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
100
104
|
return false if @batch_id.nil?
|
101
105
|
return false if @batch_id < 1
|
102
106
|
return false if !@client_account_id.nil? && @client_account_id.to_s.length > 20
|
@@ -121,11 +125,15 @@ module CityPayApiClient
|
|
121
125
|
# Custom attribute writer method with validation
|
122
126
|
# @param [Object] client_account_id Value to be assigned
|
123
127
|
def client_account_id=(client_account_id)
|
124
|
-
if
|
128
|
+
if client_account_id.nil?
|
129
|
+
fail ArgumentError, 'client_account_id cannot be nil'
|
130
|
+
end
|
131
|
+
|
132
|
+
if client_account_id.to_s.length > 20
|
125
133
|
fail ArgumentError, 'invalid value for "client_account_id", the character length must be smaller than or equal to 20.'
|
126
134
|
end
|
127
135
|
|
128
|
-
if
|
136
|
+
if client_account_id.to_s.length < 3
|
129
137
|
fail ArgumentError, 'invalid value for "client_account_id", the character length must be great than or equal to 3.'
|
130
138
|
end
|
131
139
|
|
@@ -157,37 +165,30 @@ module CityPayApiClient
|
|
157
165
|
# @param [Hash] attributes Model attributes in the form of hash
|
158
166
|
# @return [Object] Returns the model itself
|
159
167
|
def self.build_from_hash(attributes)
|
160
|
-
new.build_from_hash(attributes)
|
161
|
-
end
|
162
|
-
|
163
|
-
# Builds the object from hash
|
164
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
165
|
-
# @return [Object] Returns the model itself
|
166
|
-
def build_from_hash(attributes)
|
167
168
|
return nil unless attributes.is_a?(Hash)
|
168
169
|
attributes = attributes.transform_keys(&:to_sym)
|
169
|
-
|
170
|
-
|
171
|
-
|
170
|
+
transformed_hash = {}
|
171
|
+
openapi_types.each_pair do |key, type|
|
172
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
173
|
+
transformed_hash["#{key}"] = nil
|
172
174
|
elsif type =~ /\AArray<(.*)>/i
|
173
175
|
# check to ensure the input is an array given that the attribute
|
174
176
|
# is documented as an array but the input is not
|
175
|
-
if attributes[
|
176
|
-
|
177
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
178
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
177
179
|
end
|
178
|
-
elsif !attributes[
|
179
|
-
|
180
|
+
elsif !attributes[attribute_map[key]].nil?
|
181
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
180
182
|
end
|
181
183
|
end
|
182
|
-
|
183
|
-
self
|
184
|
+
new(transformed_hash)
|
184
185
|
end
|
185
186
|
|
186
187
|
# Deserializes the data based on type
|
187
188
|
# @param string type Data type
|
188
189
|
# @param string value Value to be deserialized
|
189
190
|
# @return [Object] Deserialized data
|
190
|
-
def _deserialize(type, value)
|
191
|
+
def self._deserialize(type, value)
|
191
192
|
case type.to_sym
|
192
193
|
when :Time
|
193
194
|
Time.parse(value)
|
@@ -222,7 +223,7 @@ module CityPayApiClient
|
|
222
223
|
else # model
|
223
224
|
# models (e.g. Pet) or oneOf
|
224
225
|
klass = CityPayApiClient.const_get(type)
|
225
|
-
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
226
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
226
227
|
end
|
227
228
|
end
|
228
229
|
|