connect-sdk-ruby 1.36.0 → 2.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 +4 -4
- data/connect-sdk-ruby.gemspec +1 -1
- data/examples/merchant/captures/get_capture_example.rb +1 -1
- data/examples/merchant/disputes/cancel_dispute_example.rb +1 -1
- data/examples/merchant/disputes/get_dispute_example.rb +1 -1
- data/examples/merchant/disputes/submit_dispute_example.rb +1 -1
- data/examples/merchant/disputes/upload_dispute_file_example.rb +30 -0
- data/examples/merchant/{products/get_payment_product_public_key_example.rb → files/get_file_example.rb} +7 -1
- data/examples/merchant/hostedcheckouts/create_hosted_checkout_example.rb +1 -1
- data/examples/merchant/hostedcheckouts/get_hosted_checkout_example.rb +1 -1
- data/examples/merchant/hostedmandatemanagements/create_hosted_mandate_management_example.rb +1 -1
- data/examples/merchant/hostedmandatemanagements/get_hosted_mandate_management_example.rb +1 -1
- data/examples/merchant/mandates/block_mandate_example.rb +1 -1
- data/examples/merchant/mandates/create_mandate_example.rb +1 -1
- data/examples/merchant/mandates/create_mandate_with_reference_example.rb +1 -1
- data/examples/merchant/mandates/get_mandate_example.rb +1 -1
- data/examples/merchant/mandates/revoke_mandate_example.rb +1 -1
- data/examples/merchant/mandates/unblock_mandate_example.rb +1 -1
- data/examples/merchant/payments/approve_payment_example.rb +1 -1
- data/examples/merchant/payments/cancel_approval_payment_example.rb +1 -1
- data/examples/merchant/payments/cancel_payment_example.rb +1 -1
- data/examples/merchant/payments/capture_payment_example.rb +1 -1
- data/examples/merchant/payments/complete_payment_example.rb +1 -1
- data/examples/merchant/payments/create_payment_dispute_example.rb +1 -1
- data/examples/merchant/payments/create_payment_example.rb +3 -3
- data/examples/merchant/payments/find_payments_example.rb +1 -1
- data/examples/merchant/payments/get_payment_captures_example.rb +1 -1
- data/examples/merchant/payments/get_payment_disputes_example.rb +1 -1
- data/examples/merchant/payments/get_payment_example.rb +1 -1
- data/examples/merchant/payments/get_refunds_example.rb +1 -1
- data/examples/merchant/payments/get_third_party_status_example.rb +1 -1
- data/examples/merchant/payments/process_challenged_payment_example.rb +1 -1
- data/examples/merchant/payments/refund_payment_example.rb +2 -2
- data/examples/merchant/payments/tokenize_payment_example.rb +1 -1
- data/examples/merchant/payouts/approve_payout_example.rb +1 -1
- data/examples/merchant/payouts/cancel_approval_payout_example.rb +1 -1
- data/examples/merchant/payouts/cancel_payout_example.rb +1 -1
- data/examples/merchant/payouts/create_payout_example.rb +2 -2
- data/examples/merchant/payouts/find_payouts_example.rb +1 -1
- data/examples/merchant/payouts/get_payout_example.rb +1 -1
- data/examples/merchant/productgroups/get_device_fingerprint_for_groups_example.rb +1 -1
- data/examples/merchant/productgroups/get_payment_product_group_example.rb +1 -1
- data/examples/merchant/productgroups/get_payment_product_groups_example.rb +1 -1
- data/examples/merchant/products/get_customer_details_example.rb +1 -1
- data/examples/merchant/products/get_device_fingerprint_example.rb +1 -1
- data/examples/merchant/products/get_directory_example.rb +1 -1
- data/examples/merchant/products/get_networks_example.rb +1 -1
- data/examples/merchant/products/get_payment_product_example.rb +1 -1
- data/examples/merchant/products/get_payment_products_example.rb +1 -1
- data/examples/merchant/refunds/approve_refund_example.rb +1 -1
- data/examples/merchant/refunds/cancel_approval_refund_example.rb +1 -1
- data/examples/merchant/refunds/cancel_refund_example.rb +1 -1
- data/examples/merchant/refunds/find_refunds_example.rb +1 -1
- data/examples/merchant/refunds/get_refund_example.rb +1 -1
- data/examples/merchant/riskassessments/risk_assessment_bank_account_example.rb +1 -1
- data/examples/merchant/riskassessments/risk_assessment_cards_example.rb +1 -1
- data/examples/merchant/services/convert_amount_example.rb +1 -1
- data/examples/merchant/services/convert_bank_account_example.rb +1 -1
- data/examples/merchant/services/get_privacy_policy_example.rb +1 -1
- data/examples/merchant/services/iin_details_example.rb +1 -1
- data/examples/merchant/services/test_connection_example.rb +1 -1
- data/examples/merchant/sessions/create_session_example.rb +1 -1
- data/examples/merchant/tokens/approve_sepa_direct_debit_token_example.rb +1 -1
- data/examples/merchant/tokens/create_token_example.rb +1 -1
- data/examples/merchant/tokens/delete_token_example.rb +1 -1
- data/examples/merchant/tokens/get_token_example.rb +1 -1
- data/examples/merchant/tokens/update_token_example.rb +1 -1
- data/lib/ingenico/connect/sdk.rb +3 -1
- data/lib/ingenico/connect/sdk/api_exception.rb +12 -14
- data/lib/ingenico/connect/sdk/api_resource.rb +14 -13
- data/lib/ingenico/connect/sdk/authenticator.rb +5 -4
- data/lib/ingenico/connect/sdk/call_context.rb +6 -6
- data/lib/ingenico/connect/sdk/client.rb +12 -11
- data/lib/ingenico/connect/sdk/communication_exception.rb +2 -1
- data/lib/ingenico/connect/sdk/communicator.rb +331 -128
- data/lib/ingenico/connect/sdk/communicator_configuration.rb +21 -39
- data/lib/ingenico/connect/sdk/connection.rb +16 -6
- data/lib/ingenico/connect/sdk/data_object.rb +2 -13
- data/lib/ingenico/connect/sdk/declined_payment_exception.rb +1 -1
- data/lib/ingenico/connect/sdk/declined_payout_exception.rb +1 -1
- data/lib/ingenico/connect/sdk/declined_refund_exception.rb +1 -1
- data/lib/ingenico/connect/sdk/defaultimpl/authorization_type.rb +2 -1
- data/lib/ingenico/connect/sdk/defaultimpl/default_authenticator.rb +9 -7
- data/lib/ingenico/connect/sdk/defaultimpl/default_connection.rb +212 -68
- data/lib/ingenico/connect/sdk/defaultimpl/default_marshaller.rb +2 -2
- data/lib/ingenico/connect/sdk/domain/capture/capture.rb +12 -15
- data/lib/ingenico/connect/sdk/domain/capture/capture_output.rb +43 -60
- data/lib/ingenico/connect/sdk/domain/capture/capture_status_output.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/capture/captures_response.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/definitions/abstract_order_status.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/definitions/abstract_payment_method_specific_input.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/definitions/additional_order_input_airline_data.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/definitions/address.rb +25 -24
- data/lib/ingenico/connect/sdk/domain/definitions/airline_data.rb +76 -79
- data/lib/ingenico/connect/sdk/domain/definitions/airline_flight_leg.rb +62 -61
- data/lib/ingenico/connect/sdk/domain/definitions/airline_passenger.rb +13 -12
- data/lib/ingenico/connect/sdk/domain/definitions/amount_of_money.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/definitions/bank_account.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/definitions/bank_account_bban.rb +19 -18
- data/lib/ingenico/connect/sdk/domain/definitions/bank_account_iban.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/definitions/card.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/definitions/card_essentials.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/definitions/card_fraud_results.rb +15 -18
- data/lib/ingenico/connect/sdk/domain/definitions/card_without_cvv.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/definitions/company_information.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/definitions/contact_details_base.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/definitions/customer_base.rb +12 -13
- data/lib/ingenico/connect/sdk/domain/definitions/fraud_fields.rb +70 -75
- data/lib/ingenico/connect/sdk/domain/definitions/fraud_fields_shipping_details.rb +14 -13
- data/lib/ingenico/connect/sdk/domain/definitions/fraud_results.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/definitions/fraud_results_retail_decisions.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/definitions/fraugster_results.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/definitions/key_value_pair.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/definitions/order_status_output.rb +17 -18
- data/lib/ingenico/connect/sdk/domain/definitions/payment_product_filter.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/definitions/personal_name_base.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/definitions/redirect_data_base.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/definitions/result_do_risk_assessment.rb +15 -18
- data/lib/ingenico/connect/sdk/domain/definitions/retail_decisions_cc_fraud_check_output.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/definitions/validation_bank_account_check.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/definitions/validation_bank_account_output.rb +17 -18
- data/lib/ingenico/connect/sdk/domain/dispute/create_dispute_request.rb +17 -18
- data/lib/ingenico/connect/sdk/domain/dispute/dispute.rb +18 -21
- data/lib/ingenico/connect/sdk/domain/dispute/dispute_creation_detail.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/dispute/dispute_output.rb +32 -39
- data/lib/ingenico/connect/sdk/domain/dispute/dispute_reference.rb +16 -15
- data/lib/ingenico/connect/sdk/domain/dispute/dispute_status_output.rb +13 -12
- data/lib/ingenico/connect/sdk/domain/dispute/disputes_response.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/dispute/upload_dispute_file_response.rb +39 -0
- data/lib/ingenico/connect/sdk/domain/errors/api_error.rb +22 -21
- data/lib/ingenico/connect/sdk/domain/errors/error_response.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/file/hosted_file.rb +13 -12
- data/lib/ingenico/connect/sdk/domain/hostedcheckout/create_hosted_checkout_request.rb +45 -66
- data/lib/ingenico/connect/sdk/domain/hostedcheckout/create_hosted_checkout_response.rb +17 -18
- data/lib/ingenico/connect/sdk/domain/hostedcheckout/created_payment_output.rb +23 -28
- data/lib/ingenico/connect/sdk/domain/hostedcheckout/displayed_data.rb +11 -12
- data/lib/ingenico/connect/sdk/domain/hostedcheckout/get_hosted_checkout_response.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/hostedcheckout/hosted_checkout_specific_input.rb +29 -30
- data/lib/ingenico/connect/sdk/domain/hostedcheckout/mobile_payment_method_specific_input_hosted_checkout.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/hostedcheckout/mobile_payment_product320_specific_input_hosted_checkout.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/hostedcheckout/payment_product_filters_hosted_checkout.rb +12 -15
- data/lib/ingenico/connect/sdk/domain/hostedmandatemanagement/create_hosted_mandate_management_request.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/hostedmandatemanagement/create_hosted_mandate_management_response.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/hostedmandatemanagement/get_hosted_mandate_management_response.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/hostedmandatemanagement/hosted_mandate_info.rb +20 -21
- data/lib/ingenico/connect/sdk/domain/hostedmandatemanagement/hosted_mandate_management_specific_input.rb +13 -12
- data/lib/ingenico/connect/sdk/domain/mandates/create_mandate_base.rb +23 -24
- data/lib/ingenico/connect/sdk/domain/mandates/create_mandate_response.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/mandates/create_mandate_with_return_url.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/mandates/get_mandate_response.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/mandates/mandate_address.rb +16 -15
- data/lib/ingenico/connect/sdk/domain/mandates/mandate_contact_details.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/mandates/mandate_customer.rb +20 -27
- data/lib/ingenico/connect/sdk/domain/mandates/mandate_merchant_action.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/mandates/mandate_personal_information.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/mandates/mandate_personal_name.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/mandates/mandate_response.rb +20 -21
- data/lib/ingenico/connect/sdk/domain/metadata/shopping_cart_extension.rb +8 -8
- data/lib/ingenico/connect/sdk/domain/payment/abstract_bank_transfer_payment_method_specific_input.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/abstract_card_payment_method_specific_input.rb +44 -45
- data/lib/ingenico/connect/sdk/domain/payment/abstract_e_invoice_payment_method_specific_input.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/abstract_payment_method_specific_output.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/abstract_redirect_payment_method_specific_input.rb +16 -15
- data/lib/ingenico/connect/sdk/domain/payment/abstract_redirect_payment_product840_specific_input.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/abstract_sepa_direct_debit_payment_product771_specific_input.rb +5 -4
- data/lib/ingenico/connect/sdk/domain/payment/abstract_three_d_secure.rb +21 -24
- data/lib/ingenico/connect/sdk/domain/payment/additional_order_input.rb +20 -25
- data/lib/ingenico/connect/sdk/domain/payment/address_personal.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/payment/amount_breakdown.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/payment/approve_payment_card_payment_method_specific_output.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/approve_payment_mobile_payment_method_specific_output.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/approve_payment_payment_method_specific_input.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/payment/approve_payment_request.rb +16 -21
- data/lib/ingenico/connect/sdk/domain/payment/browser_data.rb +22 -21
- data/lib/ingenico/connect/sdk/domain/payment/cancel_approval_payment_response.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/payment/cancel_payment_card_payment_method_specific_output.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/cancel_payment_mobile_payment_method_specific_output.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/cancel_payment_response.rb +13 -18
- data/lib/ingenico/connect/sdk/domain/payment/capture_payment_request.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/payment/card_payment_method_specific_input.rb +21 -26
- data/lib/ingenico/connect/sdk/domain/payment/card_payment_method_specific_input_base.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/payment/card_payment_method_specific_output.rb +19 -24
- data/lib/ingenico/connect/sdk/domain/payment/card_recurrence_details.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_method_specific_input.rb +30 -43
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1503_specific_input.rb +6 -5
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1504_specific_input.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1521_specific_input.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1522_specific_input.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1523_specific_input.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1524_specific_input.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1526_specific_input.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/complete_payment_card_payment_method_specific_input.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/payment/complete_payment_request.rb +13 -18
- data/lib/ingenico/connect/sdk/domain/payment/contact_details.rb +13 -12
- data/lib/ingenico/connect/sdk/domain/payment/create_payment_request.rb +52 -75
- data/lib/ingenico/connect/sdk/domain/payment/create_payment_result.rb +13 -18
- data/lib/ingenico/connect/sdk/domain/payment/customer.rb +38 -49
- data/lib/ingenico/connect/sdk/domain/payment/customer_account.rb +40 -45
- data/lib/ingenico/connect/sdk/domain/payment/customer_account_authentication.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/payment/customer_approve_payment.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/customer_device.rb +26 -27
- data/lib/ingenico/connect/sdk/domain/payment/customer_payment_activity.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/payment/decrypted_payment_data.rb +22 -21
- data/lib/ingenico/connect/sdk/domain/payment/device_render_options.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/payment/e_invoice_payment_method_specific_input.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/payment/e_invoice_payment_method_specific_output.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/payment/e_invoice_payment_product9000_specific_input.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/payment/e_invoice_payment_product9000_specific_output.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/external_cardholder_authentication_data.rb +25 -24
- data/lib/ingenico/connect/sdk/domain/payment/find_payments_response.rb +14 -15
- data/lib/ingenico/connect/sdk/domain/payment/gift_card_purchase.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/payment/hosted_checkout_specific_output.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/payment/invoice_payment_method_specific_input.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/level3_summary_data.rb +14 -13
- data/lib/ingenico/connect/sdk/domain/payment/line_item.rb +18 -25
- data/lib/ingenico/connect/sdk/domain/payment/line_item_invoice_data.rb +16 -15
- data/lib/ingenico/connect/sdk/domain/payment/line_item_level3_interchange_information.rb +25 -24
- data/lib/ingenico/connect/sdk/domain/payment/merchant.rb +11 -12
- data/lib/ingenico/connect/sdk/domain/payment/merchant_action.rb +27 -36
- data/lib/ingenico/connect/sdk/domain/payment/mobile_payment_data.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/payment/mobile_payment_method_specific_input.rb +17 -18
- data/lib/ingenico/connect/sdk/domain/payment/mobile_payment_method_specific_output.rb +19 -24
- data/lib/ingenico/connect/sdk/domain/payment/mobile_three_d_secure_challenge_parameters.rb +13 -12
- data/lib/ingenico/connect/sdk/domain/payment/non_sepa_direct_debit_payment_method_specific_input.rb +27 -30
- data/lib/ingenico/connect/sdk/domain/payment/non_sepa_direct_debit_payment_method_specific_output.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/payment/non_sepa_direct_debit_payment_product705_specific_input.rb +11 -12
- data/lib/ingenico/connect/sdk/domain/payment/non_sepa_direct_debit_payment_product730_specific_input.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/payment/order.rb +35 -50
- data/lib/ingenico/connect/sdk/domain/payment/order_approve_payment.rb +13 -18
- data/lib/ingenico/connect/sdk/domain/payment/order_invoice_data.rb +14 -15
- data/lib/ingenico/connect/sdk/domain/payment/order_line_details.rb +34 -33
- data/lib/ingenico/connect/sdk/domain/payment/order_output.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/payment/order_references.rb +14 -15
- data/lib/ingenico/connect/sdk/domain/payment/order_references_approve_payment.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/order_type_information.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/payment/payment.rb +16 -21
- data/lib/ingenico/connect/sdk/domain/payment/payment_account_on_file.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/payment/payment_approval_response.rb +18 -25
- data/lib/ingenico/connect/sdk/domain/payment/payment_creation_output.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/payment/payment_creation_references.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/payment/payment_error_response.rb +12 -15
- data/lib/ingenico/connect/sdk/domain/payment/payment_output.rb +43 -60
- data/lib/ingenico/connect/sdk/domain/payment/payment_product3201_specific_output.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/payment/payment_product771_specific_output.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/payment_product836_specific_output.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/payment_product840_customer_account.rb +31 -30
- data/lib/ingenico/connect/sdk/domain/payment/payment_product840_specific_output.rb +13 -18
- data/lib/ingenico/connect/sdk/domain/payment/payment_product863_third_party_data.rb +22 -21
- data/lib/ingenico/connect/sdk/domain/payment/payment_references.rb +19 -18
- data/lib/ingenico/connect/sdk/domain/payment/payment_status_output.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/payment/personal_information.rb +11 -12
- data/lib/ingenico/connect/sdk/domain/payment/personal_name.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/protection_eligibility.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_input.rb +36 -49
- data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_input_base.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_output.rb +24 -33
- data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product809_specific_input.rb +8 -7
- data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product816_specific_input.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product840_specific_input.rb +8 -7
- data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product861_specific_input.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product863_specific_input.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product882_specific_input.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/redirection_data.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/payment/refund_e_wallet_method_specific_output.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/payment/refund_method_specific_output.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/payment/refund_mobile_method_specific_output.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/refund_output.rb +27 -36
- data/lib/ingenico/connect/sdk/domain/payment/refund_payment_product840_customer_account.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/payment/refund_payment_product840_specific_output.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/payment/sdk_data_input.rb +26 -27
- data/lib/ingenico/connect/sdk/domain/payment/sdk_data_output.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/seller.rb +29 -30
- data/lib/ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_method_specific_input.rb +23 -24
- data/lib/ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_method_specific_input_base.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_method_specific_output.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_product771_specific_input.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_product771_specific_input_base.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/payment/shipping.rb +26 -27
- data/lib/ingenico/connect/sdk/domain/payment/shopping_cart.rb +22 -27
- data/lib/ingenico/connect/sdk/domain/payment/third_party_data.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/payment/third_party_status_response.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payment/three_d_secure.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/payment/three_d_secure_data.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/payment/three_d_secure_results.rb +27 -30
- data/lib/ingenico/connect/sdk/domain/payment/tokenize_payment_request.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payout/approve_payout_request.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/payout/bank_transfer_payout_method_specific_input.rb +22 -27
- data/lib/ingenico/connect/sdk/domain/payout/card_payout_method_specific_input.rb +11 -12
- data/lib/ingenico/connect/sdk/domain/payout/create_payout_request.rb +44 -57
- data/lib/ingenico/connect/sdk/domain/payout/find_payouts_response.rb +14 -15
- data/lib/ingenico/connect/sdk/domain/payout/payout_customer.rb +20 -27
- data/lib/ingenico/connect/sdk/domain/payout/payout_error_response.rb +12 -15
- data/lib/ingenico/connect/sdk/domain/payout/payout_references.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/payout/payout_result.rb +12 -15
- data/lib/ingenico/connect/sdk/domain/product/abstract_indicator.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/product/account_on_file.rb +15 -18
- data/lib/ingenico/connect/sdk/domain/product/account_on_file_attribute.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/product/account_on_file_display_hints.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/product/boleto_bancario_requiredness_validator.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/product/device_fingerprint_request.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/product/device_fingerprint_response.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/product/directory.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/product/directory_entry.rb +14 -15
- data/lib/ingenico/connect/sdk/domain/product/fixed_list_validator.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/product/get_customer_details_request.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/product/get_customer_details_response.rb +31 -30
- data/lib/ingenico/connect/sdk/domain/product/label_template_element.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/product/length_validator.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/product/payment_product.rb +71 -84
- data/lib/ingenico/connect/sdk/domain/product/payment_product302_specific_data.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/product/payment_product320_specific_data.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/product/payment_product863_specific_data.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/product/payment_product_display_hints.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/product/payment_product_field.rb +18 -21
- data/lib/ingenico/connect/sdk/domain/product/payment_product_field_data_restrictions.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/product/payment_product_field_display_element.rb +13 -12
- data/lib/ingenico/connect/sdk/domain/product/payment_product_field_display_hints.rb +33 -36
- data/lib/ingenico/connect/sdk/domain/product/payment_product_field_form_element.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/product/payment_product_field_tooltip.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/product/payment_product_field_validators.rb +41 -60
- data/lib/ingenico/connect/sdk/domain/product/payment_product_group.rb +19 -24
- data/lib/ingenico/connect/sdk/domain/product/payment_product_groups.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/product/payment_product_networks_response.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/product/payment_products.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/product/range_validator.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/product/regular_expression_validator.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/product/value_mapping_element.rb +12 -13
- data/lib/ingenico/connect/sdk/domain/refund/approve_refund_request.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/refund/bank_account_bban_refund.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/refund/bank_refund_method_specific_input.rb +12 -15
- data/lib/ingenico/connect/sdk/domain/refund/find_refunds_response.rb +14 -15
- data/lib/ingenico/connect/sdk/domain/refund/refund_customer.rb +16 -21
- data/lib/ingenico/connect/sdk/domain/refund/refund_error_response.rb +12 -15
- data/lib/ingenico/connect/sdk/domain/refund/refund_references.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/refund/refund_request.rb +20 -27
- data/lib/ingenico/connect/sdk/domain/refund/refund_result.rb +12 -15
- data/lib/ingenico/connect/sdk/domain/refund/refunds_response.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/riskassessments/contact_details_risk_assessment.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/riskassessments/customer_account_risk_assessment.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/riskassessments/customer_device_risk_assessment.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/riskassessments/customer_risk_assessment.rb +35 -46
- data/lib/ingenico/connect/sdk/domain/riskassessments/merchant_risk_assessment.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/riskassessments/order_risk_assessment.rb +17 -24
- data/lib/ingenico/connect/sdk/domain/riskassessments/personal_information_risk_assessment.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/riskassessments/risk_assessment.rb +16 -21
- data/lib/ingenico/connect/sdk/domain/riskassessments/risk_assessment_bank_account.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/riskassessments/risk_assessment_card.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/riskassessments/risk_assessment_response.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/riskassessments/shipping_risk_assessment.rb +11 -12
- data/lib/ingenico/connect/sdk/domain/services/bank_data.rb +13 -12
- data/lib/ingenico/connect/sdk/domain/services/bank_details.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/services/bank_details_response.rb +17 -24
- data/lib/ingenico/connect/sdk/domain/services/convert_amount.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/services/get_iin_details_request.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/services/get_iin_details_response.rb +14 -15
- data/lib/ingenico/connect/sdk/domain/services/get_privacy_policy_response.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/services/iin_detail.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/services/payment_context.rb +11 -12
- data/lib/ingenico/connect/sdk/domain/services/swift.rb +31 -30
- data/lib/ingenico/connect/sdk/domain/services/test_connection.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/sessions/payment_product_filters_client_session.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/sessions/session_request.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/sessions/session_response.rb +20 -21
- data/lib/ingenico/connect/sdk/domain/token/abstract_token.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/token/create_token_request.rb +20 -27
- data/lib/ingenico/connect/sdk/domain/token/create_token_response.rb +7 -6
- data/lib/ingenico/connect/sdk/domain/token/creditor.rb +34 -33
- data/lib/ingenico/connect/sdk/domain/token/customer_token.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/token/customer_token_with_contact_details.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/token/debtor.rb +34 -33
- data/lib/ingenico/connect/sdk/domain/token/mandate_approval.rb +10 -9
- data/lib/ingenico/connect/sdk/domain/token/mandate_non_sepa_direct_debit.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/token/mandate_sepa_direct_debit.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/token/mandate_sepa_direct_debit_with_mandate_id.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/token/mandate_sepa_direct_debit_without_creditor.rb +22 -27
- data/lib/ingenico/connect/sdk/domain/token/personal_information_token.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/token/token_card.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/token/token_card_data.rb +11 -12
- data/lib/ingenico/connect/sdk/domain/token/token_e_wallet.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/token/token_e_wallet_data.rb +4 -3
- data/lib/ingenico/connect/sdk/domain/token/token_non_sepa_direct_debit.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/token/token_non_sepa_direct_debit_payment_product705_specific_data.rb +8 -9
- data/lib/ingenico/connect/sdk/domain/token/token_non_sepa_direct_debit_payment_product730_specific_data.rb +5 -6
- data/lib/ingenico/connect/sdk/domain/token/token_response.rb +23 -30
- data/lib/ingenico/connect/sdk/domain/token/token_sepa_direct_debit.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/token/token_sepa_direct_debit_without_creditor.rb +9 -12
- data/lib/ingenico/connect/sdk/domain/token/update_token_request.rb +20 -27
- data/lib/ingenico/connect/sdk/endpoint_configuration.rb +12 -20
- data/lib/ingenico/connect/sdk/factory.rb +34 -32
- data/lib/ingenico/connect/sdk/idempotence_exception.rb +3 -3
- data/lib/ingenico/connect/sdk/logging/communicator_logger.rb +5 -2
- data/lib/ingenico/connect/sdk/logging/log_message_builder.rb +25 -13
- data/lib/ingenico/connect/sdk/logging/logging_util.rb +14 -14
- data/lib/ingenico/connect/sdk/logging/request_log_message_builder.rb +4 -5
- data/lib/ingenico/connect/sdk/logging/response_log_message_builder.rb +7 -6
- data/lib/ingenico/connect/sdk/logging/ruby_communicator_logger.rb +5 -4
- data/lib/ingenico/connect/sdk/logging/stdout_communicator_logger.rb +2 -1
- data/lib/ingenico/connect/sdk/marshaller.rb +8 -3
- data/lib/ingenico/connect/sdk/merchant/captures/captures_client.rb +17 -17
- data/lib/ingenico/connect/sdk/merchant/disputes/disputes_client.rb +80 -47
- data/lib/ingenico/connect/sdk/merchant/disputes/upload_file_request.rb +27 -0
- data/lib/ingenico/connect/sdk/merchant/files/files_client.rb +55 -0
- data/lib/ingenico/connect/sdk/merchant/hostedcheckouts/hostedcheckouts_client.rb +31 -31
- data/lib/ingenico/connect/sdk/merchant/hostedmandatemanagements/hostedmandatemanagements_client.rb +31 -31
- data/lib/ingenico/connect/sdk/merchant/mandates/mandates_client.rb +92 -92
- data/lib/ingenico/connect/sdk/merchant/merchant_client.rb +37 -30
- data/lib/ingenico/connect/sdk/merchant/payments/find_payments_params.rb +12 -11
- data/lib/ingenico/connect/sdk/merchant/payments/payments_client.rb +248 -248
- data/lib/ingenico/connect/sdk/merchant/payouts/find_payouts_params.rb +10 -9
- data/lib/ingenico/connect/sdk/merchant/payouts/payouts_client.rb +90 -90
- data/lib/ingenico/connect/sdk/merchant/productgroups/find_productgroups_params.rb +17 -13
- data/lib/ingenico/connect/sdk/merchant/productgroups/get_productgroup_params.rb +17 -13
- data/lib/ingenico/connect/sdk/merchant/productgroups/productgroups_client.rb +48 -48
- data/lib/ingenico/connect/sdk/merchant/products/directory_params.rb +6 -5
- data/lib/ingenico/connect/sdk/merchant/products/find_products_params.rb +17 -13
- data/lib/ingenico/connect/sdk/merchant/products/get_product_params.rb +19 -15
- data/lib/ingenico/connect/sdk/merchant/products/networks_params.rb +10 -9
- data/lib/ingenico/connect/sdk/merchant/products/products_client.rb +96 -127
- data/lib/ingenico/connect/sdk/merchant/refunds/find_refunds_params.rb +12 -11
- data/lib/ingenico/connect/sdk/merchant/refunds/refunds_client.rb +74 -74
- data/lib/ingenico/connect/sdk/merchant/riskassessments/riskassessments_client.rb +30 -30
- data/lib/ingenico/connect/sdk/merchant/services/convert_amount_params.rb +8 -7
- data/lib/ingenico/connect/sdk/merchant/services/privacypolicy_params.rb +6 -5
- data/lib/ingenico/connect/sdk/merchant/services/services_client.rb +71 -71
- data/lib/ingenico/connect/sdk/merchant/sessions/sessions_client.rb +16 -16
- data/lib/ingenico/connect/sdk/merchant/tokens/delete_token_params.rb +4 -3
- data/lib/ingenico/connect/sdk/merchant/tokens/tokens_client.rb +76 -76
- data/lib/ingenico/connect/sdk/meta_data_provider.rb +19 -20
- data/lib/ingenico/connect/sdk/modules.rb +5 -4
- data/lib/ingenico/connect/sdk/multipart_form_data_object.rb +44 -0
- data/lib/ingenico/connect/sdk/multipart_form_data_request.rb +9 -0
- data/lib/ingenico/connect/sdk/not_found_exception.rb +4 -7
- data/lib/ingenico/connect/sdk/param_request.rb +3 -25
- data/lib/ingenico/connect/sdk/proxy_configuration.rb +16 -17
- data/lib/ingenico/connect/sdk/request_header.rb +22 -3
- data/lib/ingenico/connect/sdk/request_param.rb +3 -2
- data/lib/ingenico/connect/sdk/response_exception.rb +24 -27
- data/lib/ingenico/connect/sdk/response_header.rb +49 -2
- data/lib/ingenico/connect/sdk/session.rb +11 -10
- data/lib/ingenico/connect/sdk/uploadable_file.rb +30 -0
- data/lib/ingenico/connect/sdk/webhooks/api_version_mismatch_exception.rb +3 -3
- data/lib/ingenico/connect/sdk/webhooks/in_memory_secret_key_store.rb +5 -5
- data/lib/ingenico/connect/sdk/webhooks/secret_key_not_available_exception.rb +2 -0
- data/lib/ingenico/connect/sdk/webhooks/secret_key_store.rb +2 -2
- data/lib/ingenico/connect/sdk/webhooks/signature_validation_exception.rb +1 -1
- data/lib/ingenico/connect/sdk/webhooks/webhooks_event.rb +19 -25
- data/lib/ingenico/connect/sdk/webhooks/webhooks_helper.rb +11 -10
- data/spec/integration/multipart_form_data_spec.rb +214 -0
- data/spec/lib/defaultimpl/default_connection_idempotence_spec.rb +7 -7
- data/spec/lib/defaultimpl/default_connection_logger_spec.rb +0 -4
- data/spec/lib/defaultimpl/default_connection_spec.rb +48 -25
- data/spec/lib/logging/header_obfuscator_spec.rb +1 -1
- data/spec/lib/logging/logging_util_spec.rb +7 -7
- data/spec/lib/logging/obfuscator_spec.rb +4 -4
- data/spec/lib/logging/ruby_communicator_logger_spec.rb +8 -8
- data/spec/lib/logging/stdout_communicator_logger_spec.rb +1 -1
- data/spec/lib/logging/value_obfuscator_spec.rb +1 -1
- data/spec/lib/payments_client_spec.rb +8 -9
- metadata +12 -7
- data/lib/ingenico/connect/sdk/domain/publickey/public_key.rb +0 -38
- data/lib/ingenico/connect/sdk/response.rb +0 -59
- data/spec/lib/requestparams/param_request_spec.rb +0 -57
@@ -10,33 +10,30 @@ module Ingenico::Connect::SDK
|
|
10
10
|
module Domain
|
11
11
|
module Token
|
12
12
|
|
13
|
+
# @attr [Ingenico::Connect::SDK::Domain::Token::CustomerTokenWithContactDetails] customer
|
14
|
+
# @attr [Ingenico::Connect::SDK::Domain::Token::MandateSepaDirectDebit] mandate
|
13
15
|
class TokenSepaDirectDebit < Ingenico::Connect::SDK::Domain::Token::AbstractToken
|
14
16
|
|
15
|
-
# {Ingenico::Connect::SDK::Domain::Token::CustomerTokenWithContactDetails}
|
16
17
|
attr_accessor :customer
|
17
18
|
|
18
|
-
# {Ingenico::Connect::SDK::Domain::Token::MandateSepaDirectDebit}
|
19
19
|
attr_accessor :mandate
|
20
20
|
|
21
|
+
# @return (Hash)
|
21
22
|
def to_h
|
22
23
|
hash = super
|
23
|
-
|
24
|
-
|
24
|
+
hash['customer'] = @customer.to_h unless @customer.nil?
|
25
|
+
hash['mandate'] = @mandate.to_h unless @mandate.nil?
|
25
26
|
hash
|
26
27
|
end
|
27
28
|
|
28
29
|
def from_hash(hash)
|
29
30
|
super
|
30
|
-
if hash.has_key?
|
31
|
-
|
32
|
-
raise TypeError, "value '%s' is not a Hash" % [hash['customer']]
|
33
|
-
end
|
31
|
+
if hash.has_key? 'customer'
|
32
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['customer']] unless hash['customer'].is_a? Hash
|
34
33
|
@customer = Ingenico::Connect::SDK::Domain::Token::CustomerTokenWithContactDetails.new_from_hash(hash['customer'])
|
35
34
|
end
|
36
|
-
if hash.has_key?
|
37
|
-
|
38
|
-
raise TypeError, "value '%s' is not a Hash" % [hash['mandate']]
|
39
|
-
end
|
35
|
+
if hash.has_key? 'mandate'
|
36
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['mandate']] unless hash['mandate'].is_a? Hash
|
40
37
|
@mandate = Ingenico::Connect::SDK::Domain::Token::MandateSepaDirectDebit.new_from_hash(hash['mandate'])
|
41
38
|
end
|
42
39
|
end
|
@@ -10,33 +10,30 @@ module Ingenico::Connect::SDK
|
|
10
10
|
module Domain
|
11
11
|
module Token
|
12
12
|
|
13
|
+
# @attr [Ingenico::Connect::SDK::Domain::Token::CustomerTokenWithContactDetails] customer
|
14
|
+
# @attr [Ingenico::Connect::SDK::Domain::Token::MandateSepaDirectDebitWithoutCreditor] mandate
|
13
15
|
class TokenSepaDirectDebitWithoutCreditor < Ingenico::Connect::SDK::Domain::Token::AbstractToken
|
14
16
|
|
15
|
-
# {Ingenico::Connect::SDK::Domain::Token::CustomerTokenWithContactDetails}
|
16
17
|
attr_accessor :customer
|
17
18
|
|
18
|
-
# {Ingenico::Connect::SDK::Domain::Token::MandateSepaDirectDebitWithoutCreditor}
|
19
19
|
attr_accessor :mandate
|
20
20
|
|
21
|
+
# @return (Hash)
|
21
22
|
def to_h
|
22
23
|
hash = super
|
23
|
-
|
24
|
-
|
24
|
+
hash['customer'] = @customer.to_h unless @customer.nil?
|
25
|
+
hash['mandate'] = @mandate.to_h unless @mandate.nil?
|
25
26
|
hash
|
26
27
|
end
|
27
28
|
|
28
29
|
def from_hash(hash)
|
29
30
|
super
|
30
|
-
if hash.has_key?
|
31
|
-
|
32
|
-
raise TypeError, "value '%s' is not a Hash" % [hash['customer']]
|
33
|
-
end
|
31
|
+
if hash.has_key? 'customer'
|
32
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['customer']] unless hash['customer'].is_a? Hash
|
34
33
|
@customer = Ingenico::Connect::SDK::Domain::Token::CustomerTokenWithContactDetails.new_from_hash(hash['customer'])
|
35
34
|
end
|
36
|
-
if hash.has_key?
|
37
|
-
|
38
|
-
raise TypeError, "value '%s' is not a Hash" % [hash['mandate']]
|
39
|
-
end
|
35
|
+
if hash.has_key? 'mandate'
|
36
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['mandate']] unless hash['mandate'].is_a? Hash
|
40
37
|
@mandate = Ingenico::Connect::SDK::Domain::Token::MandateSepaDirectDebitWithoutCreditor.new_from_hash(hash['mandate'])
|
41
38
|
end
|
42
39
|
end
|
@@ -12,60 +12,53 @@ module Ingenico::Connect::SDK
|
|
12
12
|
module Domain
|
13
13
|
module Token
|
14
14
|
|
15
|
+
# @attr [Ingenico::Connect::SDK::Domain::Token::TokenCard] card
|
16
|
+
# @attr [Ingenico::Connect::SDK::Domain::Token::TokenEWallet] e_wallet
|
17
|
+
# @attr [Ingenico::Connect::SDK::Domain::Token::TokenNonSepaDirectDebit] non_sepa_direct_debit
|
18
|
+
# @attr [Integer] payment_product_id
|
19
|
+
# @attr [Ingenico::Connect::SDK::Domain::Token::TokenSepaDirectDebitWithoutCreditor] sepa_direct_debit
|
15
20
|
class UpdateTokenRequest < Ingenico::Connect::SDK::DataObject
|
16
21
|
|
17
|
-
# {Ingenico::Connect::SDK::Domain::Token::TokenCard}
|
18
22
|
attr_accessor :card
|
19
23
|
|
20
|
-
# {Ingenico::Connect::SDK::Domain::Token::TokenEWallet}
|
21
24
|
attr_accessor :e_wallet
|
22
25
|
|
23
|
-
# {Ingenico::Connect::SDK::Domain::Token::TokenNonSepaDirectDebit}
|
24
26
|
attr_accessor :non_sepa_direct_debit
|
25
27
|
|
26
|
-
# Integer
|
27
28
|
attr_accessor :payment_product_id
|
28
29
|
|
29
|
-
# {Ingenico::Connect::SDK::Domain::Token::TokenSepaDirectDebitWithoutCreditor}
|
30
30
|
attr_accessor :sepa_direct_debit
|
31
31
|
|
32
|
+
# @return (Hash)
|
32
33
|
def to_h
|
33
34
|
hash = super
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
35
|
+
hash['card'] = @card.to_h unless @card.nil?
|
36
|
+
hash['eWallet'] = @e_wallet.to_h unless @e_wallet.nil?
|
37
|
+
hash['nonSepaDirectDebit'] = @non_sepa_direct_debit.to_h unless @non_sepa_direct_debit.nil?
|
38
|
+
hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
|
39
|
+
hash['sepaDirectDebit'] = @sepa_direct_debit.to_h unless @sepa_direct_debit.nil?
|
39
40
|
hash
|
40
41
|
end
|
41
42
|
|
42
43
|
def from_hash(hash)
|
43
44
|
super
|
44
|
-
if hash.has_key?
|
45
|
-
|
46
|
-
raise TypeError, "value '%s' is not a Hash" % [hash['card']]
|
47
|
-
end
|
45
|
+
if hash.has_key? 'card'
|
46
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['card']] unless hash['card'].is_a? Hash
|
48
47
|
@card = Ingenico::Connect::SDK::Domain::Token::TokenCard.new_from_hash(hash['card'])
|
49
48
|
end
|
50
|
-
if hash.has_key?
|
51
|
-
|
52
|
-
raise TypeError, "value '%s' is not a Hash" % [hash['eWallet']]
|
53
|
-
end
|
49
|
+
if hash.has_key? 'eWallet'
|
50
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['eWallet']] unless hash['eWallet'].is_a? Hash
|
54
51
|
@e_wallet = Ingenico::Connect::SDK::Domain::Token::TokenEWallet.new_from_hash(hash['eWallet'])
|
55
52
|
end
|
56
|
-
if hash.has_key?
|
57
|
-
|
58
|
-
raise TypeError, "value '%s' is not a Hash" % [hash['nonSepaDirectDebit']]
|
59
|
-
end
|
53
|
+
if hash.has_key? 'nonSepaDirectDebit'
|
54
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['nonSepaDirectDebit']] unless hash['nonSepaDirectDebit'].is_a? Hash
|
60
55
|
@non_sepa_direct_debit = Ingenico::Connect::SDK::Domain::Token::TokenNonSepaDirectDebit.new_from_hash(hash['nonSepaDirectDebit'])
|
61
56
|
end
|
62
|
-
if hash.has_key?
|
57
|
+
if hash.has_key? 'paymentProductId'
|
63
58
|
@payment_product_id = hash['paymentProductId']
|
64
59
|
end
|
65
|
-
if hash.has_key?
|
66
|
-
|
67
|
-
raise TypeError, "value '%s' is not a Hash" % [hash['sepaDirectDebit']]
|
68
|
-
end
|
60
|
+
if hash.has_key? 'sepaDirectDebit'
|
61
|
+
raise TypeError, "value '%s' is not a Hash" % [hash['sepaDirectDebit']] unless hash['sepaDirectDebit'].is_a? Hash
|
69
62
|
@sepa_direct_debit = Ingenico::Connect::SDK::Domain::Token::TokenSepaDirectDebitWithoutCreditor.new_from_hash(hash['sepaDirectDebit'])
|
70
63
|
end
|
71
64
|
end
|
@@ -3,13 +3,15 @@ require 'uri'
|
|
3
3
|
module Ingenico::Connect::SDK
|
4
4
|
|
5
5
|
# Base class for configuration classes in the SDK.
|
6
|
-
# This class stores the following:
|
7
6
|
#
|
8
|
-
#
|
9
|
-
#
|
10
|
-
#
|
11
|
-
#
|
12
|
-
#
|
7
|
+
# @attr [String] api_endpoint The base URL to the Ingenico ePayments platform.
|
8
|
+
# @attr [Integer] connect_timeout The number of seconds before a connection attempt with the Ingenico ePayments platform times out.
|
9
|
+
# @attr [Integer] socket_timeout The number of seconds before a timeout occurs when transmitting data to or from the Ingenico ePayments platform.
|
10
|
+
# @attr [Integer] max_connections The number of connections with the Ingenico ePayments platform that are kept alive in the connection pool.
|
11
|
+
# These connections will be reused when possible.
|
12
|
+
# @attr [Ingenico::Connect::SDK::ProxyConfiguration] proxy_configuration Proxy settings.
|
13
|
+
# @attr [String] integrator Name of the integrator
|
14
|
+
# @attr [Ingenico::Connect::SDK::Domain::Metadata::ShoppingCartExtension] shopping_cart_extension Shopping cart-related metadata.
|
13
15
|
class EndpointConfiguration
|
14
16
|
@@DEFAULT_MAX_CONNECTIONS = 10
|
15
17
|
|
@@ -21,7 +23,7 @@ module Ingenico::Connect::SDK
|
|
21
23
|
|
22
24
|
# Initializes a new EndpointConfiguration.
|
23
25
|
#
|
24
|
-
# The given _properties_ is searched for settings using properties
|
26
|
+
# The given _properties_ is searched for settings using properties[prefix + '.setting_name']
|
25
27
|
# The following settings are searched:
|
26
28
|
#
|
27
29
|
# endpoint:: This property is searched for *endpoint.host*, *endpoint.scheme* and *endpoint.port*.
|
@@ -34,7 +36,7 @@ module Ingenico::Connect::SDK
|
|
34
36
|
# proxy:: This property is searched for *proxy.uri*, *proxy.username* and *proxy.password*.
|
35
37
|
# The found URI, username and password are used
|
36
38
|
# for connecting to the Ingenico ePayments platform using a proxy.
|
37
|
-
# integrator::
|
39
|
+
# integrator:: Name of the integrator
|
38
40
|
# shoppingCartExtension:: Will be used to initialize a {Ingenico::Connect::SDK::Domain::Metadata::ShoppingCartExtension}.
|
39
41
|
def initialize(properties=nil, prefix=nil)
|
40
42
|
unless properties.nil?
|
@@ -116,25 +118,15 @@ module Ingenico::Connect::SDK
|
|
116
118
|
|
117
119
|
public
|
118
120
|
|
119
|
-
|
120
|
-
attr_accessor :connect_timeout
|
121
|
+
attr_reader :api_endpoint
|
121
122
|
|
122
|
-
|
123
|
+
attr_accessor :connect_timeout
|
123
124
|
attr_accessor :socket_timeout
|
124
|
-
|
125
|
-
# The number of connections with the Ingenico ePayments platform that are kept alive in the connection pool.
|
126
|
-
# These connections will be reused when possible.
|
127
125
|
attr_accessor :max_connections
|
128
126
|
|
129
|
-
# {Ingenico::Connect::SDK::ProxyConfiguration} containing proxy settings.
|
130
127
|
attr_accessor :proxy_configuration
|
131
128
|
|
132
129
|
attr_accessor :integrator
|
133
|
-
|
134
|
-
# {Ingenico::Connect::SDK::Domain::Metadata::ShoppingCartExtension} containing shopping cart-related metadata.
|
135
130
|
attr_accessor :shopping_cart_extension
|
136
|
-
|
137
|
-
# The base URL to the Ingenico ePayments platform.
|
138
|
-
attr_reader :api_endpoint
|
139
131
|
end
|
140
132
|
end
|
@@ -10,9 +10,10 @@ module Ingenico::Connect::SDK
|
|
10
10
|
# Creates and returns a {Ingenico::Connect::SDK::CommunicatorConfiguration} based on the configuration in the file
|
11
11
|
# located at _configuration_file_name_.
|
12
12
|
#
|
13
|
-
# configuration_file_name
|
14
|
-
# api_key_id
|
15
|
-
# secret_api_key
|
13
|
+
# @param configuration_file_name [String] Path to the configuration file to use, should be in YAML format.
|
14
|
+
# @param api_key_id [String] Key id for the GlobalCollect service.
|
15
|
+
# @param secret_api_key [String] Secret key used for authentication to the GlobalCollect service.
|
16
|
+
# @return [Ingenico::Connect::SDK::CommunicatorConfiguration] The created communicator configuration
|
16
17
|
def self.create_configuration(configuration_file_name, api_key_id, secret_api_key)
|
17
18
|
properties = YAML::load_file(configuration_file_name)
|
18
19
|
CommunicatorConfiguration.new(properties: properties,
|
@@ -25,13 +26,11 @@ module Ingenico::Connect::SDK
|
|
25
26
|
# If an authenticator is not given, a {Ingenico::Connect::SDK::DefaultImpl::DefaultAuthenticator} is created
|
26
27
|
# using the _api_key_id_ and _secret_api_key_ in the CommunicatorConfiguration.
|
27
28
|
#
|
28
|
-
# configuration
|
29
|
-
#
|
30
|
-
#
|
31
|
-
#
|
32
|
-
#
|
33
|
-
# authenticator:: Implementation of {Ingenico::Connect::SDK::Authenticator} that can authenticate messages
|
34
|
-
# sent to the Ingenico ePayments platform.
|
29
|
+
# @param configuration [Ingenico::Connect::SDK::CommunicatorConfiguration] configuration settings to be used by the client.
|
30
|
+
# @param meta_data_provider [Ingenico::Connect::SDK::MetaDataProvider] stores the metadata for the communicating client.
|
31
|
+
# @param connection [Ingenico::Connect::SDK::Connection] connection that can be used to communicate with the Ingenico ePayments platform.
|
32
|
+
# @param authenticator [Ingenico::Connect::SDK::Authenticator] authenticator that can authenticate messages sent to the Ingenico ePayments platform.
|
33
|
+
# @return [Ingenico::Connect::SDK::Session] The created session
|
35
34
|
def self.create_session_from_configuration(configuration, meta_data_provider: nil,
|
36
35
|
connection: nil, authenticator: nil)
|
37
36
|
unless meta_data_provider
|
@@ -56,14 +55,13 @@ module Ingenico::Connect::SDK
|
|
56
55
|
# If an authenticator is not given, a {Ingenico::Connect::SDK::DefaultImpl::DefaultAuthenticator} is created
|
57
56
|
# using the _api_key_id_ and _secret_api_key_ in the CommunicatorConfiguration.
|
58
57
|
#
|
59
|
-
# configuration_file_name
|
60
|
-
# api_key_id
|
61
|
-
# secret_api_key
|
62
|
-
# meta_data_provider
|
63
|
-
# connection
|
64
|
-
#
|
65
|
-
#
|
66
|
-
# sent to the Ingenico ePayments platform.
|
58
|
+
# @param configuration_file_name [String] Path to the configuration file to use, should be in YAML format.
|
59
|
+
# @param api_key_id [String] Key id for the GlobalCollect service.
|
60
|
+
# @param secret_api_key [String] Secret key used for authentication to the GlobalCollect service.
|
61
|
+
# @param meta_data_provider [Ingenico::Connect::SDK::MetaDataProvider] stores the metadata for the communicating client.
|
62
|
+
# @param connection [Ingenico::Connect::SDK::Connection] connection that can be used to communicate with the Ingenico ePayments platform.
|
63
|
+
# @param authenticator [Ingenico::Connect::SDK::Authenticator] authenticator that can authenticate messages sent to the Ingenico ePayments platform.
|
64
|
+
# @return [Ingenico::Connect::SDK::Session] The created session
|
67
65
|
def self.create_session_from_file(configuration_file_name, api_key_id, secret_api_key,
|
68
66
|
meta_data_provider: nil, connection: nil, authenticator: nil)
|
69
67
|
configuration = create_configuration(configuration_file_name, api_key_id, secret_api_key)
|
@@ -73,15 +71,16 @@ module Ingenico::Connect::SDK
|
|
73
71
|
|
74
72
|
# Creates and returns an {Ingenico::Connect::SDK::Communicator} that is used for communication with the GlobalCollect service.
|
75
73
|
#
|
76
|
-
# session
|
74
|
+
# @param session [Ingenico::Connect::SDK::Session] session that the communicator will utilize for communication.
|
75
|
+
# @return [Ingenico::Connect::SDK::Communicator] The created communicator
|
77
76
|
def self.create_communicator_from_session(session)
|
78
77
|
Communicator.new(session, DefaultImpl::DefaultMarshaller.INSTANCE)
|
79
78
|
end
|
80
79
|
|
81
80
|
# Creates and returns an {Ingenico::Connect::SDK::Communicator} that can be used for communication with the GlobalCollect service.
|
82
81
|
#
|
83
|
-
# configuration
|
84
|
-
#
|
82
|
+
# @param configuration [Ingenico::Connect::SDK::CommunicatorConfiguration] contains configuration settings to be used by the client.
|
83
|
+
# @return [Ingenico::Connect::SDK::Communicator] The created communicator
|
85
84
|
def self.create_communicator_from_configuration(configuration)
|
86
85
|
session = create_session_from_configuration(configuration)
|
87
86
|
Communicator.new(session, DefaultImpl::DefaultMarshaller.INSTANCE)
|
@@ -89,9 +88,10 @@ module Ingenico::Connect::SDK
|
|
89
88
|
|
90
89
|
# Creates and returns an {Ingenico::Connect::SDK::Communicator} that is used for communication with the GlobalCollect service.
|
91
90
|
#
|
92
|
-
# configuration_file_name
|
93
|
-
# api_key_id
|
94
|
-
# secret_api_key
|
91
|
+
# @param configuration_file_name [String] Path to the configuration file to use, should be in YAML format.
|
92
|
+
# @param api_key_id [String] Key id for the GlobalCollect service.
|
93
|
+
# @param secret_api_key [String] Secret key used for authentication to the GlobalCollect service.
|
94
|
+
# @return [Ingenico::Connect::SDK::Communicator] The created communicator
|
95
95
|
def self.create_communicator_from_file(configuration_file_name, api_key_id, secret_api_key)
|
96
96
|
configuration = create_configuration(configuration_file_name, api_key_id, secret_api_key)
|
97
97
|
session = create_session_from_configuration(configuration)
|
@@ -107,8 +107,8 @@ module Ingenico::Connect::SDK
|
|
107
107
|
# end
|
108
108
|
# # client is closed here
|
109
109
|
#
|
110
|
-
# configuration
|
111
|
-
#
|
110
|
+
# @param configuration [Ingenico::Connect::SDK::CommunicatorConfiguration] contains configuration settings to be used by the client.
|
111
|
+
# @return [Ingenico::Connect::SDK::Client] The created client
|
112
112
|
def self.create_client_from_configuration(configuration)
|
113
113
|
communicator = create_communicator_from_configuration(configuration)
|
114
114
|
client = Client.new(communicator)
|
@@ -132,7 +132,8 @@ module Ingenico::Connect::SDK
|
|
132
132
|
# end
|
133
133
|
# # client is closed here
|
134
134
|
#
|
135
|
-
# communicator
|
135
|
+
# @param communicator [Ingenico::Connect::SDK::Communicator] provides network communication service for the Client
|
136
|
+
# @return [Ingenico::Connect::SDK::Client] The created client
|
136
137
|
def self.create_client_from_communicator(communicator)
|
137
138
|
client = Client.new(communicator)
|
138
139
|
if block_given?
|
@@ -155,7 +156,8 @@ module Ingenico::Connect::SDK
|
|
155
156
|
# end
|
156
157
|
# # client is closed here
|
157
158
|
#
|
158
|
-
# session
|
159
|
+
# @param session [Ingenico::Connect::SDK::Session] session that the communicator will utilize for communication.
|
160
|
+
# @return [Ingenico::Connect::SDK::Client] The created client
|
159
161
|
def self.create_client_from_session(session)
|
160
162
|
communicator = create_communicator_from_session(session)
|
161
163
|
client = Client.new(communicator)
|
@@ -179,10 +181,10 @@ module Ingenico::Connect::SDK
|
|
179
181
|
# end
|
180
182
|
# # client is closed here
|
181
183
|
#
|
182
|
-
# configuration_file_name
|
183
|
-
#
|
184
|
-
#
|
185
|
-
#
|
184
|
+
# @param configuration_file_name [String] Path to the configuration file to use, should be in YAML format.
|
185
|
+
# @param api_key_id [String] Key id for the GlobalCollect service.
|
186
|
+
# @param secret_api_key [String] Secret key used for authentication to the GlobalCollect service.
|
187
|
+
# @return [Ingenico::Connect::SDK::Client] The created client
|
186
188
|
def self.create_client_from_file(configuration_file_name, api_key_id, secret_api_key)
|
187
189
|
communicator = create_communicator_from_file(configuration_file_name, api_key_id, secret_api_key)
|
188
190
|
client = Client.new(communicator)
|
@@ -3,6 +3,9 @@ module Ingenico::Connect::SDK
|
|
3
3
|
# This exception is thrown when a response from the Ingenico ePayments platform indicates
|
4
4
|
# a request with the same _idempotence_key_ was received earlier.
|
5
5
|
# The _idempotence_request_timestamp_ indicates the time when the first request with this _idempotence_key_ arrived.
|
6
|
+
#
|
7
|
+
# @attr_reader [String] idempotence_key The idempotence key used in the request.
|
8
|
+
# @attr_reader [Integer] idempotence_request_timestamp A timestamp indicating the arrival time of the request that conflicts with the request just sent.
|
6
9
|
class IdempotenceException < ApiException
|
7
10
|
|
8
11
|
# Create a new IdempotenceException
|
@@ -15,10 +18,7 @@ module Ingenico::Connect::SDK
|
|
15
18
|
@idempotence_request_timestamp = idempotence_request_timestamp
|
16
19
|
end
|
17
20
|
|
18
|
-
# The idempotence key used in the request.
|
19
21
|
attr_reader :idempotence_key
|
20
|
-
|
21
|
-
# A timestamp indicating the arrival time of the request that conflicts with the request just sent.
|
22
22
|
attr_reader :idempotence_request_timestamp
|
23
23
|
end
|
24
24
|
end
|
@@ -3,14 +3,17 @@ module Ingenico::Connect::SDK
|
|
3
3
|
|
4
4
|
# Base logger class used in this SDK. This class is an interface and cannot be instantiated.
|
5
5
|
class CommunicatorLogger
|
6
|
-
#
|
6
|
+
# Interface, no instantiation
|
7
7
|
# @see Ingenico::Connect::SDK::Logging::StdoutCommunicatorLogger
|
8
8
|
# @see Ingenico::Connect::SDK::Logging::RubyCommunicatorLogger
|
9
9
|
def initialize
|
10
10
|
raise NotImplementedError.new("#{self.class.name} is not implemented.")
|
11
11
|
end
|
12
12
|
|
13
|
-
#
|
13
|
+
# Logs a message with or without exception
|
14
|
+
#
|
15
|
+
# @param message [String] the message to log
|
16
|
+
# @param thrown [Exception, false] the exception to log, or false to log no exception
|
14
17
|
def log(message, thrown=false)
|
15
18
|
raise NotImplementedError.new("#{self.class.name}#log() is not implemented.")
|
16
19
|
end
|
@@ -2,24 +2,22 @@ module Ingenico::Connect::SDK
|
|
2
2
|
module Logging
|
3
3
|
|
4
4
|
# Abstract class used to construct a message describing a request or response.
|
5
|
+
#
|
6
|
+
# @attr_reader [String] request_id An identifier assigned to the request and response
|
7
|
+
# @attr_reader [String] headers Request or response headers in string form
|
8
|
+
# @attr_reader [String] body Request or response body as a string
|
9
|
+
# @attr_reader [String] content_type Content type of the body, generally 'application/json' or 'text/html'
|
5
10
|
class LogMessageBuilder
|
6
11
|
|
7
|
-
# An identifier assigned to the request and response
|
8
12
|
attr_reader :request_id
|
9
|
-
|
10
|
-
# Request or response headers in string form
|
11
13
|
attr_reader :headers
|
12
|
-
|
13
|
-
# Request or response body as a string
|
14
14
|
attr_reader :body
|
15
|
-
|
16
|
-
# Content type of the body, generally 'application/json' or 'text/html'
|
17
15
|
attr_reader :content_type
|
18
16
|
|
19
17
|
# Create a new LogMessageBuilder
|
20
|
-
def initialize(
|
21
|
-
raise ArgumentError if
|
22
|
-
@request_id =
|
18
|
+
def initialize(request_id)
|
19
|
+
raise ArgumentError if request_id.nil? or request_id.empty?
|
20
|
+
@request_id = request_id
|
23
21
|
@headers = ''
|
24
22
|
end
|
25
23
|
|
@@ -32,10 +30,15 @@ module Ingenico::Connect::SDK
|
|
32
30
|
end
|
33
31
|
|
34
32
|
# Sets the body of this message to the parameter body.
|
35
|
-
|
36
|
-
#
|
33
|
+
|
34
|
+
# @param body [String] the message body
|
35
|
+
# @param content_type [String] the content type of the body
|
37
36
|
def set_body(body, content_type)
|
38
|
-
|
37
|
+
if is_binary(content_type)
|
38
|
+
@body = "<binary content>"
|
39
|
+
else
|
40
|
+
@body = LoggingUtil.obfuscate_body(body)
|
41
|
+
end
|
39
42
|
@content_type = content_type
|
40
43
|
end
|
41
44
|
|
@@ -57,6 +60,15 @@ module Ingenico::Connect::SDK
|
|
57
60
|
value.nil? ? '' : value
|
58
61
|
end
|
59
62
|
|
63
|
+
# Returns whether or not the content type is binary
|
64
|
+
def is_binary(content_type)
|
65
|
+
if content_type.nil?
|
66
|
+
return false
|
67
|
+
else
|
68
|
+
content_type = content_type.downcase
|
69
|
+
return !(content_type.start_with?("text/") || content_type.include?("json") || content_type.include?("xml"))
|
70
|
+
end
|
71
|
+
end
|
60
72
|
end
|
61
73
|
end
|
62
74
|
end
|