first_data_gateway 1.0.3 → 1.1.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 +4 -4
- data/Gemfile +1 -0
- data/README.md +144 -65
- data/Rakefile +2 -0
- data/docs/AVSResponse.md +9 -0
- data/docs/AccessTokenResponse.md +2 -3
- data/docs/AdditionalAmountRate.md +9 -0
- data/docs/AdditionalTransactionDetails.md +10 -0
- data/docs/Address.md +5 -5
- data/docs/Airline.md +14 -14
- data/docs/AirlineAncillaryServiceCategory.md +2 -2
- data/docs/AirlineTravelRoute.md +8 -8
- data/docs/AliPay.md +11 -0
- data/docs/Amount.md +2 -2
- data/docs/AmountComponents.md +8 -8
- data/docs/AuthenticationApi.md +19 -24
- data/docs/AuthenticationRequest.md +9 -0
- data/docs/AuthenticationResponseVerification.md +5 -4
- data/docs/AuthenticationResponseVerificationRequest.md +11 -0
- data/docs/BasicResponse.md +10 -0
- data/docs/BasketItem.md +2 -2
- data/docs/Billing.md +6 -5
- data/docs/BillingAddress.md +17 -0
- data/docs/BillingAddressPhone.md +9 -0
- data/docs/CarRental.md +9 -9
- data/docs/CarRentalExtraCharges.md +2 -2
- data/docs/Card.md +15 -0
- data/docs/CardInfo.md +13 -0
- data/docs/CardInfoLookupApi.md +68 -0
- data/docs/CardInfoLookupRequest.md +9 -0
- data/docs/CardInfoLookupResponse.md +12 -0
- data/docs/CardVerificationApi.md +68 -0
- data/docs/CardVerificationRequest.md +9 -0
- data/docs/CardVerificationsTransaction.md +2 -2
- data/docs/ChinaDomestic.md +15 -0
- data/docs/ClientLocale.md +3 -3
- data/docs/Contact.md +5 -5
- data/docs/CurrencyConversionApi.md +68 -0
- data/docs/Customer.md +19 -0
- data/docs/CustomerAddress.md +14 -0
- data/docs/CustomerAddressPhone.md +9 -0
- data/docs/Dcc.md +9 -0
- data/docs/Device.md +19 -0
- data/docs/DeviceNetworks.md +21 -0
- data/docs/Document.md +9 -0
- data/docs/Error.md +1 -1
- data/docs/ErrorDetails.md +1 -1
- data/docs/ErrorResponse.md +4 -4
- data/docs/ExchangeRateRequest.md +12 -0
- data/docs/ExchangeRateResponse.md +21 -0
- data/docs/Expiration.md +3 -3
- data/docs/FraudDetectApi.md +68 -0
- data/docs/FraudOrder.md +10 -0
- data/docs/FraudOrderItems.md +15 -0
- data/docs/FraudOrderShipToAddress.md +14 -0
- data/docs/Frequency.md +3 -3
- data/docs/IndustrySpecificExtensions.md +1 -1
- data/docs/InstallmentOptions.md +1 -1
- data/docs/Lodging.md +3 -3
- data/docs/LodgingExtraCharges.md +1 -1
- data/docs/Loyalty.md +10 -0
- data/docs/Merchant.md +11 -0
- data/docs/MerchantLocation.md +12 -0
- data/docs/MerchantLocationMerchantAddress.md +13 -0
- data/docs/Order.md +2 -2
- data/docs/OrderApi.md +107 -55
- data/docs/OrderErrorResponse.md +19 -0
- data/docs/OrderResponse.md +18 -0
- data/docs/PayPal.md +1 -1
- data/docs/Payment.md +18 -0
- data/docs/PaymentApi.md +164 -124
- data/docs/PaymentCard.md +10 -6
- data/docs/PaymentCardAuthenticationResult.md +1 -1
- data/docs/PaymentFacilitator.md +12 -0
- data/docs/PaymentIssuerResponse.md +10 -0
- data/docs/PaymentMethod.md +5 -2
- data/docs/PaymentPayMethod.md +13 -0
- data/docs/PaymentSchedulesApi.md +256 -0
- data/docs/PaymentSchedulesErrorResponse.md +14 -0
- data/docs/PaymentSchedulesRequest.md +10 -7
- data/docs/PaymentSchedulesResponse.md +7 -5
- data/docs/PaymentTokenApi.md +134 -0
- data/docs/PaymentTokenization.md +16 -0
- data/docs/PaymentTokenizationErrorResponse.md +19 -0
- data/docs/PaymentTokenizationRequest.md +11 -0
- data/docs/PaymentTokenizationResponse.md +18 -0
- data/docs/PaymentURLApi.md +68 -0
- data/docs/PaymentUrlErrorResponse.md +15 -0
- data/docs/PaymentUrlRequest.md +13 -3
- data/docs/PaymentUrlResponse.md +6 -5
- data/docs/PaymentVerification3ds.md +10 -0
- data/docs/PaymentVerificationAvs.md +10 -0
- data/docs/PaymentVerificationCvv.md +10 -0
- data/docs/PrimaryTransaction.md +7 -3
- data/docs/PrimaryTransactionAdditionalDetails.md +7 -5
- data/docs/ProcessorData.md +8 -4
- data/docs/PurchaseCards.md +9 -0
- data/docs/PurchaseCardsLevel2.md +12 -0
- data/docs/PurchaseCardsLevel3.md +8 -0
- data/docs/PurchaseCardsLevel3LineItems.md +16 -0
- data/docs/RecurringPaymentDetails.md +20 -0
- data/docs/RecurringPaymentDetailsResponse.md +19 -0
- data/docs/ReferencedOrder.md +9 -0
- data/docs/ResponseType.md +1 -1
- data/docs/ScoreOnlyRequest.md +21 -0
- data/docs/ScoreOnlyResponse.md +13 -0
- data/docs/ScoreOnlyResponseFraudScore.md +10 -0
- data/docs/ScoreOnlyResponseFraudScoreExplanations.md +10 -0
- data/docs/SecondaryTransaction.md +4 -1
- data/docs/SecondaryTransactionAdditionalDetails.md +8 -0
- data/docs/Secure3dResponse.md +8 -0
- data/docs/Sepa.md +1 -1
- data/docs/SepaMandate.md +3 -3
- data/docs/Shipping.md +1 -1
- data/docs/SoftDescriptor.md +9 -0
- data/docs/SplitShipment.md +3 -3
- data/docs/StoredCredential.md +4 -4
- data/docs/SubMerchantData.md +13 -0
- data/docs/Transaction.md +19 -0
- data/docs/TransactionErrorResponse.md +13 -11
- data/docs/TransactionOrigin.md +7 -0
- data/docs/TransactionResponse.md +13 -11
- data/docs/TransactionType.md +1 -1
- data/first_data_gateway.gemspec +9 -9
- data/git_push.sh +2 -2
- data/lib/openapi_client/.DS_Store +0 -0
- data/lib/{swagger_client → openapi_client}/api/authentication_api.rb +22 -27
- data/lib/openapi_client/api/card_info_lookup_api.rb +117 -0
- data/lib/openapi_client/api/card_verification_api.rb +117 -0
- data/lib/openapi_client/api/currency_conversion_api.rb +117 -0
- data/lib/openapi_client/api/fraud_detect_api.rb +122 -0
- data/lib/openapi_client/api/order_api.rb +327 -0
- data/lib/{swagger_client → openapi_client}/api/payment_api.rb +212 -111
- data/lib/openapi_client/api/payment_schedules_api.rb +411 -0
- data/lib/openapi_client/api/payment_token_api.rb +218 -0
- data/lib/openapi_client/api/payment_url_api.rb +117 -0
- data/lib/{swagger_client → openapi_client}/api_client.rb +50 -38
- data/lib/{swagger_client → openapi_client}/api_error.rb +6 -6
- data/lib/{swagger_client → openapi_client}/configuration.rb +49 -7
- data/lib/openapi_client/models/.DS_Store +0 -0
- data/lib/{swagger_client → openapi_client}/models/access_token_response.rb +20 -33
- data/lib/{swagger_client/models/secondary_transaction.rb → openapi_client/models/additional_amount_rate.rb} +25 -28
- data/lib/{swagger_client/models/primary_transaction_additional_details.rb → openapi_client/models/additional_transaction_details.rb} +68 -62
- data/lib/{swagger_client → openapi_client}/models/address.rb +33 -44
- data/lib/{swagger_client → openapi_client}/models/airline.rb +48 -47
- data/lib/{swagger_client → openapi_client}/models/airline_ancillary_service_category.rb +18 -21
- data/lib/{swagger_client → openapi_client}/models/airline_travel_route.rb +39 -42
- data/lib/openapi_client/models/ali_pay.rb +326 -0
- data/lib/{swagger_client → openapi_client}/models/amount.rb +18 -21
- data/lib/{swagger_client → openapi_client}/models/amount_components.rb +22 -19
- data/lib/{swagger_client/models/transaction_response_authentication_redirect.rb → openapi_client/models/authentication_request.rb} +33 -38
- data/lib/{swagger_client → openapi_client}/models/authentication_response_verification.rb +43 -30
- data/lib/{swagger_client/models/payment_url_request.rb → openapi_client/models/authentication_response_verification_request.rb} +35 -56
- data/lib/openapi_client/models/avs_response.rb +239 -0
- data/lib/openapi_client/models/basic_response.rb +209 -0
- data/lib/{swagger_client → openapi_client}/models/basket_item.rb +16 -20
- data/lib/{swagger_client → openapi_client}/models/billing.rb +65 -25
- data/lib/openapi_client/models/billing_address.rb +279 -0
- data/lib/{swagger_client/models/transaction_response_authentication_redirect_params.rb → openapi_client/models/billing_address_phone.rb} +31 -42
- data/lib/{swagger_client → openapi_client}/models/car_rental.rb +31 -31
- data/lib/{swagger_client → openapi_client}/models/car_rental_extra_charges.rb +18 -21
- data/lib/openapi_client/models/card.rb +254 -0
- data/lib/{swagger_client/models/payment_card.rb → openapi_client/models/card_info.rb} +68 -81
- data/lib/openapi_client/models/card_info_lookup_request.rb +214 -0
- data/lib/openapi_client/models/card_info_lookup_response.rb +265 -0
- data/lib/openapi_client/models/card_verification_request.rb +198 -0
- data/lib/{swagger_client → openapi_client}/models/card_verifications_transaction.rb +31 -20
- data/lib/openapi_client/models/china_domestic.rb +386 -0
- data/lib/{swagger_client → openapi_client}/models/client_locale.rb +19 -23
- data/lib/{swagger_client → openapi_client}/models/contact.rb +26 -31
- data/lib/openapi_client/models/customer.rb +333 -0
- data/lib/openapi_client/models/customer_address.rb +259 -0
- data/lib/openapi_client/models/customer_address_phone.rb +195 -0
- data/lib/openapi_client/models/dcc.rb +200 -0
- data/lib/openapi_client/models/device.rb +340 -0
- data/lib/openapi_client/models/device_networks.rb +353 -0
- data/lib/{swagger_client/models/payment_card_authentication_request.rb → openapi_client/models/document.rb} +62 -26
- data/lib/{swagger_client → openapi_client}/models/error.rb +14 -18
- data/lib/{swagger_client → openapi_client}/models/error_details.rb +14 -19
- data/lib/{swagger_client → openapi_client}/models/error_response.rb +22 -22
- data/lib/openapi_client/models/exchange_rate_request.rb +307 -0
- data/lib/openapi_client/models/exchange_rate_response.rb +319 -0
- data/lib/{swagger_client → openapi_client}/models/expiration.rb +18 -20
- data/lib/openapi_client/models/fraud_order.rb +206 -0
- data/lib/openapi_client/models/fraud_order_items.rb +253 -0
- data/lib/openapi_client/models/fraud_order_ship_to_address.rb +245 -0
- data/lib/{swagger_client → openapi_client}/models/frequency.rb +27 -30
- data/lib/{swagger_client → openapi_client}/models/industry_specific_extensions.rb +15 -19
- data/lib/{swagger_client → openapi_client}/models/installment_options.rb +22 -28
- data/lib/{swagger_client → openapi_client}/models/lodging.rb +19 -22
- data/lib/{swagger_client → openapi_client}/models/lodging_extra_charges.rb +17 -21
- data/lib/openapi_client/models/loyalty.rb +205 -0
- data/lib/openapi_client/models/merchant.rb +219 -0
- data/lib/openapi_client/models/merchant_location.rb +224 -0
- data/lib/openapi_client/models/merchant_location_merchant_address.rb +250 -0
- data/lib/{swagger_client/models/processor_data.rb → openapi_client/models/order.rb} +49 -47
- data/lib/openapi_client/models/order_error_response.rb +296 -0
- data/lib/openapi_client/models/order_response.rb +287 -0
- data/lib/{swagger_client → openapi_client}/models/pay_pal.rb +19 -23
- data/lib/openapi_client/models/payment.rb +346 -0
- data/lib/openapi_client/models/payment_card.rb +363 -0
- data/lib/{swagger_client → openapi_client}/models/payment_card_authentication_result.rb +32 -37
- data/lib/openapi_client/models/payment_facilitator.rb +292 -0
- data/lib/openapi_client/models/payment_issuer_response.rb +249 -0
- data/lib/openapi_client/models/payment_method.rb +278 -0
- data/lib/openapi_client/models/payment_pay_method.rb +278 -0
- data/lib/openapi_client/models/payment_schedules_error_response.rb +281 -0
- data/lib/{swagger_client → openapi_client}/models/payment_schedules_request.rb +83 -80
- data/lib/openapi_client/models/payment_schedules_response.rb +272 -0
- data/lib/openapi_client/models/payment_tokenization.rb +327 -0
- data/lib/openapi_client/models/payment_tokenization_error_response.rb +329 -0
- data/lib/{swagger_client/models/payment_method.rb → openapi_client/models/payment_tokenization_request.rb} +34 -37
- data/lib/openapi_client/models/payment_tokenization_response.rb +319 -0
- data/lib/openapi_client/models/payment_url_error_response.rb +292 -0
- data/lib/openapi_client/models/payment_url_request.rb +335 -0
- data/lib/{swagger_client → openapi_client}/models/payment_url_response.rb +35 -38
- data/lib/openapi_client/models/payment_verification3ds.rb +215 -0
- data/lib/openapi_client/models/payment_verification_avs.rb +215 -0
- data/lib/openapi_client/models/payment_verification_cvv.rb +215 -0
- data/lib/{swagger_client → openapi_client}/models/primary_transaction.rb +93 -31
- data/lib/openapi_client/models/primary_transaction_additional_details.rb +352 -0
- data/lib/openapi_client/models/processor_data.rb +272 -0
- data/lib/openapi_client/models/purchase_cards.rb +192 -0
- data/lib/openapi_client/models/purchase_cards_level2.rb +267 -0
- data/lib/openapi_client/models/purchase_cards_level3.rb +186 -0
- data/lib/openapi_client/models/purchase_cards_level3_line_items.rb +337 -0
- data/lib/openapi_client/models/recurring_payment_details.rb +399 -0
- data/lib/openapi_client/models/recurring_payment_details_response.rb +296 -0
- data/lib/{swagger_client/models/order.rb → openapi_client/models/referenced_order.rb} +23 -36
- data/lib/openapi_client/models/response_type.rb +37 -0
- data/lib/openapi_client/models/score_only_request.rb +389 -0
- data/lib/{swagger_client/models/payment_schedules_response.rb → openapi_client/models/score_only_response.rb} +56 -56
- data/lib/openapi_client/models/score_only_response_fraud_score.rb +208 -0
- data/lib/openapi_client/models/score_only_response_fraud_score_explanations.rb +201 -0
- data/lib/openapi_client/models/secondary_transaction.rb +220 -0
- data/lib/openapi_client/models/secondary_transaction_additional_details.rb +183 -0
- data/lib/openapi_client/models/secure3d_response.rb +184 -0
- data/lib/{swagger_client → openapi_client}/models/sepa.rb +30 -35
- data/lib/{swagger_client → openapi_client}/models/sepa_mandate.rb +32 -35
- data/lib/{swagger_client → openapi_client}/models/shipping.rb +17 -22
- data/lib/openapi_client/models/soft_descriptor.rb +215 -0
- data/lib/{swagger_client → openapi_client}/models/split_shipment.rb +17 -21
- data/lib/{swagger_client → openapi_client}/models/stored_credential.rb +28 -32
- data/lib/openapi_client/models/sub_merchant_data.rb +302 -0
- data/lib/openapi_client/models/transaction.rb +337 -0
- data/lib/{swagger_client → openapi_client}/models/transaction_error_response.rb +110 -80
- data/lib/openapi_client/models/transaction_origin.rb +32 -0
- data/lib/{swagger_client → openapi_client}/models/transaction_response.rb +112 -82
- data/lib/openapi_client/models/transaction_type.rb +36 -0
- data/lib/openapi_client/version.rb +15 -0
- data/lib/openapi_client.rb +158 -0
- data/lib/simple/client_context.rb +2 -2
- data/lib/simple/gateway.rb +274 -37
- data/spec/api/authentication_api_spec.rb +12 -12
- data/spec/api/card_info_lookup_api_spec.rb +53 -0
- data/spec/api/card_verification_api_spec.rb +53 -0
- data/spec/api/currency_conversion_api_spec.rb +53 -0
- data/spec/api/fraud_detect_api_spec.rb +53 -0
- data/spec/api/order_api_spec.rb +44 -23
- data/spec/api/payment_api_spec.rb +50 -26
- data/spec/api/payment_schedules_api_spec.rb +111 -0
- data/spec/api/payment_token_api_spec.rb +74 -0
- data/spec/api/payment_url_api_spec.rb +53 -0
- data/spec/api_client_spec.rb +66 -66
- data/spec/configuration_spec.rb +15 -15
- data/spec/models/access_token_response_spec.rb +16 -23
- data/spec/models/additional_amount_rate_spec.rb +47 -0
- data/spec/models/additional_transaction_details_spec.rb +53 -0
- data/spec/models/address_spec.rb +16 -17
- data/spec/models/airline_ancillary_service_category_spec.rb +14 -15
- data/spec/models/airline_spec.rb +27 -28
- data/spec/models/airline_travel_route_spec.rb +22 -23
- data/spec/models/ali_pay_spec.rb +63 -0
- data/spec/models/amount_components_spec.rb +16 -17
- data/spec/models/amount_spec.rb +12 -13
- data/spec/models/authentication_request_spec.rb +51 -0
- data/spec/models/authentication_response_verification_request_spec.rb +59 -0
- data/spec/models/authentication_response_verification_spec.rb +23 -18
- data/spec/models/avs_response_spec.rb +55 -0
- data/spec/models/basic_response_spec.rb +53 -0
- data/spec/models/basket_item_spec.rb +13 -14
- data/spec/models/billing_address_phone_spec.rb +47 -0
- data/spec/models/billing_address_spec.rb +95 -0
- data/spec/models/billing_spec.rb +25 -20
- data/spec/models/car_rental_extra_charges_spec.rb +14 -15
- data/spec/models/car_rental_spec.rb +17 -18
- data/spec/models/card_info_lookup_request_spec.rb +47 -0
- data/spec/models/card_info_lookup_response_spec.rb +69 -0
- data/spec/models/card_info_spec.rb +79 -0
- data/spec/models/card_spec.rb +83 -0
- data/spec/models/card_verification_request_spec.rb +47 -0
- data/spec/models/card_verifications_transaction_spec.rb +11 -12
- data/spec/models/china_domestic_spec.rb +83 -0
- data/spec/models/client_locale_spec.rb +11 -12
- data/spec/models/contact_spec.rb +13 -14
- data/spec/models/customer_address_phone_spec.rb +47 -0
- data/spec/models/customer_address_spec.rb +77 -0
- data/spec/models/customer_spec.rb +111 -0
- data/spec/models/dcc_spec.rb +47 -0
- data/spec/models/device_networks_spec.rb +123 -0
- data/spec/models/device_spec.rb +111 -0
- data/spec/models/document_spec.rb +51 -0
- data/spec/models/error_details_spec.rb +11 -12
- data/spec/models/error_response_spec.rb +13 -14
- data/spec/models/error_spec.rb +12 -13
- data/spec/models/exchange_rate_request_spec.rb +69 -0
- data/spec/models/exchange_rate_response_spec.rb +119 -0
- data/spec/models/expiration_spec.rb +11 -12
- data/spec/models/fraud_order_items_spec.rb +83 -0
- data/spec/models/fraud_order_ship_to_address_spec.rb +77 -0
- data/spec/models/fraud_order_spec.rb +53 -0
- data/spec/models/frequency_spec.rb +15 -16
- data/spec/models/industry_specific_extensions_spec.rb +12 -13
- data/spec/models/installment_options_spec.rb +12 -13
- data/spec/models/lodging_extra_charges_spec.rb +14 -15
- data/spec/models/lodging_spec.rb +14 -15
- data/spec/models/loyalty_spec.rb +53 -0
- data/spec/models/merchant_location_merchant_address_spec.rb +71 -0
- data/spec/models/merchant_location_spec.rb +65 -0
- data/spec/models/merchant_spec.rb +59 -0
- data/spec/models/order_error_response_spec.rb +107 -0
- data/spec/models/order_response_spec.rb +101 -0
- data/spec/models/order_spec.rb +12 -13
- data/spec/models/pay_pal_spec.rb +10 -11
- data/spec/models/payment_card_authentication_result_spec.rb +26 -27
- data/spec/models/payment_card_spec.rb +41 -22
- data/spec/models/payment_facilitator_spec.rb +65 -0
- data/spec/models/payment_issuer_response_spec.rb +57 -0
- data/spec/models/payment_method_spec.rb +35 -18
- data/spec/models/payment_pay_method_spec.rb +75 -0
- data/spec/models/payment_schedules_error_response_spec.rb +81 -0
- data/spec/models/payment_schedules_request_spec.rb +43 -30
- data/spec/models/payment_schedules_response_spec.rb +30 -19
- data/spec/models/payment_spec.rb +109 -0
- data/spec/models/payment_tokenization_error_response_spec.rb +111 -0
- data/spec/models/payment_tokenization_request_spec.rb +63 -0
- data/spec/models/payment_tokenization_response_spec.rb +105 -0
- data/spec/models/payment_tokenization_spec.rb +93 -0
- data/spec/models/payment_url_error_response_spec.rb +87 -0
- data/spec/models/payment_url_request_spec.rb +73 -14
- data/spec/models/payment_url_response_spec.rb +25 -20
- data/spec/models/payment_verification3ds_spec.rb +53 -0
- data/spec/models/payment_verification_avs_spec.rb +53 -0
- data/spec/models/payment_verification_cvv_spec.rb +53 -0
- data/spec/models/primary_transaction_additional_details_spec.rb +28 -17
- data/spec/models/primary_transaction_spec.rb +45 -22
- data/spec/models/processor_data_spec.rb +41 -14
- data/spec/models/purchase_cards_level2_spec.rb +65 -0
- data/spec/models/purchase_cards_level3_line_items_spec.rb +89 -0
- data/spec/models/purchase_cards_level3_spec.rb +41 -0
- data/spec/models/purchase_cards_spec.rb +47 -0
- data/spec/models/recurring_payment_details_response_spec.rb +107 -0
- data/spec/models/recurring_payment_details_spec.rb +117 -0
- data/spec/models/referenced_order_spec.rb +47 -0
- data/spec/models/response_type_spec.rb +9 -10
- data/spec/models/score_only_request_spec.rb +127 -0
- data/spec/models/score_only_response_fraud_score_explanations_spec.rb +53 -0
- data/spec/models/score_only_response_fraud_score_spec.rb +53 -0
- data/spec/models/score_only_response_spec.rb +75 -0
- data/spec/models/secondary_transaction_additional_details_spec.rb +41 -0
- data/spec/models/secondary_transaction_spec.rb +29 -12
- data/spec/models/secure3d_response_spec.rb +41 -0
- data/spec/models/sepa_mandate_spec.rb +17 -18
- data/spec/models/sepa_spec.rb +14 -15
- data/spec/models/shipping_spec.rb +12 -13
- data/spec/models/soft_descriptor_spec.rb +47 -0
- data/spec/models/split_shipment_spec.rb +11 -12
- data/spec/models/stored_credential_spec.rb +21 -22
- data/spec/models/sub_merchant_data_spec.rb +71 -0
- data/spec/models/transaction_error_response_spec.rb +62 -51
- data/spec/models/transaction_origin_spec.rb +35 -0
- data/spec/models/transaction_response_spec.rb +61 -50
- data/spec/models/transaction_spec.rb +115 -0
- data/spec/models/transaction_type_spec.rb +9 -10
- data/spec/spec_helper.rb +6 -6
- metadata +339 -69
- data/docs/PaymentCardAuthenticationRequest.md +0 -8
- data/docs/TransactionResponseAuthenticationRedirect.md +0 -10
- data/docs/TransactionResponseAuthenticationRedirectParams.md +0 -10
- data/lib/swagger_client/api/order_api.rb +0 -229
- data/lib/swagger_client/models/response_type.rb +0 -37
- data/lib/swagger_client/models/transaction_type.rb +0 -36
- data/lib/swagger_client/version.rb +0 -15
- data/lib/swagger_client.rb +0 -91
- data/spec/models/payment_card_authentication_request_spec.rb +0 -46
- data/spec/models/transaction_response_authentication_redirect_params_spec.rb +0 -54
- data/spec/models/transaction_response_authentication_redirect_spec.rb +0 -58
@@ -1,47 +1,60 @@
|
|
1
1
|
=begin
|
2
|
-
#Payment Gateway API Specification
|
2
|
+
#Payment Gateway API Specification.
|
3
3
|
|
4
|
-
#Payment Gateway API for payment processing.
|
4
|
+
#Payment Gateway API for payment processing. Version 6.4.0.20181018.001
|
5
5
|
|
6
|
-
OpenAPI spec version:
|
6
|
+
OpenAPI spec version: 6.4.0.20181018.001
|
7
7
|
|
8
|
-
Generated by: https://
|
9
|
-
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: unset
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
13
13
|
require 'date'
|
14
14
|
|
15
|
-
module
|
15
|
+
module OpenapiClient
|
16
16
|
# Additional data specific to the airline industry
|
17
17
|
class Airline
|
18
|
+
# The passenger name associated with the transaction
|
18
19
|
attr_accessor :passenger_name
|
19
20
|
|
21
|
+
# The airline ticket number associated with the transaction
|
20
22
|
attr_accessor :ticket_number
|
21
23
|
|
24
|
+
# The carrier that issued the ticket
|
22
25
|
attr_accessor :issuing_carrier
|
23
26
|
|
27
|
+
# The carrier associated with the transaction
|
24
28
|
attr_accessor :carrier_name
|
25
29
|
|
30
|
+
# The IATA code associated with the travel agency
|
26
31
|
attr_accessor :travel_agency_iata_code
|
27
32
|
|
33
|
+
# The business name of the travel agency
|
28
34
|
attr_accessor :travel_agency_name
|
29
35
|
|
36
|
+
# The airline plan number associated with the transaction
|
30
37
|
attr_accessor :airline_plan_number
|
31
38
|
|
39
|
+
# The invoice number used by the airline
|
32
40
|
attr_accessor :airline_invoice_number
|
33
41
|
|
42
|
+
# The reservation system used to create the ticket
|
34
43
|
attr_accessor :reservation_system
|
35
44
|
|
45
|
+
# Whether or not the transaction is associated with a restricted class fare
|
36
46
|
attr_accessor :restricted
|
37
47
|
|
48
|
+
# Array containing up to 4 items that describe the route associated with the transaction
|
38
49
|
attr_accessor :travel_route
|
39
50
|
|
51
|
+
# The number of any other tickets associated with the transaction ticket.
|
40
52
|
attr_accessor :related_ticket_number
|
41
53
|
|
42
54
|
# Identify the purchase of ancillary goods or services with a false value. If this element is not provided, the transaction is assumed to be a purchase of an airline ticket.
|
43
55
|
attr_accessor :ancillary_service_category
|
44
56
|
|
57
|
+
# Identifies if the transaction is a ticket purchase
|
45
58
|
attr_accessor :ticket_purchase
|
46
59
|
|
47
60
|
class EnumAttributeValidator
|
@@ -87,7 +100,7 @@ module SwaggerClient
|
|
87
100
|
end
|
88
101
|
|
89
102
|
# Attribute type mapping.
|
90
|
-
def self.
|
103
|
+
def self.openapi_types
|
91
104
|
{
|
92
105
|
:'passenger_name' => :'String',
|
93
106
|
:'ticket_number' => :'String',
|
@@ -112,7 +125,7 @@ module SwaggerClient
|
|
112
125
|
return unless attributes.is_a?(Hash)
|
113
126
|
|
114
127
|
# convert string to symbol for hash key
|
115
|
-
attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
|
128
|
+
attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
|
116
129
|
|
117
130
|
if attributes.has_key?(:'passengerName')
|
118
131
|
self.passenger_name = attributes[:'passengerName']
|
@@ -173,7 +186,6 @@ module SwaggerClient
|
|
173
186
|
if attributes.has_key?(:'ticketPurchase')
|
174
187
|
self.ticket_purchase = attributes[:'ticketPurchase']
|
175
188
|
end
|
176
|
-
|
177
189
|
end
|
178
190
|
|
179
191
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -181,42 +193,42 @@ module SwaggerClient
|
|
181
193
|
def list_invalid_properties
|
182
194
|
invalid_properties = Array.new
|
183
195
|
if !@passenger_name.nil? && @passenger_name.to_s.length > 30
|
184
|
-
invalid_properties.push(
|
196
|
+
invalid_properties.push('invalid value for "passenger_name", the character length must be smaller than or equal to 30.')
|
185
197
|
end
|
186
198
|
|
187
199
|
if !@ticket_number.nil? && @ticket_number.to_s.length > 20
|
188
|
-
invalid_properties.push(
|
200
|
+
invalid_properties.push('invalid value for "ticket_number", the character length must be smaller than or equal to 20.')
|
189
201
|
end
|
190
202
|
|
191
203
|
if !@issuing_carrier.nil? && @issuing_carrier.to_s.length > 20
|
192
|
-
invalid_properties.push(
|
204
|
+
invalid_properties.push('invalid value for "issuing_carrier", the character length must be smaller than or equal to 20.')
|
193
205
|
end
|
194
206
|
|
195
207
|
if !@carrier_name.nil? && @carrier_name.to_s.length > 20
|
196
|
-
invalid_properties.push(
|
208
|
+
invalid_properties.push('invalid value for "carrier_name", the character length must be smaller than or equal to 20.')
|
197
209
|
end
|
198
210
|
|
199
211
|
if !@travel_agency_iata_code.nil? && @travel_agency_iata_code.to_s.length > 20
|
200
|
-
invalid_properties.push(
|
212
|
+
invalid_properties.push('invalid value for "travel_agency_iata_code", the character length must be smaller than or equal to 20.')
|
201
213
|
end
|
202
214
|
|
203
215
|
if !@travel_agency_name.nil? && @travel_agency_name.to_s.length > 30
|
204
|
-
invalid_properties.push(
|
216
|
+
invalid_properties.push('invalid value for "travel_agency_name", the character length must be smaller than or equal to 30.')
|
205
217
|
end
|
206
218
|
|
207
219
|
if !@airline_plan_number.nil? && @airline_plan_number.to_s.length > 2
|
208
|
-
invalid_properties.push(
|
220
|
+
invalid_properties.push('invalid value for "airline_plan_number", the character length must be smaller than or equal to 2.')
|
209
221
|
end
|
210
222
|
|
211
223
|
if !@airline_invoice_number.nil? && @airline_invoice_number.to_s.length > 6
|
212
|
-
invalid_properties.push(
|
224
|
+
invalid_properties.push('invalid value for "airline_invoice_number", the character length must be smaller than or equal to 6.')
|
213
225
|
end
|
214
226
|
|
215
227
|
if !@related_ticket_number.nil? && @related_ticket_number.to_s.length > 20
|
216
|
-
invalid_properties.push(
|
228
|
+
invalid_properties.push('invalid value for "related_ticket_number", the character length must be smaller than or equal to 20.')
|
217
229
|
end
|
218
230
|
|
219
|
-
|
231
|
+
invalid_properties
|
220
232
|
end
|
221
233
|
|
222
234
|
# Check to see if the all the properties in the model are valid
|
@@ -230,18 +242,17 @@ module SwaggerClient
|
|
230
242
|
return false if !@travel_agency_name.nil? && @travel_agency_name.to_s.length > 30
|
231
243
|
return false if !@airline_plan_number.nil? && @airline_plan_number.to_s.length > 2
|
232
244
|
return false if !@airline_invoice_number.nil? && @airline_invoice_number.to_s.length > 6
|
233
|
-
reservation_system_validator = EnumAttributeValidator.new('String', [
|
245
|
+
reservation_system_validator = EnumAttributeValidator.new('String', ['START', 'TWA', 'DELTA', 'SABRE', 'COVIA_APOLLO', 'DR_BLANK', 'DER', 'TUI'])
|
234
246
|
return false unless reservation_system_validator.valid?(@reservation_system)
|
235
247
|
return false if !@related_ticket_number.nil? && @related_ticket_number.to_s.length > 20
|
236
|
-
|
248
|
+
true
|
237
249
|
end
|
238
250
|
|
239
251
|
# Custom attribute writer method with validation
|
240
252
|
# @param [Object] passenger_name Value to be assigned
|
241
253
|
def passenger_name=(passenger_name)
|
242
|
-
|
243
254
|
if !passenger_name.nil? && passenger_name.to_s.length > 30
|
244
|
-
fail ArgumentError,
|
255
|
+
fail ArgumentError, 'invalid value for "passenger_name", the character length must be smaller than or equal to 30.'
|
245
256
|
end
|
246
257
|
|
247
258
|
@passenger_name = passenger_name
|
@@ -250,9 +261,8 @@ module SwaggerClient
|
|
250
261
|
# Custom attribute writer method with validation
|
251
262
|
# @param [Object] ticket_number Value to be assigned
|
252
263
|
def ticket_number=(ticket_number)
|
253
|
-
|
254
264
|
if !ticket_number.nil? && ticket_number.to_s.length > 20
|
255
|
-
fail ArgumentError,
|
265
|
+
fail ArgumentError, 'invalid value for "ticket_number", the character length must be smaller than or equal to 20.'
|
256
266
|
end
|
257
267
|
|
258
268
|
@ticket_number = ticket_number
|
@@ -261,9 +271,8 @@ module SwaggerClient
|
|
261
271
|
# Custom attribute writer method with validation
|
262
272
|
# @param [Object] issuing_carrier Value to be assigned
|
263
273
|
def issuing_carrier=(issuing_carrier)
|
264
|
-
|
265
274
|
if !issuing_carrier.nil? && issuing_carrier.to_s.length > 20
|
266
|
-
fail ArgumentError,
|
275
|
+
fail ArgumentError, 'invalid value for "issuing_carrier", the character length must be smaller than or equal to 20.'
|
267
276
|
end
|
268
277
|
|
269
278
|
@issuing_carrier = issuing_carrier
|
@@ -272,9 +281,8 @@ module SwaggerClient
|
|
272
281
|
# Custom attribute writer method with validation
|
273
282
|
# @param [Object] carrier_name Value to be assigned
|
274
283
|
def carrier_name=(carrier_name)
|
275
|
-
|
276
284
|
if !carrier_name.nil? && carrier_name.to_s.length > 20
|
277
|
-
fail ArgumentError,
|
285
|
+
fail ArgumentError, 'invalid value for "carrier_name", the character length must be smaller than or equal to 20.'
|
278
286
|
end
|
279
287
|
|
280
288
|
@carrier_name = carrier_name
|
@@ -283,9 +291,8 @@ module SwaggerClient
|
|
283
291
|
# Custom attribute writer method with validation
|
284
292
|
# @param [Object] travel_agency_iata_code Value to be assigned
|
285
293
|
def travel_agency_iata_code=(travel_agency_iata_code)
|
286
|
-
|
287
294
|
if !travel_agency_iata_code.nil? && travel_agency_iata_code.to_s.length > 20
|
288
|
-
fail ArgumentError,
|
295
|
+
fail ArgumentError, 'invalid value for "travel_agency_iata_code", the character length must be smaller than or equal to 20.'
|
289
296
|
end
|
290
297
|
|
291
298
|
@travel_agency_iata_code = travel_agency_iata_code
|
@@ -294,9 +301,8 @@ module SwaggerClient
|
|
294
301
|
# Custom attribute writer method with validation
|
295
302
|
# @param [Object] travel_agency_name Value to be assigned
|
296
303
|
def travel_agency_name=(travel_agency_name)
|
297
|
-
|
298
304
|
if !travel_agency_name.nil? && travel_agency_name.to_s.length > 30
|
299
|
-
fail ArgumentError,
|
305
|
+
fail ArgumentError, 'invalid value for "travel_agency_name", the character length must be smaller than or equal to 30.'
|
300
306
|
end
|
301
307
|
|
302
308
|
@travel_agency_name = travel_agency_name
|
@@ -305,9 +311,8 @@ module SwaggerClient
|
|
305
311
|
# Custom attribute writer method with validation
|
306
312
|
# @param [Object] airline_plan_number Value to be assigned
|
307
313
|
def airline_plan_number=(airline_plan_number)
|
308
|
-
|
309
314
|
if !airline_plan_number.nil? && airline_plan_number.to_s.length > 2
|
310
|
-
fail ArgumentError,
|
315
|
+
fail ArgumentError, 'invalid value for "airline_plan_number", the character length must be smaller than or equal to 2.'
|
311
316
|
end
|
312
317
|
|
313
318
|
@airline_plan_number = airline_plan_number
|
@@ -316,9 +321,8 @@ module SwaggerClient
|
|
316
321
|
# Custom attribute writer method with validation
|
317
322
|
# @param [Object] airline_invoice_number Value to be assigned
|
318
323
|
def airline_invoice_number=(airline_invoice_number)
|
319
|
-
|
320
324
|
if !airline_invoice_number.nil? && airline_invoice_number.to_s.length > 6
|
321
|
-
fail ArgumentError,
|
325
|
+
fail ArgumentError, 'invalid value for "airline_invoice_number", the character length must be smaller than or equal to 6.'
|
322
326
|
end
|
323
327
|
|
324
328
|
@airline_invoice_number = airline_invoice_number
|
@@ -327,9 +331,9 @@ module SwaggerClient
|
|
327
331
|
# Custom attribute writer method checking allowed values (enum).
|
328
332
|
# @param [Object] reservation_system Object to be assigned
|
329
333
|
def reservation_system=(reservation_system)
|
330
|
-
validator = EnumAttributeValidator.new('String', [
|
334
|
+
validator = EnumAttributeValidator.new('String', ['START', 'TWA', 'DELTA', 'SABRE', 'COVIA_APOLLO', 'DR_BLANK', 'DER', 'TUI'])
|
331
335
|
unless validator.valid?(reservation_system)
|
332
|
-
fail ArgumentError,
|
336
|
+
fail ArgumentError, 'invalid value for "reservation_system", must be one of #{validator.allowable_values}.'
|
333
337
|
end
|
334
338
|
@reservation_system = reservation_system
|
335
339
|
end
|
@@ -337,9 +341,8 @@ module SwaggerClient
|
|
337
341
|
# Custom attribute writer method with validation
|
338
342
|
# @param [Object] related_ticket_number Value to be assigned
|
339
343
|
def related_ticket_number=(related_ticket_number)
|
340
|
-
|
341
344
|
if !related_ticket_number.nil? && related_ticket_number.to_s.length > 20
|
342
|
-
fail ArgumentError,
|
345
|
+
fail ArgumentError, 'invalid value for "related_ticket_number", the character length must be smaller than or equal to 20.'
|
343
346
|
end
|
344
347
|
|
345
348
|
@related_ticket_number = related_ticket_number
|
@@ -383,12 +386,12 @@ module SwaggerClient
|
|
383
386
|
# @return [Object] Returns the model itself
|
384
387
|
def build_from_hash(attributes)
|
385
388
|
return nil unless attributes.is_a?(Hash)
|
386
|
-
self.class.
|
389
|
+
self.class.openapi_types.each_pair do |key, type|
|
387
390
|
if type =~ /\AArray<(.*)>/i
|
388
391
|
# check to ensure the input is an array given that the the attribute
|
389
392
|
# is documented as an array but the input is not
|
390
393
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
391
|
-
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) }
|
394
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
392
395
|
end
|
393
396
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
394
397
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
@@ -435,7 +438,7 @@ module SwaggerClient
|
|
435
438
|
end
|
436
439
|
end
|
437
440
|
else # model
|
438
|
-
temp_model =
|
441
|
+
temp_model = OpenapiClient.const_get(type).new
|
439
442
|
temp_model.build_from_hash(value)
|
440
443
|
end
|
441
444
|
end
|
@@ -470,7 +473,7 @@ module SwaggerClient
|
|
470
473
|
# @return [Hash] Returns the value in the form of hash
|
471
474
|
def _to_hash(value)
|
472
475
|
if value.is_a?(Array)
|
473
|
-
value.compact.map{ |v| _to_hash(v) }
|
476
|
+
value.compact.map { |v| _to_hash(v) }
|
474
477
|
elsif value.is_a?(Hash)
|
475
478
|
{}.tap do |hash|
|
476
479
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
@@ -481,7 +484,5 @@ module SwaggerClient
|
|
481
484
|
value
|
482
485
|
end
|
483
486
|
end
|
484
|
-
|
485
487
|
end
|
486
|
-
|
487
488
|
end
|
@@ -1,20 +1,20 @@
|
|
1
1
|
=begin
|
2
|
-
#Payment Gateway API Specification
|
2
|
+
#Payment Gateway API Specification.
|
3
3
|
|
4
|
-
#Payment Gateway API for payment processing.
|
4
|
+
#Payment Gateway API for payment processing. Version 6.4.0.20181018.001
|
5
5
|
|
6
|
-
OpenAPI spec version:
|
6
|
+
OpenAPI spec version: 6.4.0.20181018.001
|
7
7
|
|
8
|
-
Generated by: https://
|
9
|
-
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: unset
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
13
13
|
require 'date'
|
14
14
|
|
15
|
-
module
|
16
|
-
|
15
|
+
module OpenapiClient
|
17
16
|
class AirlineAncillaryServiceCategory
|
17
|
+
# Identifies the service purchased in the transaction if not a base ticket
|
18
18
|
attr_accessor :service_category
|
19
19
|
|
20
20
|
class EnumAttributeValidator
|
@@ -47,7 +47,7 @@ module SwaggerClient
|
|
47
47
|
end
|
48
48
|
|
49
49
|
# Attribute type mapping.
|
50
|
-
def self.
|
50
|
+
def self.openapi_types
|
51
51
|
{
|
52
52
|
:'service_category' => :'String'
|
53
53
|
}
|
@@ -59,35 +59,34 @@ module SwaggerClient
|
|
59
59
|
return unless attributes.is_a?(Hash)
|
60
60
|
|
61
61
|
# convert string to symbol for hash key
|
62
|
-
attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
|
62
|
+
attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
|
63
63
|
|
64
64
|
if attributes.has_key?(:'serviceCategory')
|
65
65
|
self.service_category = attributes[:'serviceCategory']
|
66
66
|
end
|
67
|
-
|
68
67
|
end
|
69
68
|
|
70
69
|
# Show invalid properties with the reasons. Usually used together with valid?
|
71
70
|
# @return Array for valid properties with the reasons
|
72
71
|
def list_invalid_properties
|
73
72
|
invalid_properties = Array.new
|
74
|
-
|
73
|
+
invalid_properties
|
75
74
|
end
|
76
75
|
|
77
76
|
# Check to see if the all the properties in the model are valid
|
78
77
|
# @return true if the model is valid
|
79
78
|
def valid?
|
80
|
-
service_category_validator = EnumAttributeValidator.new('String', [
|
79
|
+
service_category_validator = EnumAttributeValidator.new('String', ['BUNDLED_SERVICE', 'BAGGAGE_FEE', 'CHANGE_FEE', 'CARGO', 'CARBON_OFFSET', 'FREQUENT_FLYER', 'GIFT_CARD', 'GROUND_TRANSPORT', 'IN_FLIGHT_ENTERTAINMENT', 'LOUNGE', 'MEDICAL', 'MEAL_BEVERAGE', 'OTHER', 'PASSENGER_ASSIST_FEE', 'PETS', 'SEAT_FEES', 'STANDBY', 'SERVICE_FEE', 'STORE', 'TRAVEL_SERVICE', 'UNACCOMPANIED_TRAVEL', 'UPGRADES', 'WI_FI'])
|
81
80
|
return false unless service_category_validator.valid?(@service_category)
|
82
|
-
|
81
|
+
true
|
83
82
|
end
|
84
83
|
|
85
84
|
# Custom attribute writer method checking allowed values (enum).
|
86
85
|
# @param [Object] service_category Object to be assigned
|
87
86
|
def service_category=(service_category)
|
88
|
-
validator = EnumAttributeValidator.new('String', [
|
87
|
+
validator = EnumAttributeValidator.new('String', ['BUNDLED_SERVICE', 'BAGGAGE_FEE', 'CHANGE_FEE', 'CARGO', 'CARBON_OFFSET', 'FREQUENT_FLYER', 'GIFT_CARD', 'GROUND_TRANSPORT', 'IN_FLIGHT_ENTERTAINMENT', 'LOUNGE', 'MEDICAL', 'MEAL_BEVERAGE', 'OTHER', 'PASSENGER_ASSIST_FEE', 'PETS', 'SEAT_FEES', 'STANDBY', 'SERVICE_FEE', 'STORE', 'TRAVEL_SERVICE', 'UNACCOMPANIED_TRAVEL', 'UPGRADES', 'WI_FI'])
|
89
88
|
unless validator.valid?(service_category)
|
90
|
-
fail ArgumentError,
|
89
|
+
fail ArgumentError, 'invalid value for "service_category", must be one of #{validator.allowable_values}.'
|
91
90
|
end
|
92
91
|
@service_category = service_category
|
93
92
|
end
|
@@ -117,12 +116,12 @@ module SwaggerClient
|
|
117
116
|
# @return [Object] Returns the model itself
|
118
117
|
def build_from_hash(attributes)
|
119
118
|
return nil unless attributes.is_a?(Hash)
|
120
|
-
self.class.
|
119
|
+
self.class.openapi_types.each_pair do |key, type|
|
121
120
|
if type =~ /\AArray<(.*)>/i
|
122
121
|
# check to ensure the input is an array given that the the attribute
|
123
122
|
# is documented as an array but the input is not
|
124
123
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
125
|
-
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) }
|
124
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
126
125
|
end
|
127
126
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
128
127
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
@@ -169,7 +168,7 @@ module SwaggerClient
|
|
169
168
|
end
|
170
169
|
end
|
171
170
|
else # model
|
172
|
-
temp_model =
|
171
|
+
temp_model = OpenapiClient.const_get(type).new
|
173
172
|
temp_model.build_from_hash(value)
|
174
173
|
end
|
175
174
|
end
|
@@ -204,7 +203,7 @@ module SwaggerClient
|
|
204
203
|
# @return [Hash] Returns the value in the form of hash
|
205
204
|
def _to_hash(value)
|
206
205
|
if value.is_a?(Array)
|
207
|
-
value.compact.map{ |v| _to_hash(v) }
|
206
|
+
value.compact.map { |v| _to_hash(v) }
|
208
207
|
elsif value.is_a?(Hash)
|
209
208
|
{}.tap do |hash|
|
210
209
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
@@ -215,7 +214,5 @@ module SwaggerClient
|
|
215
214
|
value
|
216
215
|
end
|
217
216
|
end
|
218
|
-
|
219
217
|
end
|
220
|
-
|
221
218
|
end
|