checkout_sdk 1.2.2 → 1.9.1
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/.overcommit.yml +30 -0
- data/.rubocop.yml +15 -1
- data/.ruby-version +1 -0
- data/Gemfile +3 -1
- data/README.md +38 -0
- data/Rakefile +2 -2
- data/lib/checkout_sdk/accounts/account_holder.rb +10 -2
- data/lib/checkout_sdk/accounts/account_holder_corporate.rb +15 -0
- data/lib/checkout_sdk/accounts/account_holder_individual.rb +18 -0
- data/lib/checkout_sdk/accounts/accounts.rb +34 -1
- data/lib/checkout_sdk/accounts/accounts_client.rb +134 -1
- data/lib/checkout_sdk/accounts/additional_document.rb +11 -0
- data/lib/checkout_sdk/accounts/additional_info.rb +17 -0
- data/lib/checkout_sdk/accounts/articles_of_association_type.rb +10 -0
- data/lib/checkout_sdk/accounts/bank_verification.rb +14 -0
- data/lib/checkout_sdk/accounts/bank_verification_type.rb +9 -0
- data/lib/checkout_sdk/accounts/company.rb +7 -1
- data/lib/checkout_sdk/accounts/contact_details.rb +4 -1
- data/lib/checkout_sdk/accounts/date_of_incorporation.rb +14 -0
- data/lib/checkout_sdk/accounts/entity_files_request.rb +13 -0
- data/lib/checkout_sdk/accounts/entity_requirement_priority.rb +12 -0
- data/lib/checkout_sdk/accounts/entity_requirement_reason.rb +11 -0
- data/lib/checkout_sdk/accounts/entity_requirement_update_request.rb +22 -0
- data/lib/checkout_sdk/accounts/entity_requirement_update_status.rb +12 -0
- data/lib/checkout_sdk/accounts/financial_verification.rb +14 -0
- data/lib/checkout_sdk/accounts/financial_verification_type.rb +9 -0
- data/lib/checkout_sdk/accounts/instrument_details_ach.rb +21 -0
- data/lib/checkout_sdk/accounts/{headers.rb → invitee.rb} +3 -3
- data/lib/checkout_sdk/accounts/onboard_entity.rb +21 -4
- data/lib/checkout_sdk/accounts/onboard_sub_entity_documents.rb +31 -4
- data/lib/checkout_sdk/accounts/processing_details.rb +26 -0
- data/lib/checkout_sdk/accounts/proof_of_legality.rb +14 -0
- data/lib/checkout_sdk/accounts/proof_of_legality_type.rb +9 -0
- data/lib/checkout_sdk/accounts/proof_of_principal_address.rb +14 -0
- data/lib/checkout_sdk/accounts/proof_of_principal_address_type.rb +9 -0
- data/lib/checkout_sdk/accounts/reserve_rule_create_request.rb +14 -0
- data/lib/checkout_sdk/accounts/reserve_rule_holding_duration.rb +13 -0
- data/lib/checkout_sdk/accounts/reserve_rule_update_request.rb +15 -0
- data/lib/checkout_sdk/accounts/rolling_reserve_rule.rb +15 -0
- data/lib/checkout_sdk/accounts/schedule_frequency_daily.rb +1 -1
- data/lib/checkout_sdk/accounts/schedule_frequency_monthly.rb +1 -1
- data/lib/checkout_sdk/accounts/schedule_frequency_weekly.rb +1 -1
- data/lib/checkout_sdk/accounts/shareholder_structure.rb +14 -0
- data/lib/checkout_sdk/accounts/shareholder_structure_type.rb +9 -0
- data/lib/checkout_sdk/accounts/submitter.rb +13 -0
- data/lib/checkout_sdk/agentic_commerce/agentic_commerce.rb +8 -0
- data/lib/checkout_sdk/agentic_commerce/agentic_commerce_client.rb +31 -0
- data/lib/checkout_sdk/agentic_commerce/delegated_payment_allowance.rb +28 -0
- data/lib/checkout_sdk/agentic_commerce/delegated_payment_billing_address.rb +33 -0
- data/lib/checkout_sdk/agentic_commerce/delegated_payment_method_card.rb +64 -0
- data/lib/checkout_sdk/agentic_commerce/delegated_payment_request.rb +25 -0
- data/lib/checkout_sdk/agentic_commerce/delegated_payment_risk_signal.rb +20 -0
- data/lib/checkout_sdk/api_client.rb +81 -62
- data/lib/checkout_sdk/apm/ideal/ideal_client.rb +1 -1
- data/lib/checkout_sdk/apm/previous/klarna/klarna_client.rb +1 -1
- data/lib/checkout_sdk/apm/previous/sepa/sepa_client.rb +1 -1
- data/lib/checkout_sdk/balances/balance_values.rb +28 -0
- data/lib/checkout_sdk/balances/balances.rb +4 -0
- data/lib/checkout_sdk/balances/balances_query.rb +32 -0
- data/lib/checkout_sdk/balances/collateral_breakdown.rb +16 -0
- data/lib/checkout_sdk/balances/currency_account_balance.rb +26 -0
- data/lib/checkout_sdk/checkout_api.rb +75 -1
- data/lib/checkout_sdk/checkout_oauth_sdk_builder.rb +12 -1
- data/lib/checkout_sdk/client.rb +2 -3
- data/lib/checkout_sdk/common/account_change_indicator_type.rb +12 -0
- data/lib/checkout_sdk/common/account_holder.rb +12 -9
- data/lib/checkout_sdk/common/account_password_change_indicator_type.rb +13 -0
- data/lib/checkout_sdk/common/account_type_card_product_type.rb +11 -0
- data/lib/checkout_sdk/common/cardholder_account_age_indicator_type.rb +13 -0
- data/lib/checkout_sdk/common/common.rb +7 -0
- data/lib/checkout_sdk/common/customer_retry.rb +11 -0
- data/lib/checkout_sdk/common/destination.rb +38 -0
- data/lib/checkout_sdk/common/headers.rb +16 -0
- data/lib/checkout_sdk/common/payment_source_type.rb +9 -0
- data/lib/checkout_sdk/common/product.rb +4 -1
- data/lib/checkout_sdk/compliance_requests/compliance_request_responded_field.rb +22 -0
- data/lib/checkout_sdk/compliance_requests/compliance_request_responded_fields.rb +15 -0
- data/lib/checkout_sdk/compliance_requests/compliance_requests.rb +6 -0
- data/lib/checkout_sdk/compliance_requests/compliance_requests_client.rb +34 -0
- data/lib/checkout_sdk/compliance_requests/compliance_response_request.rb +16 -0
- data/lib/checkout_sdk/customers/customers_client.rb +1 -1
- data/lib/checkout_sdk/disputes/dispute_status.rb +1 -0
- data/lib/checkout_sdk/disputes/disputes_client.rb +23 -2
- data/lib/checkout_sdk/disputes/disputes_query_filter.rb +49 -11
- data/lib/checkout_sdk/environment.rb +8 -1
- data/lib/checkout_sdk/environment_subdomain.rb +16 -12
- data/lib/checkout_sdk/error.rb +24 -8
- data/lib/checkout_sdk/financial/financial_client.rb +1 -1
- data/lib/checkout_sdk/forward/create_secret_request.rb +17 -0
- data/lib/checkout_sdk/forward/forward.rb +5 -0
- data/lib/checkout_sdk/forward/forward_client.rb +52 -0
- data/lib/checkout_sdk/forward/update_secret_request.rb +15 -0
- data/lib/checkout_sdk/identities/aml_screening/aml_screening_client.rb +29 -0
- data/lib/checkout_sdk/identities/aml_screening/aml_search_parameters.rb +15 -0
- data/lib/checkout_sdk/identities/aml_screening/aml_verification_request.rb +19 -0
- data/lib/checkout_sdk/identities/applicants/applicants_client.rb +43 -0
- data/lib/checkout_sdk/identities/applicants/create_applicant_request.rb +21 -0
- data/lib/checkout_sdk/identities/applicants/update_applicant_request.rb +18 -0
- data/lib/checkout_sdk/identities/face_authentication/face_authentication_attempt_request.rb +17 -0
- data/lib/checkout_sdk/identities/face_authentication/face_authentication_client.rb +82 -0
- data/lib/checkout_sdk/identities/face_authentication/face_authentication_request.rb +21 -0
- data/lib/checkout_sdk/identities/id_document_verification/id_document_verification_client.rb +77 -0
- data/lib/checkout_sdk/identities/id_document_verification/id_document_verification_request.rb +27 -0
- data/lib/checkout_sdk/identities/identities.rb +27 -0
- data/lib/checkout_sdk/identities/identity_verification/identity_verification_attempt_request.rb +17 -0
- data/lib/checkout_sdk/identities/identity_verification/identity_verification_client.rb +99 -0
- data/lib/checkout_sdk/identities/identity_verification/identity_verification_request.rb +21 -0
- data/lib/checkout_sdk/identities/identity_verification/idv_client_information.rb +17 -0
- data/lib/checkout_sdk/identities/identity_verification/idv_declared_data.rb +15 -0
- data/lib/checkout_sdk/instruments/base_instruments_client.rb +9 -0
- data/lib/checkout_sdk/instruments/create/instrument_bank_account.rb +1 -1
- data/lib/checkout_sdk/instruments/create/instrument_sepa.rb +1 -1
- data/lib/checkout_sdk/instruments/create/instrument_token.rb +1 -1
- data/lib/checkout_sdk/instruments/instruments_client.rb +1 -1
- data/lib/checkout_sdk/instruments/previous/instruments_client.rb +1 -1
- data/lib/checkout_sdk/instruments/update/update_instrument_bank_account.rb +1 -1
- data/lib/checkout_sdk/instruments/update/update_instrument_card.rb +1 -1
- data/lib/checkout_sdk/instruments/update/update_instrument_token.rb +1 -1
- data/lib/checkout_sdk/issuing/add_control_group_request.rb +19 -0
- data/lib/checkout_sdk/issuing/add_control_profile_request.rb +13 -0
- data/lib/checkout_sdk/issuing/amend_dispute_request.rb +31 -0
- data/lib/checkout_sdk/issuing/cardholder_access_token_request.rb +26 -0
- data/lib/checkout_sdk/issuing/create_dispute_request.rb +27 -0
- data/lib/checkout_sdk/issuing/escalate_dispute_request.rb +23 -0
- data/lib/checkout_sdk/issuing/issuing.rb +27 -0
- data/lib/checkout_sdk/issuing/issuing_address.rb +25 -0
- data/lib/checkout_sdk/issuing/issuing_client.rb +274 -14
- data/lib/checkout_sdk/issuing/issuing_dispute_fraud_details.rb +18 -0
- data/lib/checkout_sdk/issuing/issuing_dispute_fraud_type.rb +21 -0
- data/lib/checkout_sdk/issuing/issuing_phone_number.rb +16 -0
- data/lib/checkout_sdk/issuing/oob_authentication_request.rb +15 -0
- data/lib/checkout_sdk/issuing/oob_simulate_transaction_details.rb +19 -0
- data/lib/checkout_sdk/issuing/simulate_refund_request.rb +13 -0
- data/lib/checkout_sdk/issuing/submit_dispute_request.rb +21 -0
- data/lib/checkout_sdk/issuing/update_card_request.rb +27 -0
- data/lib/checkout_sdk/issuing/update_cardholder_request.rb +29 -0
- data/lib/checkout_sdk/issuing/update_control_profile_request.rb +13 -0
- data/lib/checkout_sdk/metadata/metadata_client.rb +1 -1
- data/lib/checkout_sdk/metadata/source/bin_metadata_source.rb +1 -1
- data/lib/checkout_sdk/metadata/source/card_metadata_source.rb +1 -1
- data/lib/checkout_sdk/metadata/source/id_metadata_source.rb +1 -1
- data/lib/checkout_sdk/metadata/source/token_metadata_source.rb +1 -1
- data/lib/checkout_sdk/network_tokens/network_token_cryptogram_request.rb +13 -0
- data/lib/checkout_sdk/network_tokens/network_token_source_card.rb +25 -0
- data/lib/checkout_sdk/network_tokens/network_token_source_id.rb +19 -0
- data/lib/checkout_sdk/network_tokens/network_tokens.rb +7 -0
- data/lib/checkout_sdk/network_tokens/network_tokens_client.rb +51 -0
- data/lib/checkout_sdk/network_tokens/provision_network_token_request.rb +14 -0
- data/lib/checkout_sdk/oauth_access_token.rb +6 -1
- data/lib/checkout_sdk/oauth_scopes.rb +4 -0
- data/lib/checkout_sdk/oauth_sdk_credentials.rb +2 -1
- data/lib/checkout_sdk/onboarding_simulator/onboarding_simulator.rb +6 -0
- data/lib/checkout_sdk/onboarding_simulator/onboarding_simulator_client.rb +72 -0
- data/lib/checkout_sdk/onboarding_simulator/simulator_entity_status.rb +16 -0
- data/lib/checkout_sdk/onboarding_simulator/simulator_set_requirements_due_request.rb +14 -0
- data/lib/checkout_sdk/onboarding_simulator/simulator_set_status_request.rb +13 -0
- data/lib/checkout_sdk/payment_methods/payment_methods.rb +4 -0
- data/lib/checkout_sdk/payment_methods/payment_methods_client.rb +24 -0
- data/lib/checkout_sdk/payment_methods/payment_methods_query.rb +13 -0
- data/lib/checkout_sdk/payments/apple_pay/apple_pay_certificate_request.rb +13 -0
- data/lib/checkout_sdk/payments/apple_pay/apple_pay_client.rb +44 -0
- data/lib/checkout_sdk/payments/apple_pay/apple_pay_enrollment_request.rb +13 -0
- data/lib/checkout_sdk/payments/apple_pay/apple_pay_signing_request.rb +13 -0
- data/lib/checkout_sdk/payments/applepay.rb +14 -0
- data/lib/checkout_sdk/payments/base_payments_client.rb +19 -0
- data/lib/checkout_sdk/payments/cancellation_request.rb +13 -0
- data/lib/checkout_sdk/payments/{sessions/card.rb → card.rb} +4 -1
- data/lib/checkout_sdk/payments/contexts/payment_contexts_client.rb +1 -1
- data/lib/checkout_sdk/payments/destination/bank_account_destination.rb +1 -1
- data/lib/checkout_sdk/payments/destination/card_destination.rb +1 -1
- data/lib/checkout_sdk/payments/destination/id_destination.rb +1 -1
- data/lib/checkout_sdk/payments/destination/token_destination.rb +1 -1
- data/lib/checkout_sdk/payments/exemption.rb +2 -0
- data/lib/checkout_sdk/payments/flow/flow_client.rb +59 -0
- data/lib/checkout_sdk/payments/google_pay/google_pay_client.rb +48 -0
- data/lib/checkout_sdk/payments/google_pay/google_pay_domain_request.rb +13 -0
- data/lib/checkout_sdk/payments/google_pay/google_pay_enrollment_request.rb +17 -0
- data/lib/checkout_sdk/payments/googlepay.rb +14 -0
- data/lib/checkout_sdk/payments/hosted/hosted_payment_instruction.rb +11 -0
- data/lib/checkout_sdk/payments/hosted/hosted_payments_client.rb +1 -1
- data/lib/checkout_sdk/payments/hosted/hosted_payments_session.rb +51 -23
- data/lib/checkout_sdk/payments/hosted/payment_purpose_type.rb +27 -0
- data/lib/checkout_sdk/payments/links/payment_link.rb +26 -1
- data/lib/checkout_sdk/payments/links/payments_links_client.rb +1 -1
- data/lib/checkout_sdk/payments/locale_type.rb +31 -0
- data/lib/checkout_sdk/payments/partial_authorization.rb +11 -0
- data/lib/checkout_sdk/payments/passenger.rb +20 -6
- data/lib/checkout_sdk/payments/payment_method_configuration.rb +17 -0
- data/lib/checkout_sdk/payments/payment_plan.rb +43 -0
- data/lib/checkout_sdk/payments/payment_request.rb +5 -1
- data/lib/checkout_sdk/payments/payments.rb +48 -4
- data/lib/checkout_sdk/payments/payments_client.rb +1 -1
- data/lib/checkout_sdk/payments/payments_search_request.rb +20 -0
- data/lib/checkout_sdk/payments/previous/destination/card_destination.rb +1 -1
- data/lib/checkout_sdk/payments/previous/destination/id_destination.rb +1 -1
- data/lib/checkout_sdk/payments/previous/destination/token_destination.rb +1 -1
- data/lib/checkout_sdk/payments/previous/payments_client.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/alipay_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/alma_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/bancontact_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/benefit_pay_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/boleto_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/eps_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/fawry_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/giropay_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/ideal_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/klarna_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/knet_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/multi_banco_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/oxxo_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/p24_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/pago_facil_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/paypal_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/poli_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/qpay_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/rapi_pago_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/apm/sofort_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/card_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/customer_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/d_local_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/id_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/network_token_source.rb +1 -1
- data/lib/checkout_sdk/payments/previous/source/token_source.rb +1 -1
- data/lib/checkout_sdk/payments/processing_data.rb +45 -0
- data/lib/checkout_sdk/payments/processing_settings.rb +14 -1
- data/lib/checkout_sdk/payments/product.rb +14 -1
- data/lib/checkout_sdk/payments/product_item_type.rb +11 -0
- data/lib/checkout_sdk/payments/product_sub_type.rb +13 -0
- data/lib/checkout_sdk/payments/refund_order.rb +53 -0
- data/lib/checkout_sdk/payments/refund_request.rb +11 -2
- data/lib/checkout_sdk/payments/sender/corporate_sender.rb +1 -1
- data/lib/checkout_sdk/payments/sender/government_sender.rb +4 -1
- data/lib/checkout_sdk/payments/sender/individual_sender.rb +4 -1
- data/lib/checkout_sdk/payments/sender/instrument_sender.rb +1 -1
- data/lib/checkout_sdk/payments/sessions/payment_sessions_client.rb +13 -1
- data/lib/checkout_sdk/payments/sessions/payment_sessions_request.rb +11 -1
- data/lib/checkout_sdk/payments/sessions/store_payment_details_type.rb +1 -0
- data/lib/checkout_sdk/payments/setups/account_funding_transaction_identification.rb +17 -0
- data/lib/checkout_sdk/payments/setups/account_funding_transaction_identification_type.rb +15 -0
- data/lib/checkout_sdk/payments/setups/account_funding_transaction_purpose.rb +29 -0
- data/lib/checkout_sdk/payments/setups/account_funding_transaction_recipient.rb +26 -0
- data/lib/checkout_sdk/payments/setups/account_funding_transaction_sender.rb +29 -0
- data/lib/checkout_sdk/payments/setups/bacs_payment_method.rb +41 -0
- data/lib/checkout_sdk/payments/setups/blik_payment_method.rb +20 -0
- data/lib/checkout_sdk/payments/setups/card_present_payment_method.rb +35 -0
- data/lib/checkout_sdk/payments/setups/pay_by_bank_payment_method.rb +24 -0
- data/lib/checkout_sdk/payments/setups/payment_setup_account_funding_transaction.rb +20 -0
- data/lib/checkout_sdk/payments/setups/payment_setups_client.rb +75 -0
- data/lib/checkout_sdk/payments/setups/stablecoin_payment_method.rb +16 -0
- data/lib/checkout_sdk/payments/source/apm/ach_source.rb +27 -0
- data/lib/checkout_sdk/payments/source/apm/after_pay_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/alma_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/bancontact_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/benefit_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/bizum_source.rb +15 -0
- data/lib/checkout_sdk/payments/source/apm/blik_source.rb +31 -0
- data/lib/checkout_sdk/payments/source/apm/cv_connect_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/eps_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/fawry_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/giropay_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/ideal_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/illicado_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/klarna_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/knet_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/mbway_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/multi_banco_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/octopus_source.rb +11 -0
- data/lib/checkout_sdk/payments/source/apm/p24_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/paypal_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/plaid_source.rb +17 -0
- data/lib/checkout_sdk/payments/source/apm/post_finance_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/qpay_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/sepa_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/sequra_source.rb +15 -0
- data/lib/checkout_sdk/payments/source/apm/sofort_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/stcpay_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/tamara_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/trustly_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/apm/we_chat_pay_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/bank_account_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/card_source.rb +5 -2
- data/lib/checkout_sdk/payments/source/currency_account_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/customer_source.rb +5 -2
- data/lib/checkout_sdk/payments/source/entity_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/id_source.rb +5 -2
- data/lib/checkout_sdk/payments/source/network_token_source.rb +8 -2
- data/lib/checkout_sdk/payments/source/provider_token_source.rb +1 -1
- data/lib/checkout_sdk/payments/source/token_source.rb +5 -2
- data/lib/checkout_sdk/reports/reports_client.rb +1 -1
- data/lib/checkout_sdk/risk/source/card_source.rb +1 -1
- data/lib/checkout_sdk/risk/source/customer_source.rb +1 -1
- data/lib/checkout_sdk/risk/source/id_source.rb +1 -1
- data/lib/checkout_sdk/risk/source/token_source.rb +1 -1
- data/lib/checkout_sdk/sessions/authentication_method.rb +3 -3
- data/lib/checkout_sdk/sessions/authentication_type.rb +3 -3
- data/lib/checkout_sdk/sessions/card_holder_account_info.rb +39 -3
- data/lib/checkout_sdk/sessions/channel/app_session.rb +1 -1
- data/lib/checkout_sdk/sessions/channel/browser_session.rb +5 -2
- data/lib/checkout_sdk/sessions/channel/channel_data_type.rb +1 -0
- data/lib/checkout_sdk/sessions/channel/merchant_initiated_session.rb +15 -0
- data/lib/checkout_sdk/sessions/channel/request_type.rb +19 -0
- data/lib/checkout_sdk/sessions/channel/sdk_interface_type.rb +2 -2
- data/lib/checkout_sdk/sessions/completion/hosted_completion_info.rb +1 -1
- data/lib/checkout_sdk/sessions/completion/non_hosted_completion_info.rb +1 -1
- data/lib/checkout_sdk/sessions/device_information.rb +17 -0
- data/lib/checkout_sdk/sessions/initial_transaction.rb +23 -0
- data/lib/checkout_sdk/sessions/installment.rb +5 -0
- data/lib/checkout_sdk/sessions/merchant_risk_info.rb +20 -2
- data/lib/checkout_sdk/sessions/optimization.rb +19 -0
- data/lib/checkout_sdk/sessions/optimized_properties.rb +17 -0
- data/lib/checkout_sdk/sessions/pre_order_purchase_indicator_type.rb +10 -0
- data/lib/checkout_sdk/sessions/recurring.rb +5 -0
- data/lib/checkout_sdk/sessions/reorder_items_indicator_type.rb +10 -0
- data/lib/checkout_sdk/sessions/session_request.rb +26 -2
- data/lib/checkout_sdk/sessions/sessions.rb +10 -0
- data/lib/checkout_sdk/sessions/sessions_client.rb +2 -2
- data/lib/checkout_sdk/sessions/source/card_source.rb +3 -2
- data/lib/checkout_sdk/sessions/source/id_source.rb +1 -1
- data/lib/checkout_sdk/sessions/source/network_token_source.rb +1 -1
- data/lib/checkout_sdk/sessions/source/token_source.rb +1 -1
- data/lib/checkout_sdk/sessions/three_ds_method_completion_request.rb +3 -1
- data/lib/checkout_sdk/sessions/three_ds_req_auth_method.rb +16 -0
- data/lib/checkout_sdk/sessions/three_ds_requestor_authentication_info.rb +17 -0
- data/lib/checkout_sdk/sessions/transaction_type.rb +3 -3
- data/lib/checkout_sdk/sources/sepa_source_request.rb +1 -1
- data/lib/checkout_sdk/sources/sources_client.rb +1 -1
- data/lib/checkout_sdk/standalone_account_updater/account_updater_card.rb +17 -0
- data/lib/checkout_sdk/standalone_account_updater/account_updater_instrument.rb +13 -0
- data/lib/checkout_sdk/standalone_account_updater/account_updater_request.rb +13 -0
- data/lib/checkout_sdk/standalone_account_updater/account_updater_source_options.rb +15 -0
- data/lib/checkout_sdk/standalone_account_updater/standalone_account_updater.rb +7 -0
- data/lib/checkout_sdk/standalone_account_updater/standalone_account_updater_client.rb +29 -0
- data/lib/checkout_sdk/tokens/apple_pay_token_request.rb +1 -1
- data/lib/checkout_sdk/tokens/google_pay_token_request.rb +1 -1
- data/lib/checkout_sdk/tokens/token_metadata_billing_address.rb +16 -0
- data/lib/checkout_sdk/tokens/token_metadata_response.rb +55 -0
- data/lib/checkout_sdk/tokens/tokens.rb +2 -0
- data/lib/checkout_sdk/tokens/tokens_client.rb +11 -0
- data/lib/checkout_sdk/transfers/create_transfer.rb +5 -5
- data/lib/checkout_sdk/transfers/transfer_source.rb +4 -1
- data/lib/checkout_sdk/transfers/transfers_client.rb +2 -2
- data/lib/checkout_sdk/version.rb +1 -1
- data/lib/checkout_sdk/workflows/entity_workflow_condition.rb +1 -1
- data/lib/checkout_sdk/workflows/event_workflow_condition.rb +1 -1
- data/lib/checkout_sdk/workflows/processing_channel_workflow_condition.rb +1 -1
- data/lib/checkout_sdk/workflows/webhook_workflow_action.rb +1 -1
- data/lib/checkout_sdk/workflows/workflows_client.rb +1 -1
- data/lib/checkout_sdk.rb +8 -0
- metadata +194 -19
- data/lib/checkout_sdk/payments/passenger_name.rb +0 -11
- data/lib/checkout_sdk/payments/sessions/payment_method_configuration.rb +0 -11
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Issuing
|
|
5
|
+
# Request body for PATCH /issuing/cardholders/{cardholderId}.
|
|
6
|
+
# Maps swagger `update-cardholder-request`.
|
|
7
|
+
#
|
|
8
|
+
# @!attribute first_name
|
|
9
|
+
# @return [String]
|
|
10
|
+
# @!attribute middle_name
|
|
11
|
+
# @return [String]
|
|
12
|
+
# @!attribute last_name
|
|
13
|
+
# @return [String]
|
|
14
|
+
# @!attribute date_of_birth
|
|
15
|
+
# @return [String] ISO-8601 date.
|
|
16
|
+
# @!attribute phone_number
|
|
17
|
+
# @return [IssuingPhoneNumber]
|
|
18
|
+
# @!attribute email
|
|
19
|
+
# @return [String] Email address (rfc6530). Max 254 characters.
|
|
20
|
+
# @!attribute billing_address
|
|
21
|
+
# @return [IssuingAddress]
|
|
22
|
+
# @!attribute residency_address
|
|
23
|
+
# @return [IssuingAddress]
|
|
24
|
+
class UpdateCardholderRequest
|
|
25
|
+
attr_accessor :first_name, :middle_name, :last_name, :date_of_birth,
|
|
26
|
+
:phone_number, :email, :billing_address, :residency_address
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Issuing
|
|
5
|
+
# Request body for PATCH /issuing/controls/control-profiles/{controlProfileId}.
|
|
6
|
+
#
|
|
7
|
+
# @!attribute name
|
|
8
|
+
# @return [String]
|
|
9
|
+
class UpdateControlProfileRequest
|
|
10
|
+
attr_accessor :name
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -10,7 +10,7 @@ module CheckoutSdk
|
|
|
10
10
|
# @param [ApiClient] api_client
|
|
11
11
|
# @param [CheckoutConfiguration] configuration
|
|
12
12
|
def initialize(api_client, configuration)
|
|
13
|
-
super
|
|
13
|
+
super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH)
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
# @param [Hash, MetadataRequest] metadata_request
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module NetworkTokens
|
|
5
|
+
# Request body for POST /network-tokens/{network_token_id}/cryptograms.
|
|
6
|
+
#
|
|
7
|
+
# @!attribute transaction_type
|
|
8
|
+
# @return [String] One of "ecom", "recurring", "pos", "aft".
|
|
9
|
+
class NetworkTokenCryptogramRequest
|
|
10
|
+
attr_accessor :transaction_type
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module NetworkTokens
|
|
5
|
+
# Card-based source for provisioning a network token. Set `type = "card"`.
|
|
6
|
+
#
|
|
7
|
+
# @!attribute type
|
|
8
|
+
# @return [String] Always "card".
|
|
9
|
+
# @!attribute number
|
|
10
|
+
# @return [String] The card number.
|
|
11
|
+
# @!attribute cvv
|
|
12
|
+
# @return [String]
|
|
13
|
+
# @!attribute expiry_month
|
|
14
|
+
# @return [String] 1- or 2-digit month.
|
|
15
|
+
# @!attribute expiry_year
|
|
16
|
+
# @return [String] Four-digit year.
|
|
17
|
+
class NetworkTokenSourceCard
|
|
18
|
+
attr_accessor :type, :number, :cvv, :expiry_month, :expiry_year
|
|
19
|
+
|
|
20
|
+
def initialize
|
|
21
|
+
@type = 'card'
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module NetworkTokens
|
|
5
|
+
# Existing-instrument source for provisioning a network token. Set `type = "id"`.
|
|
6
|
+
#
|
|
7
|
+
# @!attribute type
|
|
8
|
+
# @return [String] Always "id".
|
|
9
|
+
# @!attribute id
|
|
10
|
+
# @return [String] The source instrument id (e.g. "src_...").
|
|
11
|
+
class NetworkTokenSourceId
|
|
12
|
+
attr_accessor :type, :id
|
|
13
|
+
|
|
14
|
+
def initialize
|
|
15
|
+
@type = 'id'
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'checkout_sdk/network_tokens/network_token_source_card'
|
|
4
|
+
require 'checkout_sdk/network_tokens/network_token_source_id'
|
|
5
|
+
require 'checkout_sdk/network_tokens/provision_network_token_request'
|
|
6
|
+
require 'checkout_sdk/network_tokens/network_token_cryptogram_request'
|
|
7
|
+
require 'checkout_sdk/network_tokens/network_tokens_client'
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module NetworkTokens
|
|
5
|
+
# Client for the Network Tokens API.
|
|
6
|
+
class NetworkTokensClient < Client
|
|
7
|
+
NETWORK_TOKENS = 'network-tokens'
|
|
8
|
+
CRYPTOGRAMS = 'cryptograms'
|
|
9
|
+
DELETE = 'delete'
|
|
10
|
+
private_constant :NETWORK_TOKENS, :CRYPTOGRAMS, :DELETE
|
|
11
|
+
|
|
12
|
+
# @param [ApiClient] api_client
|
|
13
|
+
# @param [CheckoutConfiguration] configuration
|
|
14
|
+
def initialize(api_client, configuration)
|
|
15
|
+
super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Provision a Network Token.
|
|
19
|
+
# @param [Hash, ProvisionNetworkTokenRequest] provision_request
|
|
20
|
+
def provision_network_token(provision_request)
|
|
21
|
+
api_client.invoke_post(NETWORK_TOKENS, sdk_authorization, provision_request)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Retrieve a Network Token.
|
|
25
|
+
# @param [String] network_token_id
|
|
26
|
+
def get_network_token(network_token_id)
|
|
27
|
+
api_client.invoke_get(build_path(NETWORK_TOKENS, network_token_id), sdk_authorization)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Request a fresh cryptogram for a Network Token (for SCA / fresh payment flows).
|
|
31
|
+
# @param [String] network_token_id
|
|
32
|
+
# @param [Hash, NetworkTokenCryptogramRequest] cryptogram_request
|
|
33
|
+
def request_cryptograms(network_token_id, cryptogram_request = nil)
|
|
34
|
+
api_client.invoke_post(
|
|
35
|
+
build_path(NETWORK_TOKENS, network_token_id, CRYPTOGRAMS),
|
|
36
|
+
sdk_authorization,
|
|
37
|
+
cryptogram_request
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Soft-delete a Network Token. The API uses PATCH on .../delete.
|
|
42
|
+
# @param [String] network_token_id
|
|
43
|
+
def delete_network_token(network_token_id)
|
|
44
|
+
api_client.invoke_patch(
|
|
45
|
+
build_path(NETWORK_TOKENS, network_token_id, DELETE),
|
|
46
|
+
sdk_authorization
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module NetworkTokens
|
|
5
|
+
# Request body for POST /network-tokens.
|
|
6
|
+
# `source` must be either a NetworkTokenSourceCard or a NetworkTokenSourceId.
|
|
7
|
+
#
|
|
8
|
+
# @!attribute source
|
|
9
|
+
# @return [NetworkTokenSourceCard, NetworkTokenSourceId]
|
|
10
|
+
class ProvisionNetworkTokenRequest
|
|
11
|
+
attr_accessor :source
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -3,17 +3,22 @@
|
|
|
3
3
|
module CheckoutSdk
|
|
4
4
|
# @!attribute token
|
|
5
5
|
# @return [String]
|
|
6
|
+
# @!attribute token_type
|
|
7
|
+
# @return [String]
|
|
6
8
|
# @!attribute expiration_date
|
|
7
9
|
# @return [Time]
|
|
8
10
|
class OAuthAccessToken
|
|
9
11
|
attr_accessor :token,
|
|
12
|
+
:token_type,
|
|
10
13
|
:expiration_date
|
|
11
14
|
|
|
12
15
|
# @param [String] token
|
|
16
|
+
# @param [String] token_type
|
|
13
17
|
# @param [Time] expiration_date
|
|
14
18
|
# @return [OAuthAccessToken]
|
|
15
|
-
def initialize(token, expiration_date)
|
|
19
|
+
def initialize(token, token_type, expiration_date)
|
|
16
20
|
@token = token
|
|
21
|
+
@token_type = token_type
|
|
17
22
|
@expiration_date = expiration_date
|
|
18
23
|
end
|
|
19
24
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
module CheckoutSdk
|
|
4
4
|
module OAuthScopes
|
|
5
5
|
VAULT = 'vault'
|
|
6
|
+
VAULT_APME_ENROLLMENT = 'vault:apme-enrollment'
|
|
6
7
|
VAULT_INSTRUMENTS = 'vault:instruments'
|
|
7
8
|
VAULT_TOKENIZATION = 'vault:tokenization'
|
|
8
9
|
GATEWAY = 'gateway'
|
|
@@ -47,5 +48,8 @@ module CheckoutSdk
|
|
|
47
48
|
ISSUING_CARD_MGMT = 'issuing:card-mgmt'
|
|
48
49
|
ISSUING_CONTROLS_READ = 'issuing:controls-read'
|
|
49
50
|
ISSUING_CONTROLS_WRITE = 'issuing:controls-write'
|
|
51
|
+
FORWARD = 'forward'
|
|
52
|
+
FORWARD_SECRETS = 'forward:secrets'
|
|
53
|
+
IDENTITY_VERIFICATION = 'identity-verification'
|
|
50
54
|
end
|
|
51
55
|
end
|
|
@@ -59,9 +59,9 @@ module CheckoutSdk
|
|
|
59
59
|
return @access_token unless @access_token.nil? || @access_token.token.nil? || !@access_token.valid?
|
|
60
60
|
|
|
61
61
|
data = {
|
|
62
|
+
grant_type: 'client_credentials',
|
|
62
63
|
client_id: @client_id,
|
|
63
64
|
client_secret: @client_secret,
|
|
64
|
-
grant_type: 'client_credentials',
|
|
65
65
|
scope: @scopes.join(' ')
|
|
66
66
|
}
|
|
67
67
|
|
|
@@ -81,6 +81,7 @@ module CheckoutSdk
|
|
|
81
81
|
oauth_response = JSON.parse(response.body, object_class: OpenStruct)
|
|
82
82
|
|
|
83
83
|
@access_token = OAuthAccessToken.new(oauth_response.access_token,
|
|
84
|
+
oauth_response.token_type,
|
|
84
85
|
Time.now + oauth_response.expires_in)
|
|
85
86
|
end
|
|
86
87
|
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'checkout_sdk/onboarding_simulator/simulator_entity_status'
|
|
4
|
+
require 'checkout_sdk/onboarding_simulator/simulator_set_requirements_due_request'
|
|
5
|
+
require 'checkout_sdk/onboarding_simulator/simulator_set_status_request'
|
|
6
|
+
require 'checkout_sdk/onboarding_simulator/onboarding_simulator_client'
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module OnboardingSimulator
|
|
5
|
+
# Client for the Onboarding Simulator API (Sandbox only).
|
|
6
|
+
#
|
|
7
|
+
# All endpoints require OAuth with the `accounts` scope. Calling these
|
|
8
|
+
# endpoints in Production returns 404.
|
|
9
|
+
class OnboardingSimulatorClient < Client
|
|
10
|
+
SIMULATE = 'simulate'
|
|
11
|
+
ENTITIES = 'entities'
|
|
12
|
+
REQUIREMENTS_DUE = 'requirements-due'
|
|
13
|
+
SCENARIOS = 'scenarios'
|
|
14
|
+
STATUS = 'status'
|
|
15
|
+
private_constant :SIMULATE, :ENTITIES, :REQUIREMENTS_DUE, :SCENARIOS, :STATUS
|
|
16
|
+
|
|
17
|
+
# @param [ApiClient] api_client
|
|
18
|
+
# @param [CheckoutConfiguration] configuration
|
|
19
|
+
def initialize(api_client, configuration)
|
|
20
|
+
super(api_client, configuration, CheckoutSdk::AuthorizationType::OAUTH)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# Marks the specified requirement fields as due on an entity.
|
|
24
|
+
# @param [String] entity_id
|
|
25
|
+
# @param [Hash, SimulatorSetRequirementsDueRequest] request
|
|
26
|
+
def set_requirements_due(entity_id, request)
|
|
27
|
+
api_client.invoke_post(
|
|
28
|
+
build_path(SIMULATE, ENTITIES, entity_id, REQUIREMENTS_DUE),
|
|
29
|
+
sdk_authorization,
|
|
30
|
+
request
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Executes a pre-defined scenario against an entity.
|
|
35
|
+
# @param [String] entity_id
|
|
36
|
+
# @param [String] scenario_id
|
|
37
|
+
def run_scenario(entity_id, scenario_id)
|
|
38
|
+
api_client.invoke_post(
|
|
39
|
+
build_path(SIMULATE, ENTITIES, entity_id, SCENARIOS, scenario_id),
|
|
40
|
+
sdk_authorization
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Forces the entity to the specified status.
|
|
45
|
+
# @param [String] entity_id
|
|
46
|
+
# @param [Hash, SimulatorSetStatusRequest] request
|
|
47
|
+
def set_entity_status(entity_id, request)
|
|
48
|
+
api_client.invoke_post(
|
|
49
|
+
build_path(SIMULATE, ENTITIES, entity_id, STATUS),
|
|
50
|
+
sdk_authorization,
|
|
51
|
+
request
|
|
52
|
+
)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Returns all requirement fields that can be set as due on an entity.
|
|
56
|
+
def list_available_requirements
|
|
57
|
+
api_client.invoke_get(
|
|
58
|
+
build_path(SIMULATE, REQUIREMENTS_DUE),
|
|
59
|
+
sdk_authorization
|
|
60
|
+
)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Returns all pre-defined scenarios available.
|
|
64
|
+
def list_scenarios
|
|
65
|
+
api_client.invoke_get(
|
|
66
|
+
build_path(SIMULATE, SCENARIOS),
|
|
67
|
+
sdk_authorization
|
|
68
|
+
)
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module OnboardingSimulator
|
|
5
|
+
# Statuses accepted by POST /simulate/entities/{entityId}/status.
|
|
6
|
+
module SimulatorEntityStatus
|
|
7
|
+
DRAFT = 'draft'
|
|
8
|
+
REQUIREMENTS_DUE = 'requirements_due'
|
|
9
|
+
PENDING = 'pending'
|
|
10
|
+
ACTIVE = 'active'
|
|
11
|
+
RESTRICTED = 'restricted'
|
|
12
|
+
REJECTED = 'rejected'
|
|
13
|
+
INACTIVE = 'inactive'
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module OnboardingSimulator
|
|
5
|
+
# Request body for POST /simulate/entities/{entityId}/requirements-due.
|
|
6
|
+
#
|
|
7
|
+
# @!attribute fields
|
|
8
|
+
# @return [Array(String)] Requirement field paths to mark as due
|
|
9
|
+
# (e.g. ["individual.identification.document"]).
|
|
10
|
+
class SimulatorSetRequirementsDueRequest
|
|
11
|
+
attr_accessor :fields
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module OnboardingSimulator
|
|
5
|
+
# Request body for POST /simulate/entities/{entityId}/status.
|
|
6
|
+
#
|
|
7
|
+
# @!attribute status
|
|
8
|
+
# @return [String] {SimulatorEntityStatus}
|
|
9
|
+
class SimulatorSetStatusRequest
|
|
10
|
+
attr_accessor :status
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module PaymentMethods
|
|
5
|
+
# Client for the Payment Methods configuration API.
|
|
6
|
+
# GET /payment-methods returns the configured payment methods for a processing channel.
|
|
7
|
+
class PaymentMethodsClient < Client
|
|
8
|
+
PAYMENT_METHODS = 'payment-methods'
|
|
9
|
+
private_constant :PAYMENT_METHODS
|
|
10
|
+
|
|
11
|
+
# @param [ApiClient] api_client
|
|
12
|
+
# @param [CheckoutConfiguration] configuration
|
|
13
|
+
def initialize(api_client, configuration)
|
|
14
|
+
super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Get available payment methods.
|
|
18
|
+
# @param [Hash, PaymentMethodsQuery] payment_methods_query
|
|
19
|
+
def get_payment_methods(payment_methods_query)
|
|
20
|
+
api_client.invoke_get(PAYMENT_METHODS, sdk_authorization, payment_methods_query)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module PaymentMethods
|
|
5
|
+
# Query params for GET /payment-methods.
|
|
6
|
+
#
|
|
7
|
+
# @!attribute processing_channel_id
|
|
8
|
+
# @return [String] (required) Pattern: ^(pc)_(\w{26})$
|
|
9
|
+
class PaymentMethodsQuery
|
|
10
|
+
attr_accessor :processing_channel_id
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Payments
|
|
5
|
+
# Request body for POST /applepay/certificates.
|
|
6
|
+
#
|
|
7
|
+
# @!attribute content
|
|
8
|
+
# @return [String] PEM-encoded certificate content.
|
|
9
|
+
class ApplePayCertificateRequest
|
|
10
|
+
attr_accessor :content
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Payments
|
|
5
|
+
# Client for the Apple Pay endpoints.
|
|
6
|
+
class ApplePayClient < Client
|
|
7
|
+
APPLEPAY = 'applepay'
|
|
8
|
+
CERTIFICATES = 'certificates'
|
|
9
|
+
ENROLLMENTS = 'enrollments'
|
|
10
|
+
SIGNING_REQUESTS = 'signing-requests'
|
|
11
|
+
private_constant :APPLEPAY, :CERTIFICATES, :ENROLLMENTS, :SIGNING_REQUESTS
|
|
12
|
+
|
|
13
|
+
# @param [ApiClient] api_client
|
|
14
|
+
# @param [CheckoutConfiguration] configuration
|
|
15
|
+
def initialize(api_client, configuration)
|
|
16
|
+
super(api_client, configuration, CheckoutSdk::AuthorizationType::PUBLIC_KEY)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Upload a payment processing certificate. Public key auth per swagger.
|
|
20
|
+
# @param [Hash, ApplePayCertificateRequest] certificate_request
|
|
21
|
+
def upload_certificate(certificate_request)
|
|
22
|
+
api_client.invoke_post(build_path(APPLEPAY, CERTIFICATES),
|
|
23
|
+
sdk_authorization,
|
|
24
|
+
certificate_request)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Enroll a domain to the Apple Pay Service. OAuth required.
|
|
28
|
+
# @param [Hash, ApplePayEnrollmentRequest] enrollment_request
|
|
29
|
+
def enroll_domain(enrollment_request)
|
|
30
|
+
api_client.invoke_post(build_path(APPLEPAY, ENROLLMENTS),
|
|
31
|
+
sdk_authorization(CheckoutSdk::AuthorizationType::OAUTH),
|
|
32
|
+
enrollment_request)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Generate a certificate signing request. Public key auth per swagger.
|
|
36
|
+
# @param [Hash, ApplePaySigningRequest] signing_request
|
|
37
|
+
def generate_signing_request(signing_request)
|
|
38
|
+
api_client.invoke_post(build_path(APPLEPAY, SIGNING_REQUESTS),
|
|
39
|
+
sdk_authorization,
|
|
40
|
+
signing_request)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Payments
|
|
5
|
+
# Request body for POST /applepay/enrollments.
|
|
6
|
+
#
|
|
7
|
+
# @!attribute domain
|
|
8
|
+
# @return [String] Domain to enroll with Apple Pay.
|
|
9
|
+
class ApplePayEnrollmentRequest
|
|
10
|
+
attr_accessor :domain
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Payments
|
|
5
|
+
# Request body for POST /applepay/signing-requests.
|
|
6
|
+
#
|
|
7
|
+
# @!attribute protocol_version
|
|
8
|
+
# @return [String] CSR protocol version.
|
|
9
|
+
class ApplePaySigningRequest
|
|
10
|
+
attr_accessor :protocol_version
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Payments
|
|
5
|
+
# @!attribute account_holder
|
|
6
|
+
# @return [CheckoutSdk::Common::AccountHolder]
|
|
7
|
+
# @!attribute store_payment_details
|
|
8
|
+
# @return [String] {StorePaymentDetailsType}
|
|
9
|
+
class Applepay
|
|
10
|
+
attr_accessor :account_holder,
|
|
11
|
+
:store_payment_details
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -51,6 +51,25 @@ module CheckoutSdk
|
|
|
51
51
|
reverse_request,
|
|
52
52
|
idempotency_key)
|
|
53
53
|
end
|
|
54
|
+
|
|
55
|
+
# Search payments. POST /payments/search.
|
|
56
|
+
# @param [Hash, PaymentsSearchRequest] search_request
|
|
57
|
+
def search_payments(search_request)
|
|
58
|
+
api_client.invoke_post(build_path(PAYMENTS_PATH, 'search'),
|
|
59
|
+
sdk_authorization,
|
|
60
|
+
search_request)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Cancel a scheduled retry. POST /payments/{id}/cancellations.
|
|
64
|
+
# @param [String] payment_id
|
|
65
|
+
# @param [Hash, CancellationRequest] cancellation_request
|
|
66
|
+
# @param [String, nil] idempotency_key
|
|
67
|
+
def cancel_payment(payment_id, cancellation_request = nil, idempotency_key = nil)
|
|
68
|
+
api_client.invoke_post(build_path(PAYMENTS_PATH, payment_id, 'cancellations'),
|
|
69
|
+
sdk_authorization,
|
|
70
|
+
cancellation_request,
|
|
71
|
+
idempotency_key)
|
|
72
|
+
end
|
|
54
73
|
end
|
|
55
74
|
end
|
|
56
75
|
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CheckoutSdk
|
|
4
|
+
module Payments
|
|
5
|
+
# Request body for POST /payments/{id}/cancellations.
|
|
6
|
+
#
|
|
7
|
+
# @!attribute reference
|
|
8
|
+
# @return [String] Optional merchant reference (max 80 chars).
|
|
9
|
+
class CancellationRequest
|
|
10
|
+
attr_accessor :reference
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
module CheckoutSdk
|
|
4
4
|
module Payments
|
|
5
|
+
# @!attribute account_holder
|
|
6
|
+
# @return [CheckoutSdk::Common::AccountHolder]
|
|
5
7
|
# @!attribute store_payment_details
|
|
6
8
|
# @return [String] {StorePaymentDetailsType}
|
|
7
9
|
class Card
|
|
8
|
-
attr_accessor :
|
|
10
|
+
attr_accessor :account_holder,
|
|
11
|
+
:store_payment_details
|
|
9
12
|
end
|
|
10
13
|
end
|
|
11
14
|
end
|
|
@@ -8,7 +8,7 @@ module CheckoutSdk
|
|
|
8
8
|
# @param [ApiClient] api_client
|
|
9
9
|
# @param [CheckoutConfiguration] configuration
|
|
10
10
|
def initialize(api_client, configuration)
|
|
11
|
-
super
|
|
11
|
+
super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
# @param [Hash] payment_contexts
|